快速入門:搭配 NoSQL 使用數據 API 產生器
在本快速入門中,您會建置一組數據 API 產生器組態檔,以以適用於 NoSQL 的 Azure Cosmos DB 模擬器為目標。
必要條件
- Docker
- .NET 8
- 數據管理用戶端
- 如果您沒有安裝用戶端, 請安裝 Azure Data Studio
提示
或者,在 GitHub Codespaces 中開啟本快速入門,並已安裝所有開發人員必要條件。 只要攜帶您自己的 Azure 訂用帳戶即可。 GitHub 帳戶包含記憶體的權利和核心時數,不收費。 如需詳細資訊,請參閱 GitHub 帳戶的內含記憶體和核心時數。
安裝資料 API 產生器 CLI
Microsoft.DataApiBuilder
從 NuGet 安裝套件作為 .NET 工具。
使用 來
dotnet tool install
安裝具有--global
自變數的Microsoft.DataApiBuilder
最新版本。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==;
。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 檔案, 然後使用匯入 功能。
建立組態檔
使用 DAB CLI Create 基準組態檔。 然後,使用您目前的認證新增開發組態檔。
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==;"
使用
dab add
新增 Author 實體。dab add Author --source "authors" --permissions "anonymous:*"
使用本機資料庫測試 API
現在,啟動 Data 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。