共用方式為


Microsoft.DocumentDB 資料庫Accounts 2023-09-15-preview

Bicep 資源定義

databaseAccounts 資源類型可以使用目標作業進行部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

資源格式

若要建立 Microsoft.DocumentDB/databaseAccounts 資源,請將下列 Bicep 新增至您的範本。

resource symbolicname 'Microsoft.DocumentDB/databaseAccounts@2023-09-15-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  kind: 'string'
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  properties: {
    analyticalStorageConfiguration: {
      schemaType: 'string'
    }
    apiProperties: {
      serverVersion: 'string'
    }
    backupPolicy: {
      migrationState: {
        startTime: 'string'
        status: 'string'
        targetType: 'string'
      }
      type: 'string'
      // For remaining properties, see BackupPolicy objects
    }
    capabilities: [
      {
        name: 'string'
      }
    ]
    capacity: {
      totalThroughputLimit: int
    }
    connectorOffer: 'Small'
    consistencyPolicy: {
      defaultConsistencyLevel: 'string'
      maxIntervalInSeconds: int
      maxStalenessPrefix: int
    }
    cors: [
      {
        allowedHeaders: 'string'
        allowedMethods: 'string'
        allowedOrigins: 'string'
        exposedHeaders: 'string'
        maxAgeInSeconds: int
      }
    ]
    createMode: 'string'
    customerManagedKeyStatus: 'string'
    databaseAccountOfferType: 'Standard'
    defaultIdentity: 'string'
    defaultPriorityLevel: 'string'
    diagnosticLogSettings: {
      enableFullTextQuery: 'string'
    }
    disableKeyBasedMetadataWriteAccess: bool
    disableLocalAuth: bool
    enableAnalyticalStorage: bool
    enableAutomaticFailover: bool
    enableBurstCapacity: bool
    enableCassandraConnector: bool
    enableFreeTier: bool
    enableMaterializedViews: bool
    enableMultipleWriteLocations: bool
    enablePartitionMerge: bool
    enablePriorityBasedExecution: bool
    ipRules: [
      {
        ipAddressOrRange: 'string'
      }
    ]
    isVirtualNetworkFilterEnabled: bool
    keyVaultKeyUri: 'string'
    locations: [
      {
        failoverPriority: int
        isZoneRedundant: bool
        locationName: 'string'
      }
    ]
    minimalTlsVersion: 'string'
    networkAclBypass: 'string'
    networkAclBypassResourceIds: [
      'string'
    ]
    publicNetworkAccess: 'string'
    restoreParameters: {
      databasesToRestore: [
        {
          collectionNames: [
            'string'
          ]
          databaseName: 'string'
        }
      ]
      gremlinDatabasesToRestore: [
        {
          databaseName: 'string'
          graphNames: [
            'string'
          ]
        }
      ]
      restoreMode: 'PointInTime'
      restoreSource: 'string'
      restoreTimestampInUtc: 'string'
      sourceBackupLocation: 'string'
      tablesToRestore: [
        'string'
      ]
    }
    virtualNetworkRules: [
      {
        id: 'string'
        ignoreMissingVNetServiceEndpoint: bool
      }
    ]
  }
}

BackupPolicy 物件

設定 type 屬性以指定物件的類型。

針對 [連續],請使用:

  type: 'Continuous'
  continuousModeProperties: {
    tier: 'string'
  }

針對 定期,請使用:

  type: 'Periodic'
  periodicModeProperties: {
    backupIntervalInMinutes: int
    backupRetentionIntervalInHours: int
    backupStorageRedundancy: 'string'
  }

屬性值

databaseAccounts

名稱 描述
NAME 資源名稱 需要字串 ()

字元限制:3-44

合法字元:
小寫字母、數字和連字號。

以小寫字母或數字開頭。

資源名稱在整個 Azure 中必須是唯一的。
location 資源所屬之資源群組的位置。 字串
tags 標記是描述資源的索引鍵/值組清單。 這些標記可用來在資源群組間檢視資源,以及對資源分組。 資源最多可提供15個標記。 每個標記的金鑰都不得多於 128 個字元,值則不得多於 256 個字元。 例如,範本類型的默認體驗會設定為 「defaultExperience」:“Cassandra” 目前的 「defaultExperience」 值也包括 「Table」、“Graph”、“DocumentDB” 和 “MongoDB”。 標記名稱和值的字典。 請參閱 範本中的標籤
kind 指出資料庫帳戶的類型。 這隻能在資料庫帳戶建立時設定。 'GlobalDocumentDB'
'MongoDB'
'Parse'
身分識別 資源的身分識別。 ManagedServiceIdentity
properties 用來建立和更新 Azure Cosmos DB 資料庫帳戶的屬性。 DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou... 必要 ()

ManagedServiceIdentity

名稱 描述
類型 用於資源的身分識別類型。 類型 'SystemAssigned,UserAssigned' 同時包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities 與資源相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} Components1Jq1T4ISchemasManagedserviceidentityProper...

Components1Jq1T4ISchemasManagedserviceidentityProper...

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou...

名稱 描述
分析StorageConfiguration 分析記憶體特定屬性。 分析StorageConfiguration
apiProperties API 特定屬性。 目前僅支援 MongoDB API。 ApiProperties
backupPolicy 物件,表示在帳戶上建立備份的原則。 BackupPolicy
capabilities 帳戶的 Cosmos DB 功能清單 Capability[]
處理能力 物件,表示帳戶上與容量強制執行相關的所有屬性。 容量
connectorOffer cassandra 連接器提供 Cosmos DB 資料庫 C* 帳戶的類型。 'Small'
consistencyPolicy Cosmos DB 帳戶的一致性原則。 ConsistencyPolicy
cors Cosmos DB 資料庫帳戶的 CORS 原則。 CorsPolicy[]
createMode 列舉,表示帳戶建立模式。 'Default'
'PointInTimeRestore'
'Restore'
customerManagedKeyStatus 指出帳戶上客戶管理金鑰功能的狀態。 如果發生錯誤,屬性會提供疑難解答指引。 「已確認存取已設定的客戶管理金鑰。」
「您帳戶的存取權目前已撤銷,因為 Azure Cosmos DB 帳戶具有未定義的預設身分識別;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#invalid-azure-cosmos-db-default-identity (4015) 。」
「您帳戶的存取權目前已撤銷,因為 Azure Cosmos DB 帳戶的密鑰保存庫密鑰 URI 不符合預期的格式;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#improper-syntax-detected-on-the-key-vault-uri-property (4006) 。」
「您帳戶的存取權目前已撤銷,因為 Azure Cosmos DB 服務無法取得帳戶預設身分識別的 AAD 驗證令牌;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-active-directory-token-acquisition-error (4000) 。」
「存取您的帳戶目前已撤銷,因為 Azure Cosmos DB 服務無法包裝或解除包裝密鑰;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#internal-unwrapping-procedure-error (4005) 。」
「帳戶的存取權目前已撤銷,因為無法解析帳戶的keyvaultkeyuri屬性所指定的 Azure Key Vault DNS 名稱;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#unable-to-resolve-the-key-vaults-dns (4009) 。」
「存取您的帳戶目前已撤銷,因為存取規則封鎖對 Azure Key Vault 服務的輸出要求;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide (4016) 。」
「目前已撤銷您帳戶的存取權,因為找不到對應的 Azure Key Vault;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4017) 。」
「您的帳戶存取權目前已撤銷,因為指定的 Key Vault 上找不到對應的密鑰;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4003) 。」
「目前已撤銷您帳戶的存取權,因為目前的預設身分識別不再具有相關聯 Key Vault 金鑰的許可權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#default-identity-is-unauthorized-to-access-the-azure-key-vault-key (4002) 。」
「您帳戶的存取權目前已撤銷;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide'
databaseAccountOfferType 資料庫的供應項目類型 「標準」 (必要)
defaultIdentity 用來存取客戶受控金鑰等功能中使用的金鑰保存庫的預設身分識別。 用戶必須明確設定預設身分識別。 它可以是 “FirstPartyIdentity”、“SystemAssignedIdentity” 等等。 字串
defaultPriorityLevel 列舉,表示優先順序型執行要求的預設優先順序層級。 'High'
'Low'
diagnosticLogSettings 物件,代表Cosmos DB帳戶的不同診斷記錄設定。 DiagnosticLogSettings
disableKeyBasedMetadataWriteAccess 透過帳戶金鑰停用元數據資源的寫入作業 (資料庫、容器、輸送量) bool
disableLocalAuth 退出宣告本機驗證,並確保只能使用 MSI 和 AAD 進行驗證。 bool
enableAnalyticalStorage 旗標,指出是否要啟用記憶體分析。 bool
enableAutomaticFailover 在罕見的情況下,啟用寫入區域的自動故障轉移,因為發生中斷而無法使用。 自動故障轉移會導致帳戶的新寫入區域,並根據為帳戶設定的故障轉移優先順序來選擇。 bool
enableBurstCapacity 旗標,指出在帳戶上啟用/停用高載容量預覽功能 bool
enableCassandraConnector 在 Cosmos DB C* 帳戶上啟用 cassandra 連接器 bool
enableFreeTier 旗標,指出是否已啟用免費層。 bool
enableMaterializedViews 旗標,指出是否要在Cosmos DB帳戶上啟用MaterializedViews bool
enableMultipleWriteLocations 讓帳戶能夠在多個位置寫入 bool
enablePartitionMerge 表示在帳戶上啟用/停用數據分割合併功能的旗標 bool
enablePriorityBasedExecution 旗標,指出在帳戶上啟用/停用優先順序型執行預覽功能 bool
ipRules IpRules 的清單。 IpAddressOrRange[]
isVirtualNetworkFilterEnabled 旗標,指出是否要啟用/停用虛擬網路 ACL 規則。 bool
keyVaultKeyUri 金鑰保存庫的 URI 字串
位置 數位,其中包含針對Cosmos DB帳戶啟用的地理複製位置。 Location[] (必要)
minimalTlsVersion 指出允許的 Tls 版本下限。 默認值為 Tls 1.0,但 Cassandra 和 Mongo API 除外,其僅適用於 Tls 1.2。 'Tls'
'Tls11'
'Tls12'
networkAclBypass 指出允許哪些服務略過防火牆檢查。 'AzureServices'
'None'
networkAclBypassResourceIds 數位,其中包含Cosmos DB帳戶的網路 Acl 略過資源識別碼。 string[]
publicNetworkAccess 是否允許來自公用網路的要求 'Disabled'
'Enabled'
'SecuredByPerimeter'
restoreParameters 用來指出還原相關信息的參數。 RestoreParameters
virtualNetworkRules 為 Cosmos DB 帳戶設定的虛擬網路 ACL 規則清單。 VirtualNetworkRule[]

AnalyticalStorageConfiguration

名稱 描述
schemaType 描述分析記憶體的架構類型。 'FullFidelity'
'WellDefined'

ApiProperties

名稱 描述
serverVersion 描述 MongoDB 帳戶的 ServerVersion。 '3.2'
'3.6'
'4.0'
'4.2'

BackupPolicy

名稱 描述
migrationState 物件,表示備份原則之間的移轉狀態。 BackupPolicyMigrationState
類型 設定物件類型 連續
需要定期 ()

BackupPolicyMigrationState

名稱 描述
startTime 備份原則移轉開始的時間 (ISO-8601 格式) 。 字串
status 描述備份原則類型之間的移轉狀態。 'Completed'
'Failed'
'InProgress'
'Invalid'
targetType 描述備份原則移轉的目標備份原則類型。 'Continuous'
'Periodic'

ContinuousModeBackupPolicy

名稱 描述
類型 描述備份模式。 需要 'Continuous' ()
continuousModeProperties 連續模式備份的組態值 ContinuousModeProperties

ContinuousModeProperties

名稱 描述
tier 列舉以指出 Continuos 備份模式的類型 'Continuous30Days'
'Continuous7Days'

PeriodicModeBackupPolicy

名稱 描述
類型 描述備份模式。 「定期」 (必要)
periodicModeProperties 定期模式備份的組態值 PeriodicModeProperties

PeriodicModeProperties

名稱 描述
backupIntervalInMinutes 整數,表示兩個備份之間以分鐘為單位的間隔 int

約束:
最小值 = 0
backupRetentionIntervalInHours 整數,表示保留每個備份) 以小時為單位的時間 ( int

約束:
最小值 = 0
backupStorageRedundancy 列舉,表示備份落地的類型 'Geo'
'Local'
'Zone'

功能

名稱 描述
NAME Cosmos DB 功能的名稱。 例如,“name”: “EnableCassandra”。 目前的值也包括 「EnableTable」 和 「EnableGremlin」。。 字串

容量

名稱 描述
totalThroughputLimit 對帳戶加總輸送量限制。 totalThroughputLimit 為 2000,會對該帳戶布建的最大輸送量限制為 2000。 totalThroughputLimit 為 -1 表示沒有布建輸送量的限制。 int

ConsistencyPolicy

名稱 描述
defaultConsistencyLevel Cosmos DB 帳戶的預設一致性層級和組態設定。 'BoundedStaleness'
'ConsistentPrefix'
'Eventual'
'Session'
需要 『Strong』 ()
maxIntervalInSeconds 與限定過期一致性層級搭配使用時,這個值代表容許) 秒內 (過期的時間量。 此值的接受範圍是 5 - 86400。 當 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時為必要專案。 int

約束:
最小值 = 5
最大值 = 86400
maxStalenessPrefix 與限定過期一致性層級搭配使用時,這個值代表容許的過時要求數目。 此值可接受的範圍是 1 - 2,147,483,647。 當 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時為必要專案。 int

約束:
最小值 = 1
最大值 = 2147483647

CorsPolicy

名稱 描述
allowedHeaders 原始網域可在 CORS 要求上指定的要求標頭。 字串
allowedMethods 原始網域可能針對 CORS 要求使用的方法 (HTTP 要求動詞命令)。 字串
allowedOrigins 允許透過 CORS 對服務提出要求的來源網域。 字串 (必要)
exposedHeaders 可能包含在對 CORS 要求的回應中傳送,而且由瀏覽器對要求簽發者公開的回應標頭。 字串
maxAgeInSeconds 瀏覽器應快取預檢 OPTIONS 要求的時間量上限。 int

約束:
最小值 = 1
最大值 = 2147483647

DiagnosticLogSettings

名稱 描述
enableFullTextQuery 描述要記錄查詢的詳細數據層級。 'False'
'None'
'True'

IpAddressOrRange

名稱 描述
ipAddressOrRange 單一 IPv4 位址或 CIDR 格式的單一 IPv4 位址範圍。 提供的IP格式必須正確,而且不能包含在下列其中一個範圍:10.0.0.0/8、100.64.0.0/10、172.16.0.0/12、192.168.0.0/16,因為這些是IP位址篩選無法強制執行的。 有效輸入的範例:「23.40.210.245」 或 「23.40.210.0/8」。。 字串

位置

名稱 描述
failoverPriority 區域的故障轉移優先順序。 故障轉移優先順序為 0 表示寫入區域。 故障轉移優先順序的最大值 = (區域總數 - 1) 。 資料庫帳戶所在的每個區域,故障轉移優先順序值都必須是唯一的。 int

約束:
最小值 = 0
isZoneRedundant 指出此區域是否為 AvailabilityZone 區域的旗標 bool
locationName 區域的名稱。 字串

RestoreParameters

名稱 描述
databasesToRestore 可供還原的特定資料庫清單。 DatabaseRestoreResource[]
gremlinDatabasesToRestore 可供還原的特定 gremlin 資料庫清單。 GremlinDatabaseRestoreResource[]
restoreMode 描述還原的模式。 'PointInTime'
restoreSource 必須起始還原之可還原之資料庫帳戶的標識碼。 例如:/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} 字串
restoreTimestampInUtc 帳戶必須還原的時間 (ISO-8601 格式) 。 字串
sourceBackupLocation 還原的來源備份位置。 字串
tablesToRestore 可用於還原的特定數據表清單。 string[]

DatabaseRestoreResource

名稱 描述
collectionNames 可用於還原的集合名稱。 string[]
databaseName 可供還原的資料庫名稱。 字串

GremlinDatabaseRestoreResource

名稱 描述
databaseName 可用於還原的 gremlin 資料庫名稱。 字串
graphNames 可用於還原的圖表名稱。 string[]

VirtualNetworkRule

名稱 描述
id 子網的資源標識符,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}。 字串
ignoreMissingVNetServiceEndpoint 在虛擬網路已啟用 vnet 服務端點之前建立防火牆規則。 bool

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 Azure Container Service 上使用 Jenkins 的 CI/CD (AKS)

部署至 Azure
容器可讓您輕鬆地持續建置和部署應用程式。 藉由在 Azure Container Service 中使用 Kubernetes 協調這些容器的部署,您可以達成可複製、可管理的容器叢集。 藉由設定持續組建來產生容器映像和協調流程,您可以增加部署的速度和可靠性。
具有 SQL Database、Azure Cosmos DB、Azure 搜尋服務的 Web 應用程式

部署至 Azure
此範本會布建 Web 應用程式、SQL Database、Azure Cosmos DB、Azure 搜尋服務和 Application Insights。
建立 Cassandra API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會在兩個區域中建立適用於 Cassandra API 的 Azure Cosmos DB 帳戶,其中包含密鑰空間和具有專用輸送量的數據表。
建立 Cassandra API 的自動調整 Azure Cosmos DB 帳戶

部署至 Azure
此範本會在兩個區域中建立 Cassandra API 的 Azure Cosmos DB 帳戶,其中包含索引鍵空間和具有自動調整輸送量的數據表。
建立 Azure CosmosDB 帳戶

部署至 Azure
此 ARM 範本旨在快速建立具有最少必要值的 CosmosDB 帳戶
在多個區域中建立 Azure Cosmos DB 帳戶

部署至 Azure
此範本會針對具有一致性層級和故障轉移類型之主要和次要區域的任何資料庫 API 類型建立 Azure Cosmos DB 帳戶。
建立免費層的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會使用具有共用輸送量和容器的資料庫,建立 SQL API 的免費層 Azure Cosmos DB 帳戶。
建立 Gremlin API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會在兩個區域中建立適用於 Gremlin API 的 Azure Cosmos DB 帳戶,並使用專用輸送量建立一個資料庫和一個圖形。
建立 Gremlin API 自動調整的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會使用自動調整輸送量,在兩個區域中建立 Gremlin API 的 Azure Cosmos DB 帳戶,其中一個資料庫和一個圖形。
建立適用於 MongoDB API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中建立 MongoDB API 4.2 的 Azure Cosmos DB 帳戶,並使用共用和專用輸送量搭配兩個集合。
建立適用於 MongoDB API 自動調整的 Azure Cosmos 帳戶

部署至 Azure
此範本會使用共用和專用的自動調整輸送量,在兩個區域中建立 MongoDB API 4.2 的 Azure Cosmos DB 帳戶。
使用私人端點建立 Azure Cosmos DB 帳戶

部署至 Azure
此範本會建立 Cosmos 帳戶、虛擬網路,以及將 Cosmos 帳戶公開至虛擬網路的私人端點。
建立 Core (SQL) API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會建立適用於 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含具有多個其他選項之輸送量的資料庫和容器。
Azure Cosmos DB 帳戶 SQL API 與分析存放區

部署至 Azure
此範本會建立 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含使用分析存放區設定的資料庫和容器。
使用自動調整建立 Azure Cosmos DB 帳戶 SQL API

部署至 Azure
此範本會建立適用於 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含具有資料庫和容器以及具有多個其他選項的自動調整輸送量容器。
建立 Azure Cosmos DB Core (SQL) API 預存程式

部署至 Azure
此範本會建立適用於 Core (SQL) API 的 Azure Cosmos DB 帳戶,以及具有預存程式、觸發程式和使用者定義函式的容器。
建立 Core (SQL) API 的最低 Azure Cosmos DB 帳戶

部署至 Azure
此範本會為 Core (SQL) API 建立 Azure Cosmos DB 帳戶,同時只指定最少所需的資源屬性。
使用 SQL API 和多個容器建立 Azure Cosmos

部署至 Azure
此範本會使用 SQL API 建立 Cosmos 容器,並允許新增多個容器。
使用數據平面 RBAC 建立 Azure Cosmos DB SQL 帳戶

部署至 Azure
此範本會建立 SQL Cosmos 帳戶、原生維護的角色定義,以及 AAD 身分識別的原生維護角色指派。
建立 SQL API 的無伺服器 Azure Cosmos DB 帳戶

部署至 Azure
此範本會為 Core (SQL) API 建立無伺服器 Azure Cosmos DB 帳戶。
建立適用於數據表 API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中建立數據表 API 的 Azure Cosmos DB 帳戶,以及具有布建輸送量的單一數據表。
使用自動調整建立適用於數據表 API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中建立數據表 API 的 Azure Cosmos DB 帳戶,以及具有自動調整輸送量的單一數據表。
建立零觸控 Azure Cosmos 帳戶和 Azure Web 應用程式

部署至 Azure
此範本會建立 Azure Cosmos 帳戶、將 Cosmos DB 端點和金鑰插入 Azure Web 應用程式設定,然後從 GitHub 部署 ASP MVC Web 應用程式。
建立已啟用 Microsoft Defender 的 Cosmos DB 帳戶

部署至 Azure
使用此 ARM 範本,您可以部署已啟用適用於 Azure Cosmos DB 的 Microsoft Defender 的 Azure Cosmos DB 帳戶。 適用於 Azure Cosmos DB 的 Microsoft Defender 是一種 Azure 原生安全性層級,可偵測嘗試對 Azure Cosmos DB 帳戶中資料庫的惡意探索。 適用於 Azure Cosmos DB 的 Microsoft Defender 會透過遭入侵的身分識別或惡意測試人員,偵測潛在的 SQL 插入、已知不良動作專案、根據 Microsoft 威脅情報、可疑存取模式,以及資料庫的潛在惡意探索。
使用 Cosmos DB 連線部署 Azure 數據總管資料庫

部署至 Azure
使用 Cosmos DB 連線部署 Azure 數據總管資料庫。
Azure Cosmos DB 帳戶與 Web 應用程式

部署至 Azure
此範本會部署 Azure Cosmos DB 帳戶、App Service 方案,並在 App Service 方案中建立 Web 應用程式。 它也會將兩個應用程式設定新增至參考 Azure Cosmos DB 帳戶端點的 Web 應用程式。 如此一來,部署至 Web 應用程式的解決方案就可以使用這些設定連線到 Azure Cosmos DB 帳戶端點。

ARM 範本資源定義

databaseAccounts 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄

資源格式

若要建立 Microsoft.DocumentDB/databaseAccounts 資源,請將下列 JSON 新增至您的範本。

{
  "type": "Microsoft.DocumentDB/databaseAccounts",
  "apiVersion": "2023-09-15-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "kind": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {}
    }
  },
  "properties": {
    "analyticalStorageConfiguration": {
      "schemaType": "string"
    },
    "apiProperties": {
      "serverVersion": "string"
    },
    "backupPolicy": {
      "migrationState": {
        "startTime": "string",
        "status": "string",
        "targetType": "string"
      },
      "type": "string"
      // For remaining properties, see BackupPolicy objects
    },
    "capabilities": [
      {
        "name": "string"
      }
    ],
    "capacity": {
      "totalThroughputLimit": "int"
    },
    "connectorOffer": "Small",
    "consistencyPolicy": {
      "defaultConsistencyLevel": "string",
      "maxIntervalInSeconds": "int",
      "maxStalenessPrefix": "int"
    },
    "cors": [
      {
        "allowedHeaders": "string",
        "allowedMethods": "string",
        "allowedOrigins": "string",
        "exposedHeaders": "string",
        "maxAgeInSeconds": "int"
      }
    ],
    "createMode": "string",
    "customerManagedKeyStatus": "string",
    "databaseAccountOfferType": "Standard",
    "defaultIdentity": "string",
    "defaultPriorityLevel": "string",
    "diagnosticLogSettings": {
      "enableFullTextQuery": "string"
    },
    "disableKeyBasedMetadataWriteAccess": "bool",
    "disableLocalAuth": "bool",
    "enableAnalyticalStorage": "bool",
    "enableAutomaticFailover": "bool",
    "enableBurstCapacity": "bool",
    "enableCassandraConnector": "bool",
    "enableFreeTier": "bool",
    "enableMaterializedViews": "bool",
    "enableMultipleWriteLocations": "bool",
    "enablePartitionMerge": "bool",
    "enablePriorityBasedExecution": "bool",
    "ipRules": [
      {
        "ipAddressOrRange": "string"
      }
    ],
    "isVirtualNetworkFilterEnabled": "bool",
    "keyVaultKeyUri": "string",
    "locations": [
      {
        "failoverPriority": "int",
        "isZoneRedundant": "bool",
        "locationName": "string"
      }
    ],
    "minimalTlsVersion": "string",
    "networkAclBypass": "string",
    "networkAclBypassResourceIds": [ "string" ],
    "publicNetworkAccess": "string",
    "restoreParameters": {
      "databasesToRestore": [
        {
          "collectionNames": [ "string" ],
          "databaseName": "string"
        }
      ],
      "gremlinDatabasesToRestore": [
        {
          "databaseName": "string",
          "graphNames": [ "string" ]
        }
      ],
      "restoreMode": "PointInTime",
      "restoreSource": "string",
      "restoreTimestampInUtc": "string",
      "sourceBackupLocation": "string",
      "tablesToRestore": [ "string" ]
    },
    "virtualNetworkRules": [
      {
        "id": "string",
        "ignoreMissingVNetServiceEndpoint": "bool"
      }
    ]
  }
}

BackupPolicy 物件

設定 type 屬性以指定物件的類型。

針對 [連續],請使用:

  "type": "Continuous",
  "continuousModeProperties": {
    "tier": "string"
  }

針對 [定期],請使用:

  "type": "Periodic",
  "periodicModeProperties": {
    "backupIntervalInMinutes": "int",
    "backupRetentionIntervalInHours": "int",
    "backupStorageRedundancy": "string"
  }

屬性值

databaseAccounts

名稱 描述
類型 資源類型 'Microsoft.DocumentDB/databaseAccounts'
apiVersion 資源 API 版本 '2023-09-15-preview'
NAME 資源名稱 字串 (必要)

字元限制:3-44

合法字元:
小寫字母、數字和連字號。

以小寫字母或數字開頭。

資源名稱在 Azure 中必須是唯一的。
location 資源所屬資源群組的位置。 字串
tags 標籤是描述資源的索引鍵/值組清單。 這些標記可用來在資源群組間檢視資源,以及對資源分組。 資源最多可提供15個標籤。 每個標記的金鑰都不得多於 128 個字元,值則不得多於 256 個字元。 例如,範本類型的默認體驗設定為 「defaultExperience」:“Cassandra” 目前的 「defaultExperience」 值也包括 「Table」、“Graph”、“DocumentDB” 和 “MongoDB”。 標記名稱和值的字典。 請參閱 範本中的標記
kind 指出資料庫帳戶的類型。 這隻能在建立資料庫帳戶時設定。 'GlobalDocumentDB'
'MongoDB'
'Parse'
身分識別 資源的身分識別。 ManagedServiceIdentity
properties 用來建立及更新 Azure Cosmos DB 資料庫帳戶的屬性。 DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou... 必要 ()

ManagedServiceIdentity

名稱 描述
類型 用於資源的身分識別類型。 類型 'SystemAssigned,UserAssigned' 同時包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 'None'
'SystemAssigned'
'SystemAssigned,UserAssigned'
'UserAssigned'
userAssignedIdentities 與資源相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 ManagedServiceIdentityUserAssignedIdentities

ManagedServiceIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} Components1Jq1T4ISchemasManagedserviceidentityProper...

Components1Jq1T4ISchemasManagedserviceidentityProper...

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou...

名稱 描述
analyticalStorageConfiguration 分析記憶體特定屬性。 AnalyticalStorageConfiguration
apiProperties API 特定屬性。 目前僅支援 MongoDB API。 ApiProperties
backupPolicy 物件,表示在帳戶上建立備份的原則。 BackupPolicy
capabilities 帳戶的 Cosmos DB 功能清單 Capability[]
處理能力 物件,表示帳戶上與容量強制執行相關的所有屬性。 容量
connectorOffer cassandra 連接器提供 Cosmos DB 資料庫 C* 帳戶的類型。 'Small'
consistencyPolicy Cosmos DB 帳戶的一致性原則。 ConsistencyPolicy
cors Cosmos DB 資料庫帳戶的 CORS 原則。 CorsPolicy[]
createMode 列舉,表示帳戶建立模式。 'Default'
'PointInTimeRestore'
'Restore'
customerManagedKeyStatus 指出帳戶上客戶管理金鑰功能的狀態。 如果發生錯誤,屬性會提供疑難解答指引。 「已確認存取已設定的客戶受控金鑰。」
「目前已撤銷您的帳戶存取權,因為 Azure Cosmos DB 帳戶具有未定義的預設身分識別;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#invalid-azure-cosmos-db-default-identity (4015) 。」
「目前已撤銷您的帳戶存取權,因為 Azure Cosmos DB 帳戶的密鑰保存庫密鑰 URI 未遵循預期的格式;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#improper-syntax-detected-on-the-key-vault-uri-property (4006) 。」
「目前已撤銷您的帳戶存取權,因為 Azure Cosmos DB 服務無法取得帳戶預設身分識別的 AAD 驗證令牌;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-active-directory-token-acquisition-error (4000) 。」
「目前已撤銷您的帳戶存取權,因為 Azure Cosmos DB 服務無法包裝或解除包裝密鑰;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#internal-unwrapping-procedure-error (4005) 。」
「目前已撤銷您的帳戶存取權,因為無法解析帳戶的keyvaultkeyuri屬性所指定的 Azure Key Vault DNS 名稱;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#unable-to-resolve-the-key-vaults-dns (4009) 。」
「目前已撤銷您的帳戶存取權,因為存取規則封鎖對 Azure Key Vault 服務的輸出要求;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide (4016) 。」
「目前已撤銷您的帳戶存取權,因為找不到對應的 Azure Key Vault;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4017) 。」
「您帳戶的存取權目前已撤銷,因為指定的 Key Vault 上找不到對應項密鑰;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4003) 。」
「您帳戶的存取權目前已撤銷,因為目前的預設身分識別已不再具有相關聯 Key Vault 金鑰的許可權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#default-identity-is-unauthorized-to-access-the-azure-key-vault-key (4002) 。」
「您帳戶的存取權目前已撤銷;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide'
databaseAccountOfferType 資料庫的供應項目類型 必要) 的「標準」 (
defaultIdentity 用來存取客戶受控金鑰等功能中使用的金鑰保存庫的預設身分識別。 用戶必須明確設定預設身分識別。 它可以是 “FirstPartyIdentity”、“SystemAssignedIdentity” 等等。 字串
defaultPriorityLevel 列舉,表示優先順序型執行的預設優先順序層級要求。 'High'
'Low'
diagnosticLogSettings 物件,代表Cosmos DB帳戶的不同診斷記錄設定。 DiagnosticLogSettings
disableKeyBasedMetadataWriteAccess 透過帳戶金鑰停用元數據資源的寫入作業 (資料庫、容器、輸送量) bool
disableLocalAuth 退出宣告本機驗證,並確保只能使用 MSI 和 AAD 進行驗證。 bool
enableAnalyticalStorage 旗標,指出是否要啟用記憶體分析。 bool
enableAutomaticFailover 在罕見的情況下啟用寫入區域的自動故障轉移,因為發生中斷而無法使用區域。 自動故障轉移會導致帳戶的新寫入區域,並根據針對帳戶設定的故障轉移優先順序來選擇。 bool
enableBurstCapacity 旗標,指出在帳戶上啟用/停用高載容量預覽功能 bool
enableCassandraConnector 在 Cosmos DB C* 帳戶上啟用 cassandra 連接器 bool
enableFreeTier 旗標,指出是否已啟用免費層。 bool
enableMaterializedViews 旗標,指出是否要在Cosmos DB帳戶上啟用MaterializedViews bool
enableMultipleWriteLocations 讓帳戶能夠在多個位置寫入 bool
enablePartitionMerge 表示在帳戶上啟用/停用數據分割合併功能的旗標 bool
enablePriorityBasedExecution 旗標,指出在帳戶上啟用/停用優先順序型執行預覽功能 bool
ipRules IpRules 的清單。 IpAddressOrRange[]
isVirtualNetworkFilterEnabled 旗標,指出是否要啟用/停用虛擬網路 ACL 規則。 bool
keyVaultKeyUri 金鑰保存庫的 URI 字串
位置 數位,其中包含針對Cosmos DB帳戶啟用的地理複製位置。 Location[] (必要)
minimalTlsVersion 指出允許的 Tls 版本下限。 默認值為 Tls 1.0,但 Cassandra 和 Mongo API 除外,其僅適用於 Tls 1.2。 'Tls'
'Tls11'
'Tls12'
networkAclBypass 指出允許哪些服務略過防火牆檢查。 'AzureServices'
'None'
networkAclBypassResourceIds 數位,其中包含Cosmos DB帳戶的網路 Acl 略過資源識別碼。 string[]
publicNetworkAccess 是否允許來自公用網路的要求 'Disabled'
'Enabled'
'SecuredByPerimeter'
restoreParameters 用來指出還原相關信息的參數。 RestoreParameters
virtualNetworkRules 為 Cosmos DB 帳戶設定的虛擬網路 ACL 規則清單。 VirtualNetworkRule[]

AnalyticalStorageConfiguration

名稱 描述
schemaType 描述分析記憶體的架構類型。 'FullFidelity'
'WellDefined'

ApiProperties

名稱 描述
serverVersion 描述 MongoDB 帳戶的 ServerVersion。 '3.2'
'3.6'
'4.0'
'4.2'

BackupPolicy

名稱 描述
migrationState 物件,表示備份原則之間的移轉狀態。 BackupPolicyMigrationState
類型 設定物件類型 連續
需要定期 ()

BackupPolicyMigrationState

名稱 描述
startTime 備份原則移轉開始的時間 (ISO-8601 格式) 。 字串
status 描述備份原則類型之間的移轉狀態。 'Completed'
'Failed'
'InProgress'
'Invalid'
targetType 描述備份原則移轉的目標備份原則類型。 'Continuous'
'Periodic'

ContinuousModeBackupPolicy

名稱 描述
類型 描述備份模式。 需要 「連續」 ()
continuousModeProperties 連續模式備份的組態值 ContinuousModeProperties

ContinuousModeProperties

名稱 描述
tier 列舉以指出 Continuos 備份模式的類型 'Continuous30Days'
'Continuous7Days'

PeriodicModeBackupPolicy

名稱 描述
類型 描述備份模式。 必要的「定期」 ()
periodicModeProperties 定期模式備份的組態值 PeriodicModeProperties

PeriodicModeProperties

名稱 描述
backupIntervalInMinutes 整數,表示兩個備份之間以分鐘為單位的間隔 int

約束:
最小值 = 0
backupRetentionIntervalInHours 整數,表示保留每個備份) 以小時為單位的時間 ( int

約束:
最小值 = 0
backupStorageRedundancy 表示備份落地類型的列舉 'Geo'
'Local'
'Zone'

功能

名稱 描述
NAME Cosmos DB 功能的名稱。 例如,“name”: “EnableCassandra”。 目前的值也包括 「EnableTable」 和 「EnableGremlin」。。 字串

容量

名稱 描述
totalThroughputLimit 對帳戶加總輸送量限制。 totalThroughputLimit 為 2000,會對該帳戶布建的最大輸送量限制嚴格限製為 2000。 -1 的 totalThroughputLimit 表示布建輸送量沒有限制。 int

ConsistencyPolicy

名稱 描述
defaultConsistencyLevel Cosmos DB 帳戶的預設一致性層級和組態設定。 'BoundedStaleness'
'ConsistentPrefix'
'Eventual'
'Session'
「強式」 (必要)
maxIntervalInSeconds 搭配限定過期一致性層級使用時,這個值代表容許的) 秒數 (過時的時間量。 此值的接受範圍是 5 - 86400。 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時需要。 int

約束:
最小值 = 5
最大值 = 86400
maxStalenessPrefix 搭配限定過期一致性層級使用時,這個值代表容許的過時要求數目。 此值可接受的範圍是 1 - 2,147,483,647。 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時需要。 int

約束:
最小值 = 1
最大值 = 2147483647

CorsPolicy

名稱 描述
allowedHeaders 原始網域可在 CORS 要求上指定的要求標頭。 字串
allowedMethods 原始網域可能針對 CORS 要求使用的方法 (HTTP 要求動詞命令)。 字串
allowedOrigins 允許透過 CORS 對服務提出要求的來源網域。 字串 (必要)
exposedHeaders 可能包含在對 CORS 要求的回應中傳送,而且由瀏覽器對要求簽發者公開的回應標頭。 字串
maxAgeInSeconds 瀏覽器應快取預檢 OPTIONS 要求的時間量上限。 int

約束:
最小值 = 1
最大值 = 2147483647

DiagnosticLogSettings

名稱 描述
enableFullTextQuery 描述要記錄查詢的詳細數據層級。 'False'
'None'
'True'

IpAddressOrRange

名稱 描述
ipAddressOrRange 單一 IPv4 位址或 CIDR 格式的單一 IPv4 位址範圍。 提供的IP格式必須正確,而且不能包含在下列其中一個範圍:10.0.0.0/8、100.64.0.0/10、172.16.0.0/12、192.168.0.0/16,因為這些是IP位址篩選無法強制執行的。 有效輸入的範例:「23.40.210.245」 或 「23.40.210.0/8」。。 字串

位置

名稱 描述
failoverPriority 區域的故障轉移優先順序。 故障轉移優先順序為 0 表示寫入區域。 故障轉移優先順序的最大值 = (區域總數 - 1) 。 資料庫帳戶所在的每個區域,故障轉移優先順序值都必須是唯一的。 int

約束:
最小值 = 0
isZoneRedundant 指出此區域是否為 AvailabilityZone 區域的旗標 bool
locationName 區域的名稱。 字串

RestoreParameters

名稱 描述
databasesToRestore 可供還原的特定資料庫清單。 DatabaseRestoreResource[]
gremlinDatabasesToRestore 可供還原的特定 gremlin 資料庫清單。 GremlinDatabaseRestoreResource[]
restoreMode 描述還原的模式。 'PointInTime'
restoreSource 必須起始還原之可還原資料庫帳戶的標識碼。 例如:/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} 字串
restoreTimestampInUtc 帳戶必須還原的時間 (ISO-8601 格式) 。 字串
sourceBackupLocation 要還原的來源備份位置。 字串
tablesToRestore 可供還原的特定數據表清單。 string[]

DatabaseRestoreResource

名稱 描述
collectionNames 可供還原之集合的名稱。 string[]
databaseName 可供還原的資料庫名稱。 字串

GremlinDatabaseRestoreResource

名稱 描述
databaseName 可供還原的 gremlin 資料庫名稱。 字串
graphNames 可供還原的圖形名稱。 string[]

VirtualNetworkRule

名稱 描述
id 子網的資源標識符,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}。 字串
ignoreMissingVNetServiceEndpoint 在虛擬網路已啟用 vnet 服務端點之前建立防火牆規則。 bool

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
在 Azure Container Service 上使用 Jenkins 的 CI/CD (AKS)

部署至 Azure
容器可讓您輕鬆地持續建置和部署應用程式。 藉由在 Azure Container Service 中使用 Kubernetes 協調這些容器的部署,您可以達成可複製且可管理的容器叢集。 藉由設定持續組建來產生容器映像和協調流程,您可以增加部署的速度和可靠性。
具有 SQL Database、Azure Cosmos DB、Azure 搜尋服務的 Web 應用程式

部署至 Azure
此範本會布建 Web 應用程式、SQL Database、Azure Cosmos DB、Azure 搜尋服務和 Application Insights。
建立適用於 Cassandra API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會在兩個區域中建立 Cassandra API 的 Azure Cosmos DB 帳戶,其中包含 keyspace 和具有專用輸送量的數據表。
建立 Cassandra API 的自動調整 Azure Cosmos DB 帳戶

部署至 Azure
此範本會在兩個區域中建立 Cassandra API 的 Azure Cosmos DB 帳戶,其中包含 keyspace 和具有自動調整輸送量的數據表。
建立 Azure CosmosDB 帳戶

部署至 Azure
此 ARM 範本旨在使用最少的必要值快速建立 CosmosDB 帳戶
在多個區域中建立 Azure Cosmos DB 帳戶

部署至 Azure
此範本會針對具有主要和次要區域且選擇一致性層級和故障轉移類型的任何資料庫 API 類型,建立 Azure Cosmos DB 帳戶。
建立免費層的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會使用具有共用輸送量和容器的資料庫,為 SQL API 建立免費層 Azure Cosmos DB 帳戶。
建立 Gremlin API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會使用專用輸送量,在兩個區域中建立 Gremlin API 的 Azure Cosmos DB 帳戶,其中一個資料庫和一個圖形。
建立 Gremlin API 自動調整的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會使用自動調整輸送量,在兩個區域中建立 Gremlin API 的 Azure Cosmos DB 帳戶,其中包含一個資料庫和一個圖形。
建立適用於 MongoDB API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中,使用具有兩個集合的共用和專用輸送量,為 MongoDB API 4.2 建立 Azure Cosmos DB 帳戶。
建立適用於 MongoDB API 自動調整的 Azure Cosmos 帳戶

部署至 Azure
此範本會使用共用和專用的自動調整輸送量,在兩個區域中建立 MongoDB API 4.2 的 Azure Cosmos DB 帳戶。
使用私人端點建立 Azure Cosmos DB 帳戶

部署至 Azure
此範本會建立 Cosmos 帳戶、虛擬網路,以及向虛擬網路公開 Cosmos 帳戶的私人端點。
建立 Core (SQL) API 的 Azure Cosmos DB 帳戶

部署至 Azure
此範本會建立 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含具有多個其他選項的資料庫和容器。
Azure Cosmos DB 帳戶 SQL API 與分析存放區

部署至 Azure
此範本會建立 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含使用分析存放區設定的資料庫和容器。
使用自動調整建立 Azure Cosmos DB 帳戶 SQL API

部署至 Azure
此範本會建立適用於 Core (SQL) API 的 Azure Cosmos 帳戶,其中包含具有資料庫和容器以及具有多個其他選項的自動調整輸送量容器。
建立 Azure Cosmos DB Core (SQL) API 預存程式

部署至 Azure
此範本會建立適用於 Core (SQL) API 的 Azure Cosmos DB 帳戶,以及具有預存程式、觸發程式和使用者定義函式的容器。
建立 Core (SQL) API 的最低 Azure Cosmos DB 帳戶

部署至 Azure
此範本會為 Core (SQL) API 建立 Azure Cosmos DB 帳戶,同時只指定最少所需的資源屬性。
使用 SQL API 和多個容器建立 Azure Cosmos

部署至 Azure
此範本會使用 SQL API 建立 Cosmos 容器,並允許新增多個容器。
使用數據平面 RBAC 建立 Azure Cosmos DB SQL 帳戶

部署至 Azure
此範本會建立 SQL Cosmos 帳戶、原生維護的角色定義,以及 AAD 身分識別的原生維護角色指派。
建立 SQL API 的無伺服器 Azure Cosmos DB 帳戶

部署至 Azure
此範本會為 Core (SQL) API 建立無伺服器 Azure Cosmos DB 帳戶。
建立適用於數據表 API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中建立數據表 API 的 Azure Cosmos DB 帳戶,以及具有布建輸送量的單一數據表。
使用自動調整建立適用於數據表 API 的 Azure Cosmos 帳戶

部署至 Azure
此範本會在兩個區域中建立數據表 API 的 Azure Cosmos DB 帳戶,以及具有自動調整輸送量的單一數據表。
建立零觸控 Azure Cosmos 帳戶和 Azure Web 應用程式

部署至 Azure
此範本會建立 Azure Cosmos 帳戶、將 Cosmos DB 端點和金鑰插入 Azure Web 應用程式設定,然後從 GitHub 部署 ASP MVC Web 應用程式。
建立已啟用 Microsoft Defender 的 Cosmos DB 帳戶

部署至 Azure
使用此 ARM 範本,您可以部署已啟用適用於 Azure Cosmos DB 的 Microsoft Defender 的 Azure Cosmos DB 帳戶。 適用於 Azure Cosmos DB 的 Microsoft Defender 是一種 Azure 原生安全性層級,可偵測嘗試對 Azure Cosmos DB 帳戶中資料庫的惡意探索。 適用於 Azure Cosmos DB 的 Microsoft Defender 會透過遭入侵的身分識別或惡意測試人員,偵測潛在的 SQL 插入、已知不良動作專案、根據 Microsoft 威脅情報、可疑存取模式,以及資料庫的潛在惡意探索。
使用 Cosmos DB 連線部署 Azure 數據總管資料庫

部署至 Azure
使用 Cosmos DB 連線部署 Azure 數據總管資料庫。
Azure Cosmos DB 帳戶與 Web 應用程式

部署至 Azure
此範本會部署 Azure Cosmos DB 帳戶、App Service 方案,並在 App Service 方案中建立 Web 應用程式。 它也會將兩個應用程式設定新增至參考 Azure Cosmos DB 帳戶端點的 Web 應用程式。 如此一來,部署至 Web 應用程式的解決方案就可以使用這些設定連線到 Azure Cosmos DB 帳戶端點。

Terraform (AzAPI 提供者) 資源定義

databaseAccounts 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄

資源格式

若要建立 Microsoft.DocumentDB/databaseAccounts 資源,請將下列 Terraform 新增至您的範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts@2023-09-15-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      analyticalStorageConfiguration = {
        schemaType = "string"
      }
      apiProperties = {
        serverVersion = "string"
      }
      backupPolicy = {
        migrationState = {
          startTime = "string"
          status = "string"
          targetType = "string"
        }
        type = "string"
        // For remaining properties, see BackupPolicy objects
      }
      capabilities = [
        {
          name = "string"
        }
      ]
      capacity = {
        totalThroughputLimit = int
      }
      connectorOffer = "Small"
      consistencyPolicy = {
        defaultConsistencyLevel = "string"
        maxIntervalInSeconds = int
        maxStalenessPrefix = int
      }
      cors = [
        {
          allowedHeaders = "string"
          allowedMethods = "string"
          allowedOrigins = "string"
          exposedHeaders = "string"
          maxAgeInSeconds = int
        }
      ]
      createMode = "string"
      customerManagedKeyStatus = "string"
      databaseAccountOfferType = "Standard"
      defaultIdentity = "string"
      defaultPriorityLevel = "string"
      diagnosticLogSettings = {
        enableFullTextQuery = "string"
      }
      disableKeyBasedMetadataWriteAccess = bool
      disableLocalAuth = bool
      enableAnalyticalStorage = bool
      enableAutomaticFailover = bool
      enableBurstCapacity = bool
      enableCassandraConnector = bool
      enableFreeTier = bool
      enableMaterializedViews = bool
      enableMultipleWriteLocations = bool
      enablePartitionMerge = bool
      enablePriorityBasedExecution = bool
      ipRules = [
        {
          ipAddressOrRange = "string"
        }
      ]
      isVirtualNetworkFilterEnabled = bool
      keyVaultKeyUri = "string"
      locations = [
        {
          failoverPriority = int
          isZoneRedundant = bool
          locationName = "string"
        }
      ]
      minimalTlsVersion = "string"
      networkAclBypass = "string"
      networkAclBypassResourceIds = [
        "string"
      ]
      publicNetworkAccess = "string"
      restoreParameters = {
        databasesToRestore = [
          {
            collectionNames = [
              "string"
            ]
            databaseName = "string"
          }
        ]
        gremlinDatabasesToRestore = [
          {
            databaseName = "string"
            graphNames = [
              "string"
            ]
          }
        ]
        restoreMode = "PointInTime"
        restoreSource = "string"
        restoreTimestampInUtc = "string"
        sourceBackupLocation = "string"
        tablesToRestore = [
          "string"
        ]
      }
      virtualNetworkRules = [
        {
          id = "string"
          ignoreMissingVNetServiceEndpoint = bool
        }
      ]
    }
    kind = "string"
  })
}

BackupPolicy 物件

設定 type 屬性以指定物件的類型。

針對 [連續],請使用:

  type = "Continuous"
  continuousModeProperties = {
    tier = "string"
  }

針對 [定期],請使用:

  type = "Periodic"
  periodicModeProperties = {
    backupIntervalInMinutes = int
    backupRetentionIntervalInHours = int
    backupStorageRedundancy = "string"
  }

屬性值

databaseAccounts

名稱 描述
類型 資源類型 “Microsoft.DocumentDB/databaseAccounts@2023-09-15-preview”
NAME 資源名稱 字串 (必要)

字元限制:3-44

合法字元:
小寫字母、數字和連字號。

以小寫字母或數字開頭。

資源名稱在 Azure 中必須是唯一的。
location 資源所屬資源群組的位置。 字串
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 字串 (必要)
tags 標籤是描述資源的索引鍵/值組清單。 這些標記可用來在資源群組間檢視資源,以及對資源分組。 資源最多可提供15個標籤。 每個標記的金鑰都不得多於 128 個字元,值則不得多於 256 個字元。 例如,範本類型的默認體驗設定為 「defaultExperience」:“Cassandra” 目前的 「defaultExperience」 值也包括 「Table」、“Graph”、“DocumentDB” 和 “MongoDB”。 標記名稱和值的字典。
kind 指出資料庫帳戶的類型。 這隻能在建立資料庫帳戶時設定。 “GlobalDocumentDB”
“MongoDB”
“Parse”
身分識別 資源的身分識別。 ManagedServiceIdentity
properties 用來建立及更新 Azure Cosmos DB 資料庫帳戶的屬性。 DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou... 必要 ()

ManagedServiceIdentity

名稱 描述
類型 用於資源的身分識別類型。 類型 'SystemAssigned,UserAssigned' 同時包含隱含建立的身分識別和一組使用者指派的身分識別。 類型 『None』 會從服務中移除任何身分識別。 “SystemAssigned”
“SystemAssigned,UserAssigned”
“UserAssigned”
identity_ids 與資源相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 使用者身分識別標識碼的陣列。

ManagedServiceIdentityUserAssignedIdentities

名稱 描述
{自定義屬性} Components1Jq1T4ISchemasManagedserviceidentityProper...

Components1Jq1T4ISchemasManagedserviceidentityProper...

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

DatabaseAccountCreateUpdatePropertiesOrDatabaseAccou...

名稱 描述
analyticalStorageConfiguration 分析記憶體特定屬性。 AnalyticalStorageConfiguration
apiProperties API 特定屬性。 目前僅支援 MongoDB API。 ApiProperties
backupPolicy 物件,表示在帳戶上建立備份的原則。 BackupPolicy
capabilities 帳戶的 Cosmos DB 功能清單 Capability[]
處理能力 物件,表示帳戶上與容量強制執行相關的所有屬性。 容量
connectorOffer cassandra 連接器提供 Cosmos DB 資料庫 C* 帳戶的類型。 “Small”
consistencyPolicy Cosmos DB 帳戶的一致性原則。 ConsistencyPolicy
cors Cosmos DB 資料庫帳戶的 CORS 原則。 CorsPolicy[]
createMode 列舉,表示帳戶建立模式。 “Default”
“PointInTimeRestore”
“Restore”
customerManagedKeyStatus 指出帳戶上客戶管理金鑰功能的狀態。 如果發生錯誤,屬性會提供疑難解答指引。 「已確認存取已設定的客戶受控金鑰。」
「由於 Azure Cosmos DB 帳戶具有未定義的預設身分識別,所以目前已撤銷您的帳戶存取權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#invalid-azure-cosmos-db-default-identity (4015) 。」
「因為 Azure Cosmos DB 帳戶的金鑰保存庫密鑰 URI 不符合預期格式,所以目前已撤銷帳戶的存取權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#improper-syntax-detected-on-the-key-vault-uri-property (4006) 。」
「因為 Azure Cosmos DB 服務無法取得帳戶的預設身分識別的 AAD 驗證令牌,所以目前已撤銷您的帳戶存取權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-active-directory-token-acquisition-error (4000) 。」
「目前已撤銷您的帳戶存取權,因為 Azure Cosmos DB 服務無法包裝或解除包裝密鑰;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#internal-unwrapping-procedure-error (4005) 。」
「目前已撤銷您的帳戶存取權,因為無法解析帳戶所指定的 Azure Key Vault DNS 名稱」s keyvaultkeyuri 屬性;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#unable-to-resolve-the-key-vaults-dns (4009) 。」
「您帳戶的存取權目前已撤銷,因為存取規則封鎖對 Azure Key Vault 服務的輸出要求;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide (4016) 。」
「目前已撤銷您的帳戶存取權,因為找不到對應的 Azure Key Vault;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4017) 。」
「目前已撤銷您的帳戶存取權,因為指定的 Key Vault 上找不到對應的密鑰;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#azure-key-vault-resource-not-found (4003) 。」
「您帳戶的存取權目前已撤銷,因為目前的預設身分識別不再具有相關聯 Key Vault 金鑰的許可權;如需此錯誤以及如何還原帳戶存取權的詳細資訊,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide#default-identity-is-unauthorized-to-access-the-azure-key-vault-key (4002) 。」
「您的帳戶存取權目前已撤銷;如需此錯誤的詳細資訊,以及如何還原帳戶的存取權,請造訪 https://learn.microsoft.com/en-us/azure/cosmos-db/cmk-troubleshooting-guide
databaseAccountOfferType 資料庫的供應項目類型 「標準」 (必要)
defaultIdentity 用來存取客戶受控金鑰等功能中使用的金鑰保存庫的預設身分識別。 用戶必須明確設定預設身分識別。 它可以是 “FirstPartyIdentity”、“SystemAssignedIdentity” 等等。 字串
defaultPriorityLevel 列舉,表示優先順序型執行的預設優先順序層級要求。 "High"
"Low"
diagnosticLogSettings 物件,代表Cosmos DB帳戶的不同診斷記錄設定。 DiagnosticLogSettings
disableKeyBasedMetadataWriteAccess 透過帳戶金鑰停用元數據資源的寫入作業 (資料庫、容器、輸送量) bool
disableLocalAuth 退出宣告本機驗證,並確保只能使用 MSI 和 AAD 進行驗證。 bool
enableAnalyticalStorage 旗標,指出是否要啟用記憶體分析。 bool
enableAutomaticFailover 在罕見的情況下啟用寫入區域的自動故障轉移,因為發生中斷而無法使用區域。 自動故障轉移會導致帳戶的新寫入區域,並根據針對帳戶設定的故障轉移優先順序來選擇。 bool
enableBurstCapacity 旗標,指出在帳戶上啟用/停用高載容量預覽功能 bool
enableCassandraConnector 在 Cosmos DB C* 帳戶上啟用 cassandra 連接器 bool
enableFreeTier 旗標,指出是否啟用免費層。 bool
enableMaterializedViews 旗標,指出是否要在Cosmos DB帳戶上啟用MaterializedViews bool
enableMultipleWriteLocations 可讓帳戶在多個位置寫入 bool
enablePartitionMerge 表示在帳戶上啟用/停用數據分割合併功能的旗標 bool
enablePriorityBasedExecution 旗標,指出在帳戶上啟用/停用優先順序型執行預覽功能 bool
ipRules IpRules 的清單。 IpAddressOrRange[]
isVirtualNetworkFilterEnabled 旗標,指出是否要啟用/停用虛擬網路 ACL 規則。 bool
keyVaultKeyUri 金鑰保存庫的 URI 字串
位置 數位,其中包含為Cosmos DB帳戶啟用的地理複寫位置。 Location[] (必要)
minimalTlsVersion 指出允許的 Tls 版本下限。 默認值為 Tls 1.0,但 Cassandra 和 Mongo API 除外,其僅適用於 Tls 1.2。 “Tls”
“Tls11”
“Tls12”
networkAclBypass 指出允許哪些服務略過防火牆檢查。 “AzureServices”
"None"
networkAclBypassResourceIds 數位,其中包含Cosmos DB帳戶的網路 Acl 略過資源識別碼。 string[]
publicNetworkAccess 是否允許來自公用網路的要求 “Disabled”
“Enabled”
“SecuredByPerimeter”
restoreParameters 用來指出還原相關信息的參數。 RestoreParameters
virtualNetworkRules 為 Cosmos DB 帳戶設定的虛擬網路 ACL 規則清單。 VirtualNetworkRule[]

分析StorageConfiguration

名稱 描述
schemaType 描述分析記憶體的架構類型。 “FullFidelity”
“WellDefined”

ApiProperties

名稱 描述
serverVersion 描述 MongoDB 帳戶的 ServerVersion。 "3.2"
"3.6"
"4.0"
"4.2"

BackupPolicy

名稱 描述
migrationState 物件,表示備份原則之間的移轉狀態。 BackupPolicyMigrationState
類型 設定物件類型 連續
需要定期 ()

BackupPolicyMigrationState

名稱 描述
startTime 備份原則移轉開始的時間 (ISO-8601 格式) 。 字串
status 描述備份原則類型之間的移轉狀態。 “Completed”
“Failed”
“InProgress”
“Invalid”
targetType 描述備份原則移轉的目標備份原則類型。 “Continuous”
“定期”

ContinuousModeBackupPolicy

名稱 描述
類型 描述備份模式。 「連續」 (必要)
continuousModeProperties 連續模式備份的組態值 ContinuousModeProperties

ContinuousModeProperties

名稱 描述
tier 列舉以指出 Continuos 備份模式的類型 “Continuous30Days”
“Continuous7Days”

PeriodicModeBackupPolicy

名稱 描述
類型 描述備份模式。 必要的「定期」 ()
periodicModeProperties 定期模式備份的組態值 PeriodicModeProperties

PeriodicModeProperties

名稱 描述
backupIntervalInMinutes 整數,表示兩個備份之間以分鐘為單位的間隔 int

約束:
最小值 = 0
backupRetentionIntervalInHours 整數,表示保留每個備份) 以小時為單位的時間 ( int

約束:
最小值 = 0
backupStorageRedundancy 表示備份落地類型的列舉 “Geo”
“Local”
“Zone”

功能

名稱 描述
NAME Cosmos DB 功能的名稱。 例如,“name”: “EnableCassandra”。 目前的值也包括 「EnableTable」 和 「EnableGremlin」。。 字串

容量

名稱 描述
totalThroughputLimit 對帳戶加總輸送量限制。 totalThroughputLimit 為 2000,會對該帳戶布建的最大輸送量限制嚴格限製為 2000。 -1 的 totalThroughputLimit 表示布建輸送量沒有限制。 int

ConsistencyPolicy

名稱 描述
defaultConsistencyLevel Cosmos DB 帳戶的預設一致性層級和組態設定。 “BoundedStaleness”
“ConsistentPrefix”
“最終”
“Session”
「強式」 (必要)
maxIntervalInSeconds 搭配限定過期一致性層級使用時,這個值代表容許的) 秒數 (過時的時間量。 此值的接受範圍是 5 - 86400。 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時需要。 int

約束:
最小值 = 5
最大值 = 86400
maxStalenessPrefix 搭配限定過期一致性層級使用時,這個值代表容許的過時要求數目。 此值可接受的範圍是 1 - 2,147,483,647。 defaultConsistencyPolicy 設定為 'BoundedStaleness' 時需要。 int

約束:
最小值 = 1
最大值 = 2147483647

CorsPolicy

名稱 描述
allowedHeaders 原始網域可在 CORS 要求上指定的要求標頭。 字串
allowedMethods 原始網域可能針對 CORS 要求使用的方法 (HTTP 要求動詞命令)。 字串
allowedOrigins 允許透過 CORS 對服務提出要求的來源網域。 字串 (必要)
exposedHeaders 可能包含在對 CORS 要求的回應中傳送,而且由瀏覽器對要求簽發者公開的回應標頭。 字串
maxAgeInSeconds 瀏覽器應快取預檢 OPTIONS 要求的時間量上限。 int

約束:
最小值 = 1
最大值 = 2147483647

DiagnosticLogSettings

名稱 描述
enableFullTextQuery 描述要記錄查詢的詳細數據層級。 "False"
"None"
"True"

IpAddressOrRange

名稱 描述
ipAddressOrRange 單一 IPv4 位址或 CIDR 格式的單一 IPv4 位址範圍。 提供的IP格式必須正確,而且不能包含在下列其中一個範圍:10.0.0.0/8、100.64.0.0/10、172.16.0.0/12、192.168.0.0/16,因為這些是IP位址篩選無法強制執行的。 有效輸入的範例:「23.40.210.245」 或 「23.40.210.0/8」。。 字串

位置

名稱 描述
failoverPriority 區域的故障轉移優先順序。 故障轉移優先順序為 0 表示寫入區域。 故障轉移優先順序的最大值 = (區域總數 - 1) 。 資料庫帳戶所在的每個區域,故障轉移優先順序值都必須是唯一的。 int

約束:
最小值 = 0
isZoneRedundant 指出此區域是否為 AvailabilityZone 區域的旗標 bool
locationName 區域的名稱。 字串

RestoreParameters

名稱 描述
databasesToRestore 可供還原的特定資料庫清單。 DatabaseRestoreResource[]
gremlinDatabasesToRestore 可供還原的特定 gremlin 資料庫清單。 GremlinDatabaseRestoreResource[]
restoreMode 描述還原的模式。 “PointInTime”
restoreSource 必須起始還原之可還原之資料庫帳戶的標識碼。 例如:/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} 字串
restoreTimestampInUtc 帳戶必須還原的時間 (ISO-8601 格式) 。 字串
sourceBackupLocation 還原的來源備份位置。 字串
tablesToRestore 可用於還原的特定數據表清單。 string[]

DatabaseRestoreResource

名稱 描述
collectionNames 可用於還原的集合名稱。 string[]
databaseName 可供還原的資料庫名稱。 字串

GremlinDatabaseRestoreResource

名稱 描述
databaseName 可用於還原的 gremlin 資料庫名稱。 字串
graphNames 可用於還原的圖表名稱。 string[]

VirtualNetworkRule

名稱 描述
id 子網的資源標識符,例如:/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}。 字串
ignoreMissingVNetServiceEndpoint 在虛擬網路已啟用 vnet 服務端點之前建立防火牆規則。 bool