適用於 Azure Functions 2.x 和更新版本的 Azure Cosmos DB 觸發程序與繫結概觀

這一系列文章說明如何在 Azure Functions 2.x 和更新版本中使用 Azure Cosmos DB 繫結。 Azure Functions 支援適用於 Azure Cosmos DB 的觸發程序、輸入和輸出繫結。

動作 類型
建立或修改 Azure Cosmos DB 文件時,請執行函式 觸發程序
讀取 Azure Cosmos DB 文件 輸入繫結
將變更儲存至 Azure Cosmos DB 文件 輸出繫結

注意

此參考適用於 Azure Functions 2.x 版和更新版本。 如需如何在 Functions 1.x 中使用這些繫結的詳細資訊,請參閱適用於 Azure Functions 1.x 的 Azure Cosmos DB 繫結

這個繫結最初命名為 DocumentDB。 在 Azure Functions 2.x 版和更新版本中,觸發程式、系結和套件全都命名為 Azure Cosmos DB。

支援的 API

Azure Cosmos DB 系結僅支援與適用于 NoSQL 的 Azure Cosmos DB 搭配使用。 從延伸模組 5.x 開始,使用 資料表儲存體系結來提供 Azure Cosmos DB for Table 的支援。 針對所有其他 Azure Cosmos DB API,您應該使用 API 的靜態用戶端從函式存取資料庫,包括 適用于 MongoDB 的 Azure Cosmos DB適用于 Cassandra 的 Azure Cosmos DB,以及 適用于 Apache Gremlin 的 Azure Cosmos DB

安裝擴充功能

您安裝的 NuGet 套件擴充取決於您在函數應用程式中使用的 C# 模式:

函式會在與 Azure Functions 主機相同的處理序中執行。 若要深入了解,請參閱使用 Azure Functions 開發 C# 類別庫函式

安裝流程會根據擴充版本而有所不同:

您需要參考適當的 NuGet 套件才能使用觸發程序和繫結。 安裝 NuGet 套件 3.x 版。

安裝搭售方案

Azure Cosmos DB 系結延伸模組是 延伸模組套件組合的一部分,其指定于 host.json 專案檔中。 您可能需要修改此搭售方案來變更繫結的版本,否則就是搭售方案尚未安裝。 若要深入了解,請參閱擴充搭售方案

您可以藉由註冊延伸模組套件組合 2.x 或 3.x 版,在函數應用程式中安裝此版本的延伸模組。

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

由於 Azure Cosmos DB SDK 中的結構描述變更,Azure Cosmos DB 延伸模組 4.x 版目前不支援 Java 函式。

您可以在 host.json 檔案中新增或取代下列程式碼,以從預覽延伸模組套件組合 v4 中新增此版本的延伸模組:

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.0.0, 5.0.0)"
  }
}

若要深入了解,請參閱更新您的延伸模組


例外狀況和傳回碼

繫結 參考
Azure Cosmos DB Azure Cosmos DB 的 HTTP 狀態碼

host.json 設定

本區段說明在 2.x 版本和更新版本中,可用於此繫結的組態設定。 host.json 檔案中的設定會套用至所有函數應用程式執行個體中的函式。 下面的範例 host.json 檔案僅包含此繫結的 2.x+ 版本設定。 如需 2.x 版本和更新版本中函數應用程式組態設定的詳細資訊,請參閱 Azure Functions 的 host.json 參考

{
    "version": "2.0",
    "extensions": {
        "cosmosDB": {
            "connectionMode": "Gateway",
            "protocol": "Https",
            "leaseOptions": {
                "leasePrefix": "prefix1"
            }
        }
    }
}
屬性 預設 描述
connectionMode Gateway 連線到 Azure Cosmos DB 服務時函式所使用的連線模式。 選項為 DirectGateway
protocol Https 連線到 Azure Cosmos DB 服務時函式所使用的連線通訊協定。 請參閱此處以了解這兩種模式
leasePrefix n/a 要在應用程式的所有函式上使用的租用前置詞。

後續步驟