Поделиться через


Краткое руководство. Использование построителя API данных с NoSQL

В этом кратком руководстве вы создадите набор файлов конфигурации построителя API данных для эмулятора Azure Cosmos DB для NoSQL.

Предварительные требования

Совет

Кроме того, откройте это краткое руководство в GitHub Codespaces со всеми уже установленными предварительными условиями для разработчиков. Просто используйте собственную подписку Azure. Учетные записи GitHub включают в себя право на хранение и базовые часы бесплатно. Дополнительные сведения см. в разделе Включенные часы хранения и основные часы для учетных записей GitHub.

Открыть в GitHub Codespaces

Установка интерфейса командной строки построителя API данных

Microsoft.DataApiBuilder Установите пакет из NuGet в качестве средства .NET.

  1. Используйте dotnet tool install для установки последней Microsoft.DataApiBuilder версии с аргументом --global .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Примечание

    Если пакет уже установлен, обновите его с помощью dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Убедитесь, что средство установлено с dotnet tool list помощью аргумента --global .

    dotnet tool list --global
    

Настройка локальной базы данных

Начните с запуска локального эмулятора. Затем можно заполнить новый контейнер примерами данных.

  1. Получите последнюю копию mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest образа контейнера из Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Запустите контейнер Docker, опубликовав порт 8081 и диапазон портов 10250–10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Скачивание самозаверяющего сертификата для эмулятора

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Установите самозаверяющий сертификат, выполнив шаги Bash для Linux или шаги PowerShell для Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Подключитесь к локальной базе данных с помощью предпочитаемой среды управления данными. Примеры: Azure Data Studio и расширение "Базы данных Azure" для Visual Studio Code.

    Совет

    По умолчанию для эмулятора используется AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;строка подключения .

  6. Create новую bookshelf базу данных и authors контейнер.

  7. Заполнение контейнера базовыми данными JSON.

    [
      {
        "id": "01",
        "firstName": "Henry",
        "lastName": "Ross"
      },
      {
        "id": "02",
        "firstName": "Jacob",
        "middleName": "A.",
        "lastName": "Hancock"
      },
      {
        "id": "03",
        "firstName": "Sydney",
        "lastName": "Mattos"
      },
      {
        "id": "04",
        "firstName": "Jordan",
        "lastName": "Mitchell"
      },
      {
        "id": "05",
        "firstName": "Victoria",
        "lastName": "Burke"
      },
      {
        "id": "06",
        "firstName": "Vance",
        "lastName": "DeLeon"
      },
      {
        "id": "07",
        "firstName": "Reed",
        "lastName": "Flores"
      },
      {
        "id": "08",
        "firstName": "Felix",
        "lastName": "Henderson"
      },
      {
        "id": "09",
        "firstName": "Avery",
        "lastName": "Howard"
      },
      {
        "id": "10",
        "firstName": "Violet",
        "lastName": "Martinez"
      }
    ]
    

    Совет

    Метод, используемый для заполнения данных, в значительной степени зависит от средства управления данными. Для Azure Data Studio этот массив JSON можно сохранить в виде файла .json , а затем использовать функцию импорта .

файлы конфигурации Create

Create файл базовой конфигурации с помощью ИНТЕРФЕЙСА командной строки DAB. Затем добавьте файл конфигурации разработки с текущими учетными данными.

  1. Create новый файл с именем schema.graphql с содержимым этой схемы.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create типичный файл конфигурации с помощью dab init. --connection-string Добавьте аргумент с строка подключения эмулятора по умолчанию.

    dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.graphql --connection-string "AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
    
  3. Добавьте сущность Author с помощью dab add.

    dab add Author --source "authors" --permissions "anonymous:*"
    

Тестирование API с локальной базой данных

Теперь запустите построитель API данных, чтобы убедиться, что файлы конфигурации объединены во время разработки.

  1. Используйте dab start для запуска средства и создания конечных точек API для сущности.

    dab start
    
  2. Выходные данные средства должны содержать адрес, используемый для перехода к работающему API.

          Successfully completed runtime initialization.
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: <http://localhost:5000>
    info: Microsoft.Hosting.Lifetime[0]
    

    Совет

    В этом примере приложение выполняется localhost на порту 5000. У работающего приложения может быть другой адрес и порт.

  3. Перейдите к конечной точке GraphQL, перейдя к /graphql и выполнив эту операцию.

    query {
      authors {
        items {
          id
          firstName
          lastName
        }
      }
    }
    

    Совет

    В этом примере URL-адрес будет иметь значение https://localhost:5000/graphql. Вы можете перейти по этому URL-адресу в веб-браузере.

Следующий шаг