Краткое руководство. Использование построителя API данных с NoSQL
В этом кратком руководстве вы создадите набор файлов конфигурации построителя API данных для эмулятора Azure Cosmos DB для NoSQL.
Предварительные требования
- Docker
- .NET 8
- Клиент управления данными
- Если у вас не установлен клиент, установите Azure Data Studio.
Совет
Кроме того, откройте это краткое руководство в GitHub Codespaces со всеми уже установленными предварительными условиями для разработчиков. Просто используйте собственную подписку Azure. Учетные записи GitHub включают в себя право на хранение и базовые часы бесплатно. Дополнительные сведения см. в разделе Включенные часы хранения и основные часы для учетных записей GitHub.
Установка интерфейса командной строки построителя API данных
Microsoft.DataApiBuilder
Установите пакет из NuGet в качестве средства .NET.
Используйте
dotnet tool install
для установки последнейMicrosoft.DataApiBuilder
версии с аргументом--global
.dotnet tool install --global Microsoft.DataApiBuilder
Примечание
Если пакет уже установлен, обновите его с помощью
dotnet tool update
.dotnet tool update --global Microsoft.DataApiBuilder
Убедитесь, что средство установлено с
dotnet tool list
помощью аргумента--global
.dotnet tool list --global
Настройка локальной базы данных
Начните с запуска локального эмулятора. Затем можно заполнить новый контейнер примерами данных.
Получите последнюю копию
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
образа контейнера из Docker Hub.docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Запустите контейнер Docker, опубликовав порт 8081 и диапазон портов 10250–10255.
docker run \ --publish 8081:8081 \ --publish 10250-10255:10250-10255 \ --detach \ mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
Скачивание самозаверяющего сертификата для эмулятора
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
Установите самозаверяющий сертификат, выполнив шаги Bash для Linux или шаги PowerShell для Windows.
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
Подключитесь к локальной базе данных с помощью предпочитаемой среды управления данными. Примеры: Azure Data Studio и расширение "Базы данных Azure" для Visual Studio Code.
Совет
По умолчанию для эмулятора используется
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
строка подключения .Create новую
bookshelf
базу данных иauthors
контейнер.Заполнение контейнера базовыми данными 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. Затем добавьте файл конфигурации разработки с текущими учетными данными.
Create новый файл с именем schema.graphql с содержимым этой схемы.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
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==;"
Добавьте сущность Author с помощью
dab add
.dab add Author --source "authors" --permissions "anonymous:*"
Тестирование API с локальной базой данных
Теперь запустите построитель API данных, чтобы убедиться, что файлы конфигурации объединены во время разработки.
Используйте
dab start
для запуска средства и создания конечных точек API для сущности.dab start
Выходные данные средства должны содержать адрес, используемый для перехода к работающему API.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Совет
В этом примере приложение выполняется
localhost
на порту 5000. У работающего приложения может быть другой адрес и порт.Перейдите к конечной точке GraphQL, перейдя к
/graphql
и выполнив эту операцию.query { authors { items { id firstName lastName } } }
Совет
В этом примере URL-адрес будет иметь значение
https://localhost:5000/graphql
. Вы можете перейти по этому URL-адресу в веб-браузере.