在這個快速入門中,你會建立一組 Data API 建構器設定檔,目標是針對 Azure Cosmos DB for NoSQL 模擬器。
先決條件
- Docker
- .NET 8
小提示
或者,您可以在 GitHub Codespaces 中開啟此快速入門指引,所有開發者的前置條件已經預先安裝完畢。 只要帶上你自己的 Azure 訂閱即可。 GitHub 帳號可免費享有儲存空間和核心時數的權利。 欲了解更多資訊,請參閱GitHub 帳戶的包含儲存空間與核心時數。
安裝資料 API 產生器 CLI
安裝 NuGet 的 Microsoft.DataApiBuilder 套件作為.NET工具。
使用 並添加 參數來安裝最新版本的 。
dotnet tool install --global Microsoft.DataApiBuilder備註
如果已安裝套件,請使用 來更新套件。
dotnet tool update --global Microsoft.DataApiBuilder使用 並透過 參數確認工具已安裝。
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-certificatescertutil -f -addstore "Root" emulatorcert.crt使用您慣用的數據管理環境連線到本機資料庫。 範例包括但不限於:Azure 資料庫擴充功能用於Visual Studio Code。
小提示
預設的模擬器連接字串是
AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==。建立新的 資料庫和 容器。
使用這個基本 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" } ]
建立組態檔
使用 DAB CLI 建立基準組態檔。 然後,使用您目前的認證來新增開發組態檔。
建立一個名為 schema.gql 的新檔案,裡面有這個結構內容。
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }備註
在這個例子中, 並未指定一個 參數。 當 省略 時,DAB 會將 GraphQL 類型名稱()映射為實體名稱()。 名稱必須完全一致且大小寫區分。
使用 建立一般組態檔。 將
--connection-string參數加入模擬器的預設連接字串。dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.gql --connection-string "AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw=="使用 新增 實體。
dab add Author --source "authors" --permissions "anonymous:*"
使用本機資料庫測試 API
現在,啟動 Data API 產生器工具,以驗證您的組態檔在開發期間是否合併。
使用 來執行工具,併為您的實體建立 API 端點。
dab start工具的輸出應該包含用來巡覽至執行中 API 的位址。
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]小提示
在此範例中,應用程式在埠 上執行。 執行中的應用程式可能有不同的位址和埠。
請導航至 並執行此操作,以訪問 GraphQL 端點。
在查詢 GraphQL 之前,你可以透過開啟根端點()來驗證啟動。 健康的回應包括 、 、 和等領域。
query { authors { items { id firstName lastName } } }小提示
在此範例中,網址為 。
因為這個快速啟動會用 瀏覽器導航來 開啟 Nitro。 在生產模式下,Nitro 不會出現在瀏覽器的導航中去往特定目的地。
後續步驟
相關內容
- 為 Azure Cosmos DB 的 NoSQL 設定資料 API 構建器
- Data API 建構器的功能可用性