빠른 시작: NoSQL에서 데이터 API 작성기 사용
이 빠른 시작에서는 Azure Cosmos DB for NoSQL 에뮬레이터를 대상으로 하는 데이터 API 작성기 구성 파일 집합을 빌드합니다.
사전 요구 사항
- Docker
- .NET 8
- 데이터 관리 클라이언트
- 클라이언트가 설치되지 않은 경우 Azure Data Studio를 설치합니다.
팁
또는 모든 개발자 필수 구성 요소가 이미 설치된 GitHub Codespaces에서 이 빠른 시작을 엽니다. 사용자 고유의 Azure 구독을 가져오기만 하면 됩니다. GitHub 계정에는 비용 없이 스토리지 및 코어 시간의 자격이 포함됩니다. 자세한 내용은 포함된 스토리지 및 GitHub 계정의 코어 시간을 참조하세요.
Data API Builder CLI 설치
Microsoft.DataApiBuilder
NuGet에서 패키지를 .NET 도구로 설치합니다.
인수를 사용하여 의 최신 버전을
Microsoft.DataApiBuilder
설치하는 데--global
사용합니다dotnet tool install
.dotnet tool install --global Microsoft.DataApiBuilder
참고
패키지가 이미 설치된 경우 을 사용하여
dotnet tool update
패키지를 업데이트합니다.dotnet tool update --global Microsoft.DataApiBuilder
인수를 사용하여 도구가 설치되어
dotnet tool list
있는지 확인합니다--global
.dotnet tool list --global
로컬 데이터베이스 구성
로컬 에뮬레이터를 실행하여 시작합니다. 그런 다음 샘플 데이터를 사용하여 새 컨테이너를 시드할 수 있습니다.
Docker Hub 컨테이너 이미지의
mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
최신 복사본을 가져옵니다.docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
포트 8081 및 포트 범위 10250-10255를 게시하여 Docker 컨테이너를 시작합니다.
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
Linux용 Bash 단계 또는 Windows용 PowerShell 단계를 사용하여 자체 서명된 인증서를 설치합니다.
sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates
certutil -f -addstore "Root" emulatorcert.crt
원하는 데이터 관리 환경을 사용하여 로컬 데이터베이스에 연결합니다. 예를 들어 Azure Data Studio 및 Visual Studio Code 대한 Azure Databases 확장이 있지만 이에 국한되지 않습니다.
팁
에뮬레이터의 기본 연결 문자열 입니다
AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;
.새
bookshelf
데이터베이스 및authors
컨테이너를 Create.이 기본 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 파일로 저장한 다음 가져오기 기능을 사용할 수 있습니다.
구성 파일 만들기
DAB CLI를 사용하여 기준 구성 파일을 Create. 그런 다음, 현재 자격 증명을 사용하여 개발 구성 파일을 추가합니다.
이 스키마 콘텐츠와 함께 schema.graphql이라는 새 파일을 Create.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
를 사용하여
dab init
일반적인 구성 파일을 Create.--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]
팁
이 예제에서 애플리케이션은 포트 5000에서 실행됩니다
localhost
. 실행 중인 애플리케이션의 주소와 포트가 다를 수 있습니다.이 작업을 탐색하고 실행하여 GraphQL 엔드포인트로
/graphql
이동합니다.query { authors { items { id firstName lastName } } }
팁
이 예제에서 URL은 입니다
https://localhost:5000/graphql
. 웹 브라우저를 사용하여 이 URL로 이동할 수 있습니다.