Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
- meest recente
 - 2025-05-01-voorbeeld
 - 2025-04-15
 - 2024-12-01-preview-
 - 2024-11-15
 - 2024-09-01-preview-
 - 2024-08-15
 - 2024-05-15
 - 2024-05-15-preview-
 - 2024-02-15-preview-
 - 2023-11-15
 - 2023-11-15-preview-
 - 2023-09-15
 - 2023-09-15-preview-
 - 2023-04-15
 - 2023-03-15
 - 2023-03-15-preview-
 - 2023-03-01-preview-
 - 2022-11-15
 - 2022-11-15-preview-
 - 2022-08-15
 - 2022-08-15-preview-
 - 2022-05-15
 - 2022-05-15-preview-
 - 2022-02-15-preview-
 - 2021-11-15-preview-
 - 2021-10-15
 - 2021-10-15-preview-
 - 2021-07-01-preview-
 - 2021-06-15
 - 2021-05-15
 - 2021-04-15
 - 2021-04-01-preview-
 - 2021-03-15
 - 2021-03-01-preview-
 - 2021-01-15
 - 2020-09-01
 - 2020-06-01-preview-
 - 2020-04-01
 - 2020-03-01
 - 2019-12-12
 - 2019-08-01
 
Bicep-resourcedefinitie
Het resourcetype databaseAccounts/sqlDatabases/containers kan worden geïmplementeerd met bewerkingen die zijn gericht op:
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Resource Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers wilt maken, voegt u de volgende Bicep toe aan uw sjabloon.
resource symbolicname 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2024-09-01-preview' = {
  parent: resourceSymbolicName
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    options: {
      autoscaleSettings: {
        maxThroughput: int
      }
      throughput: int
    }
    resource: {
      analyticalStorageTtl: int
      clientEncryptionPolicy: {
        includedPaths: [
          {
            clientEncryptionKeyId: 'string'
            encryptionAlgorithm: 'string'
            encryptionType: 'string'
            path: 'string'
          }
        ]
        policyFormatVersion: int
      }
      computedProperties: [
        {
          name: 'string'
          query: 'string'
        }
      ]
      conflictResolutionPolicy: {
        conflictResolutionPath: 'string'
        conflictResolutionProcedure: 'string'
        mode: 'string'
      }
      createMode: 'string'
      defaultTtl: int
      id: 'string'
      indexingPolicy: {
        automatic: bool
        compositeIndexes: [
          [
            {
              order: 'string'
              path: 'string'
            }
          ]
        ]
        excludedPaths: [
          {
            path: 'string'
          }
        ]
        includedPaths: [
          {
            indexes: [
              {
                dataType: 'string'
                kind: 'string'
                precision: int
              }
            ]
            path: 'string'
          }
        ]
        indexingMode: 'string'
        spatialIndexes: [
          {
            path: 'string'
            types: [
              'string'
            ]
          }
        ]
      }
      materializedViewDefinition: {
        definition: 'string'
        sourceCollectionId: 'string'
      }
      partitionKey: {
        kind: 'string'
        paths: [
          'string'
        ]
        version: int
      }
      restoreParameters: {
        restoreSource: 'string'
        restoreTimestampInUtc: 'string'
        restoreWithTtlDisabled: bool
      }
      uniqueKeyPolicy: {
        uniqueKeys: [
          {
            paths: [
              'string'
            ]
          }
        ]
      }
    }
  }
  tags: {
    {customized property}: 'string'
  }
}
Eigenschapswaarden
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Naam | Beschrijving | Waarde | 
|---|---|---|
| identiteit | Identiteit voor de resource. | ManagedServiceIdentity- | 
| plaats | De locatie van de resourcegroep waartoe de resource behoort. | snaar | 
| naam | De resourcenaam | tekenreeks (vereist) | 
| ouder | In Bicep kunt u de bovenliggende resource voor een onderliggende resource opgeven. U hoeft deze eigenschap alleen toe te voegen wanneer de onderliggende resource buiten de bovenliggende resource wordt gedeclareerd. Zie onderliggende resource buiten de bovenliggende resourcevoor meer informatie.  | 
Symbolische naam voor resource van het type: databaseAccounts/sqlDatabases | 
| Eigenschappen | Eigenschappen voor het maken en bijwerken van azure Cosmos DB-container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (vereist) | 
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen | 
Instellingen voor automatisch schalen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| maximale doorvoer | Vertegenwoordigt de maximale doorvoer, de resource kan omhoog worden geschaald. | Int | 
ClientEncryptionIncludedPath
| Naam | Beschrijving | Waarde | 
|---|---|---|
| clientEncryptionKeyId | De id van de clientversleutelingssleutel die moet worden gebruikt om het pad te versleutelen. | tekenreeks (vereist) | 
| encryptieAlgoritme | Het versleutelingsalgoritmen dat wordt gebruikt. Bijvoorbeeld- AEAD_AES_256_CBC_HMAC_SHA256. | tekenreeks (vereist) | 
| encryptie Type | Het type versleuteling dat moet worden uitgevoerd. Bijvoorbeeld: deterministisch, gerandomiseerd. | tekenreeks (vereist) | 
| pad | Pad dat moet worden versleuteld. | tekenreeks (vereist) | 
ClientEncryptionPolicy
| Naam | Beschrijving | Waarde | 
|---|---|---|
| inbegrepenPaden | Paden van het item dat versleuteling nodig heeft, samen met padspecifieke instellingen. | ClientEncryptionIncludedPath[] (vereist) | 
| policyFormatVersion | Versie van de definitie van het clientversleutelingsbeleid. Ondersteunde versies zijn 1 en 2. Versie 2 ondersteunt versleuteling van id- en partitiesleutelpaden. | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2 (vereist)  | 
Componenten1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties
| Naam | Beschrijving | Waarde | 
|---|
Samengesteld pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| bevelen | Sorteervolgorde voor samengestelde paden. | 'oplopend' 'aflopend'  | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Berekend eigendom
| Naam | Beschrijving | Waarde | 
|---|---|---|
| naam | De naam van een berekende eigenschap, bijvoorbeeld 'cp_lowerName' | snaar | 
| vraag | De query waarmee de waarde voor de berekende eigenschap wordt geëvalueerd, bijvoorbeeld 'SELECT VALUE LOWER(c.name) FROM c' | snaar | 
Beleid voor conflictoplossing
| Naam | Beschrijving | Waarde | 
|---|---|---|
| conflictResolutiePad | Het pad naar conflictoplossing in het geval van de LastWriterWins-modus. | snaar | 
| conflictoplossingProcedure | De procedure voor het oplossen van conflicten in het geval van aangepaste modus. | snaar | 
| wijze | Geeft de conflictoplossingsmodus aan. | 'Aangepast' 'Laatste Schrijverwint'  | 
ContainerPartitionKey
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Geeft het type algoritme aan dat wordt gebruikt voor partitionering. Voor MultiHash worden meerdere partitiesleutels (maximaal drie maximum) ondersteund voor het maken van containers | 'Hasj' 'MultiHash' 'Bereik'  | 
| Paden | Lijst met paden waarmee gegevens in de container kunnen worden gepartitioneerd | tekenreeks[] | 
| Versie | Geeft de versie van de definitie van de partitiesleutel aan | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2  | 
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Naam | Beschrijving | Waarde | 
|---|---|---|
| autoscale-instellingen | Hiermee geeft u de instellingen voor automatisch schalen. Opmerking: doorvoer of autoscaleSettings is vereist, maar niet beide. | Instellingen voor automatisch schalen | 
| Doorvoer | Aanvraageenheden per seconde. Bijvoorbeeld 'doorvoer': 10000. | Int | 
UitgeslotenPad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Inbegrepen pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Indexen | Lijst met indexen voor dit pad | indexen[] | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Indexen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Datatype | Het gegevenstype waarop het indexeringsgedrag wordt toegepast. | 'Lijn String' 'Multiveelhoek' 'Getal' 'Punt' 'Veelhoek' 'Tekenreeks'  | 
| soort | Geeft het type index aan. | 'Hasj' 'Bereik' 'Ruimtelijk'  | 
| precisie | De precisie van de index. -1 is maximale precisie. | Int | 
Indexeerbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Automatisch | Geeft aan of het indexeringsbeleid automatisch is | Bool | 
| samengestelde indexen | Lijst met samengestelde padlijst | SamengesteldeWeg[][] | 
| excludedPaths | Lijst met paden die moeten worden uitgesloten van indexering | UitgeslotenPad | 
| inbegrepenPaden | Lijst met paden die moeten worden opgenomen in de indexering | IncludedPath-[] | 
| indexeren | Geeft de indexeringsmodus aan. | 'Consistent' 'luie' 'geen'  | 
| ruimtelijke indexen | Lijst met ruimtelijke gegevens | SpatialSpec | 
Beheerde ServiceIdentity
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Het type identiteit dat wordt gebruikt voor de resource. Het type SystemAssigned, UserAssigned bevat zowel een impliciet gemaakte identiteit als een set door de gebruiker toegewezen identiteiten. Met het type None worden alle identiteiten uit de service verwijderd. | 'Geen' 'Systeem toegewezen' 'SystemAssigned, UserAssigned' UserAssigned  | 
| gebruikers-toegewezen identiteiten | De lijst met gebruikersidentiteiten die zijn gekoppeld aan de resource. De sleutelverwijzingen voor de gebruikersidentiteitswoordenlijst zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. | ManagedServiceIdentityUserAssignedIdentities | 
ManagedServiceIdentityUserAssignedIdentities
| Naam | Beschrijving | Waarde | 
|---|
GematerialiseerdeWeergaveDefinitie
| Naam | Beschrijving | Waarde | 
|---|---|---|
| definitie | De definitie moet een SQL-query zijn die wordt gebruikt om gegevens op te halen uit de broncontainer om deze in te vullen in de container Gerealiseerde weergave. | tekenreeks (vereist) | 
| bronCollectionId | De naam van de broncontainer waarop de gerealiseerde weergave wordt gemaakt. | tekenreeks (vereist) | 
ResourceRestoreParameters
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Bron herstellen | De id van het herstelbare databaseaccount van waaruit het herstel moet worden gestart. Bijvoorbeeld: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | snaar | 
| herstelTimestampInUtc | Tijd waarop het account moet worden hersteld (ISO-8601-indeling). | snaar | 
| restoreWithTtlDisabled | Hiermee geeft u op of het herstelde account tijd-To-Live uitgeschakeld bij het herstellen. | Bool | 
Ruimtelijke specificaties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
| Typen | Lijst met het ruimtelijke type pad | Tekenreeksmatrix met een van de volgende waarden: 'Lijn String' 'Multiveelhoek' 'Punt' 'Veelhoek'  | 
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Opties | Een sleutel-waardepaar met opties die moeten worden toegepast voor de aanvraag. Dit komt overeen met de headers die met de aanvraag zijn verzonden. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions- | 
| hulpbron | De standaard JSON-indeling van een container | SqlContainerResourceOrSqlContainerGetPropertiesResource (vereist) | 
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Naam | Beschrijving | Waarde | 
|---|---|---|
| analyticalStorageTtl | Analytische TTL. | Int | 
| clientEncryptionPolicy | Het clientversleutelingsbeleid voor de container. | ClientEncryptionPolicy- | 
| berekende eigenschappen | Lijst met berekende eigenschappen | Berekende eigenschap | 
| conflictoplossingBeleid | Het conflictoplossingsbeleid voor de container. | ConflictResolutionPolicy- | 
| createMode | Opsomming om de modus voor het maken van resources aan te geven. | 'Standaard' 'Herstellen'  | 
| standaardTtl | Standaardtijd tot leven | Int | 
| legitimatiebewijs | Naam van de Cosmos DB SQL-container | tekenreeks (vereist) | 
| indexeringsbeleid | De configuratie van het indexeringsbeleid. De indexering is standaard automatisch voor alle documentpaden in de container | IndexingPolicy- | 
| gematerialiseerdeWeergaveDefinitie | De configuratie voor het definiëren van gerealiseerde weergaven. Dit moet alleen worden opgegeven voor het maken van een gerealiseerde weergavecontainer. | MaterializedViewDefinition- | 
| partitiesleutel | De configuratie van de partitiesleutel die moet worden gebruikt voor het partitioneren van gegevens in meerdere partities | ContainerPartitionKey | 
| Parameters herstellen | Parameters om de informatie over de herstelbewerking aan te geven | ResourceRestoreParameters | 
| uniqueKeyPolicy | De configuratie van het unieke sleutelbeleid voor het opgeven van beperkingen voor uniekheid voor documenten in de verzameling in de Azure Cosmos DB-service. | UniqueKeyPolicy- | 
Tags
| Naam | Beschrijving | Waarde | 
|---|
Unieke sleutel
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Paden | Lijst met paden moet uniek zijn voor elk document in de Azure Cosmos DB-service | tekenreeks[] | 
Uniek sleutelbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| uniekeSleutels | Lijst met unieke sleutels waarmee een beperking voor uniekheid wordt afgedwongen voor documenten in de verzameling in de Azure Cosmos DB-service. | Unieke sleutel | 
Gebruiksvoorbeelden
Azure-snelstartvoorbeelden
De volgende Azure-quickstartsjablonen bicep-voorbeelden bevatten voor het implementeren van dit resourcetype.
| Bicep-bestand | Beschrijving | 
|---|---|
| SQL API voor Azure Cosmos DB-account met analytische opslag | Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container die is geconfigureerd met analytische opslag. | 
| Een Gratis Azure Cosmos DB-account maken | Met deze sjabloon maakt u een Gratis Azure Cosmos DB-account voor SQL API met een database met gedeelde doorvoer en container. | 
| Een Azure Cosmos DB-account maken voor Core (SQL) API- | Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container met doorvoer met meerdere andere opties. | 
| Een SQL API voor een Azure Cosmos DB-account maken met automatische schaalaanpassing | Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container met doorvoer voor automatische schaalaanpassing met meerdere andere opties. | 
| Opgeslagen procedures voor azure Cosmos DB Core (SQL) MAKEN | Met deze sjabloon maakt u een Azure Cosmos DB-account voor Core (SQL) API en een container met een opgeslagen procedure, trigger en door de gebruiker gedefinieerde functie. | 
| Maakt een Dapr-microservices-app met container-apps | Een Dapr-microservices-app maken met behulp van Container Apps. | 
| Maakt een Dapr pub-sub servicebus-app met behulp van Container Apps | Maak een Dapr pub-sub servicebus-app met behulp van Container Apps. | 
| Azure Data Explorer DB implementeren met Cosmos DB-verbinding | Azure Data Explorer DB implementeren met Cosmos DB-verbinding. | 
Resourcedefinitie van ARM-sjabloon
Het resourcetype databaseAccounts/sqlDatabases/containers kan worden geïmplementeerd met bewerkingen die zijn gericht op:
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Resource Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers wilt maken, voegt u de volgende JSON toe aan uw sjabloon.
{
  "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers",
  "apiVersion": "2024-09-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "options": {
      "autoscaleSettings": {
        "maxThroughput": "int"
      },
      "throughput": "int"
    },
    "resource": {
      "analyticalStorageTtl": "int",
      "clientEncryptionPolicy": {
        "includedPaths": [
          {
            "clientEncryptionKeyId": "string",
            "encryptionAlgorithm": "string",
            "encryptionType": "string",
            "path": "string"
          }
        ],
        "policyFormatVersion": "int"
      },
      "computedProperties": [
        {
          "name": "string",
          "query": "string"
        }
      ],
      "conflictResolutionPolicy": {
        "conflictResolutionPath": "string",
        "conflictResolutionProcedure": "string",
        "mode": "string"
      },
      "createMode": "string",
      "defaultTtl": "int",
      "id": "string",
      "indexingPolicy": {
        "automatic": "bool",
        "compositeIndexes": [
          [
            {
              "order": "string",
              "path": "string"
            }
          ]
        ],
        "excludedPaths": [
          {
            "path": "string"
          }
        ],
        "includedPaths": [
          {
            "indexes": [
              {
                "dataType": "string",
                "kind": "string",
                "precision": "int"
              }
            ],
            "path": "string"
          }
        ],
        "indexingMode": "string",
        "spatialIndexes": [
          {
            "path": "string",
            "types": [ "string" ]
          }
        ]
      },
      "materializedViewDefinition": {
        "definition": "string",
        "sourceCollectionId": "string"
      },
      "partitionKey": {
        "kind": "string",
        "paths": [ "string" ],
        "version": "int"
      },
      "restoreParameters": {
        "restoreSource": "string",
        "restoreTimestampInUtc": "string",
        "restoreWithTtlDisabled": "bool"
      },
      "uniqueKeyPolicy": {
        "uniqueKeys": [
          {
            "paths": [ "string" ]
          }
        ]
      }
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}
Eigenschapswaarden
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Naam | Beschrijving | Waarde | 
|---|---|---|
| apiVersion | De API-versie | '2024-09-01-voorbeschouwing' | 
| identiteit | Identiteit voor de resource. | ManagedServiceIdentity- | 
| plaats | De locatie van de resourcegroep waartoe de resource behoort. | snaar | 
| naam | De resourcenaam | tekenreeks (vereist) | 
| Eigenschappen | Eigenschappen voor het maken en bijwerken van azure Cosmos DB-container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (vereist) | 
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. Zie Tags in sjablonen | 
| soort | Het resourcetype | 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers' | 
Instellingen voor automatisch schalen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| maximale doorvoer | Vertegenwoordigt de maximale doorvoer, de resource kan omhoog worden geschaald. | Int | 
ClientEncryptionIncludedPath
| Naam | Beschrijving | Waarde | 
|---|---|---|
| clientEncryptionKeyId | De id van de clientversleutelingssleutel die moet worden gebruikt om het pad te versleutelen. | tekenreeks (vereist) | 
| encryptieAlgoritme | Het versleutelingsalgoritmen dat wordt gebruikt. Bijvoorbeeld- AEAD_AES_256_CBC_HMAC_SHA256. | tekenreeks (vereist) | 
| encryptie Type | Het type versleuteling dat moet worden uitgevoerd. Bijvoorbeeld: deterministisch, gerandomiseerd. | tekenreeks (vereist) | 
| pad | Pad dat moet worden versleuteld. | tekenreeks (vereist) | 
ClientEncryptionPolicy
| Naam | Beschrijving | Waarde | 
|---|---|---|
| inbegrepenPaden | Paden van het item dat versleuteling nodig heeft, samen met padspecifieke instellingen. | ClientEncryptionIncludedPath[] (vereist) | 
| policyFormatVersion | Versie van de definitie van het clientversleutelingsbeleid. Ondersteunde versies zijn 1 en 2. Versie 2 ondersteunt versleuteling van id- en partitiesleutelpaden. | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2 (vereist)  | 
Componenten1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties
| Naam | Beschrijving | Waarde | 
|---|
Samengesteld pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| bevelen | Sorteervolgorde voor samengestelde paden. | 'oplopend' 'aflopend'  | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Berekend eigendom
| Naam | Beschrijving | Waarde | 
|---|---|---|
| naam | De naam van een berekende eigenschap, bijvoorbeeld 'cp_lowerName' | snaar | 
| vraag | De query waarmee de waarde voor de berekende eigenschap wordt geëvalueerd, bijvoorbeeld 'SELECT VALUE LOWER(c.name) FROM c' | snaar | 
Beleid voor conflictoplossing
| Naam | Beschrijving | Waarde | 
|---|---|---|
| conflictResolutiePad | Het pad naar conflictoplossing in het geval van de LastWriterWins-modus. | snaar | 
| conflictoplossingProcedure | De procedure voor het oplossen van conflicten in het geval van aangepaste modus. | snaar | 
| wijze | Geeft de conflictoplossingsmodus aan. | 'Aangepast' 'Laatste Schrijverwint'  | 
ContainerPartitionKey
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Geeft het type algoritme aan dat wordt gebruikt voor partitionering. Voor MultiHash worden meerdere partitiesleutels (maximaal drie maximum) ondersteund voor het maken van containers | 'Hasj' 'MultiHash' 'Bereik'  | 
| Paden | Lijst met paden waarmee gegevens in de container kunnen worden gepartitioneerd | tekenreeks[] | 
| Versie | Geeft de versie van de definitie van de partitiesleutel aan | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2  | 
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Naam | Beschrijving | Waarde | 
|---|---|---|
| autoscale-instellingen | Hiermee geeft u de instellingen voor automatisch schalen. Opmerking: doorvoer of autoscaleSettings is vereist, maar niet beide. | Instellingen voor automatisch schalen | 
| Doorvoer | Aanvraageenheden per seconde. Bijvoorbeeld 'doorvoer': 10000. | Int | 
UitgeslotenPad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Inbegrepen pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Indexen | Lijst met indexen voor dit pad | indexen[] | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Indexen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Datatype | Het gegevenstype waarop het indexeringsgedrag wordt toegepast. | 'Lijn String' 'Multiveelhoek' 'Getal' 'Punt' 'Veelhoek' 'Tekenreeks'  | 
| soort | Geeft het type index aan. | 'Hasj' 'Bereik' 'Ruimtelijk'  | 
| precisie | De precisie van de index. -1 is maximale precisie. | Int | 
Indexeerbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Automatisch | Geeft aan of het indexeringsbeleid automatisch is | Bool | 
| samengestelde indexen | Lijst met samengestelde padlijst | SamengesteldeWeg[][] | 
| excludedPaths | Lijst met paden die moeten worden uitgesloten van indexering | UitgeslotenPad | 
| inbegrepenPaden | Lijst met paden die moeten worden opgenomen in de indexering | IncludedPath-[] | 
| indexeren | Geeft de indexeringsmodus aan. | 'Consistent' 'luie' 'geen'  | 
| ruimtelijke indexen | Lijst met ruimtelijke gegevens | SpatialSpec | 
Beheerde ServiceIdentity
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Het type identiteit dat wordt gebruikt voor de resource. Het type SystemAssigned, UserAssigned bevat zowel een impliciet gemaakte identiteit als een set door de gebruiker toegewezen identiteiten. Met het type None worden alle identiteiten uit de service verwijderd. | 'Geen' 'Systeem toegewezen' 'SystemAssigned, UserAssigned' UserAssigned  | 
| gebruikers-toegewezen identiteiten | De lijst met gebruikersidentiteiten die zijn gekoppeld aan de resource. De sleutelverwijzingen voor de gebruikersidentiteitswoordenlijst zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. | ManagedServiceIdentityUserAssignedIdentities | 
ManagedServiceIdentityUserAssignedIdentities
| Naam | Beschrijving | Waarde | 
|---|
GematerialiseerdeWeergaveDefinitie
| Naam | Beschrijving | Waarde | 
|---|---|---|
| definitie | De definitie moet een SQL-query zijn die wordt gebruikt om gegevens op te halen uit de broncontainer om deze in te vullen in de container Gerealiseerde weergave. | tekenreeks (vereist) | 
| bronCollectionId | De naam van de broncontainer waarop de gerealiseerde weergave wordt gemaakt. | tekenreeks (vereist) | 
ResourceRestoreParameters
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Bron herstellen | De id van het herstelbare databaseaccount van waaruit het herstel moet worden gestart. Bijvoorbeeld: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | snaar | 
| herstelTimestampInUtc | Tijd waarop het account moet worden hersteld (ISO-8601-indeling). | snaar | 
| restoreWithTtlDisabled | Hiermee geeft u op of het herstelde account tijd-To-Live uitgeschakeld bij het herstellen. | Bool | 
Ruimtelijke specificaties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
| Typen | Lijst met het ruimtelijke type pad | Tekenreeksmatrix met een van de volgende waarden: 'Lijn String' 'Multiveelhoek' 'Punt' 'Veelhoek'  | 
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Opties | Een sleutel-waardepaar met opties die moeten worden toegepast voor de aanvraag. Dit komt overeen met de headers die met de aanvraag zijn verzonden. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions- | 
| hulpbron | De standaard JSON-indeling van een container | SqlContainerResourceOrSqlContainerGetPropertiesResource (vereist) | 
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Naam | Beschrijving | Waarde | 
|---|---|---|
| analyticalStorageTtl | Analytische TTL. | Int | 
| clientEncryptionPolicy | Het clientversleutelingsbeleid voor de container. | ClientEncryptionPolicy- | 
| berekende eigenschappen | Lijst met berekende eigenschappen | Berekende eigenschap | 
| conflictoplossingBeleid | Het conflictoplossingsbeleid voor de container. | ConflictResolutionPolicy- | 
| createMode | Opsomming om de modus voor het maken van resources aan te geven. | 'Standaard' 'Herstellen'  | 
| standaardTtl | Standaardtijd tot leven | Int | 
| legitimatiebewijs | Naam van de Cosmos DB SQL-container | tekenreeks (vereist) | 
| indexeringsbeleid | De configuratie van het indexeringsbeleid. De indexering is standaard automatisch voor alle documentpaden in de container | IndexingPolicy- | 
| gematerialiseerdeWeergaveDefinitie | De configuratie voor het definiëren van gerealiseerde weergaven. Dit moet alleen worden opgegeven voor het maken van een gerealiseerde weergavecontainer. | MaterializedViewDefinition- | 
| partitiesleutel | De configuratie van de partitiesleutel die moet worden gebruikt voor het partitioneren van gegevens in meerdere partities | ContainerPartitionKey | 
| Parameters herstellen | Parameters om de informatie over de herstelbewerking aan te geven | ResourceRestoreParameters | 
| uniqueKeyPolicy | De configuratie van het unieke sleutelbeleid voor het opgeven van beperkingen voor uniekheid voor documenten in de verzameling in de Azure Cosmos DB-service. | UniqueKeyPolicy- | 
Tags
| Naam | Beschrijving | Waarde | 
|---|
Unieke sleutel
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Paden | Lijst met paden moet uniek zijn voor elk document in de Azure Cosmos DB-service | tekenreeks[] | 
Uniek sleutelbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| uniekeSleutels | Lijst met unieke sleutels waarmee een beperking voor uniekheid wordt afgedwongen voor documenten in de verzameling in de Azure Cosmos DB-service. | Unieke sleutel | 
Gebruiksvoorbeelden
Azure-snelstartsjablonen
De volgende Azure-quickstartsjablonen dit resourcetype implementeren.
| Sjabloon | Beschrijving | 
|---|---|
| 
              SQL API voor Azure Cosmos DB-account met analytische opslag | 
Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container die is geconfigureerd met analytische opslag. | 
| 
              Een Gratis Azure Cosmos DB-account maken | 
Met deze sjabloon maakt u een Gratis Azure Cosmos DB-account voor SQL API met een database met gedeelde doorvoer en container. | 
| 
              Een Azure Cosmos DB-account maken voor Core (SQL) API- | 
Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container met doorvoer met meerdere andere opties. | 
| 
              Een SQL API voor een Azure Cosmos DB-account maken met automatische schaalaanpassing | 
Met deze sjabloon maakt u een Azure Cosmos-account voor Core (SQL) API met een database en container met doorvoer voor automatische schaalaanpassing met meerdere andere opties. | 
| 
              Opgeslagen procedures voor azure Cosmos DB Core (SQL) MAKEN | 
Met deze sjabloon maakt u een Azure Cosmos DB-account voor Core (SQL) API en een container met een opgeslagen procedure, trigger en door de gebruiker gedefinieerde functie. | 
| 
              Maakt een Dapr-microservices-app met container-apps | 
Een Dapr-microservices-app maken met behulp van Container Apps. | 
| 
              Maakt een Dapr pub-sub servicebus-app met behulp van Container Apps | 
Maak een Dapr pub-sub servicebus-app met behulp van Container Apps. | 
| 
              Azure Data Explorer DB implementeren met Cosmos DB-verbinding | 
Azure Data Explorer DB implementeren met Cosmos DB-verbinding. | 
Resourcedefinitie van Terraform (AzAPI-provider)
Het resourcetype databaseAccounts/sqlDatabases/containers kan worden geïmplementeerd met bewerkingen die zijn gericht op:
Zie logboek wijzigenvoor een lijst met gewijzigde eigenschappen in elke API-versie.
Resource-indeling
Als u een Resource Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers wilt maken, voegt u de volgende Terraform toe aan uw sjabloon.
resource "azapi_resource" "symbolicname" {
  type = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2024-09-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      options = {
        autoscaleSettings = {
          maxThroughput = int
        }
        throughput = int
      }
      resource = {
        analyticalStorageTtl = int
        clientEncryptionPolicy = {
          includedPaths = [
            {
              clientEncryptionKeyId = "string"
              encryptionAlgorithm = "string"
              encryptionType = "string"
              path = "string"
            }
          ]
          policyFormatVersion = int
        }
        computedProperties = [
          {
            name = "string"
            query = "string"
          }
        ]
        conflictResolutionPolicy = {
          conflictResolutionPath = "string"
          conflictResolutionProcedure = "string"
          mode = "string"
        }
        createMode = "string"
        defaultTtl = int
        id = "string"
        indexingPolicy = {
          automatic = bool
          compositeIndexes = [
            [
              {
                order = "string"
                path = "string"
              }
            ]
          ]
          excludedPaths = [
            {
              path = "string"
            }
          ]
          includedPaths = [
            {
              indexes = [
                {
                  dataType = "string"
                  kind = "string"
                  precision = int
                }
              ]
              path = "string"
            }
          ]
          indexingMode = "string"
          spatialIndexes = [
            {
              path = "string"
              types = [
                "string"
              ]
            }
          ]
        }
        materializedViewDefinition = {
          definition = "string"
          sourceCollectionId = "string"
        }
        partitionKey = {
          kind = "string"
          paths = [
            "string"
          ]
          version = int
        }
        restoreParameters = {
          restoreSource = "string"
          restoreTimestampInUtc = "string"
          restoreWithTtlDisabled = bool
        }
        uniqueKeyPolicy = {
          uniqueKeys = [
            {
              paths = [
                "string"
              ]
            }
          ]
        }
      }
    }
  }
}
Eigenschapswaarden
Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers
| Naam | Beschrijving | Waarde | 
|---|---|---|
| identiteit | Identiteit voor de resource. | ManagedServiceIdentity- | 
| plaats | De locatie van de resourcegroep waartoe de resource behoort. | snaar | 
| naam | De resourcenaam | tekenreeks (vereist) | 
| ouder_id | De id van de resource die het bovenliggende item voor deze resource is. | Id voor resource van het type: databaseAccounts/sqlDatabases | 
| Eigenschappen | Eigenschappen voor het maken en bijwerken van azure Cosmos DB-container. | SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties (vereist) | 
| Tags | Resourcetags | Woordenlijst met tagnamen en -waarden. | 
| soort | Het resourcetype | "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2024-09-01-preview" | 
Instellingen voor automatisch schalen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| maximale doorvoer | Vertegenwoordigt de maximale doorvoer, de resource kan omhoog worden geschaald. | Int | 
ClientEncryptionIncludedPath
| Naam | Beschrijving | Waarde | 
|---|---|---|
| clientEncryptionKeyId | De id van de clientversleutelingssleutel die moet worden gebruikt om het pad te versleutelen. | tekenreeks (vereist) | 
| encryptieAlgoritme | Het versleutelingsalgoritmen dat wordt gebruikt. Bijvoorbeeld- AEAD_AES_256_CBC_HMAC_SHA256. | tekenreeks (vereist) | 
| encryptie Type | Het type versleuteling dat moet worden uitgevoerd. Bijvoorbeeld: deterministisch, gerandomiseerd. | tekenreeks (vereist) | 
| pad | Pad dat moet worden versleuteld. | tekenreeks (vereist) | 
ClientEncryptionPolicy
| Naam | Beschrijving | Waarde | 
|---|---|---|
| inbegrepenPaden | Paden van het item dat versleuteling nodig heeft, samen met padspecifieke instellingen. | ClientEncryptionIncludedPath[] (vereist) | 
| policyFormatVersion | Versie van de definitie van het clientversleutelingsbeleid. Ondersteunde versies zijn 1 en 2. Versie 2 ondersteunt versleuteling van id- en partitiesleutelpaden. | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2 (vereist)  | 
Componenten1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties
| Naam | Beschrijving | Waarde | 
|---|
Samengesteld pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| bevelen | Sorteervolgorde voor samengestelde paden. | 'oplopend' 'aflopend'  | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Berekend eigendom
| Naam | Beschrijving | Waarde | 
|---|---|---|
| naam | De naam van een berekende eigenschap, bijvoorbeeld 'cp_lowerName' | snaar | 
| vraag | De query waarmee de waarde voor de berekende eigenschap wordt geëvalueerd, bijvoorbeeld 'SELECT VALUE LOWER(c.name) FROM c' | snaar | 
Beleid voor conflictoplossing
| Naam | Beschrijving | Waarde | 
|---|---|---|
| conflictResolutiePad | Het pad naar conflictoplossing in het geval van de LastWriterWins-modus. | snaar | 
| conflictoplossingProcedure | De procedure voor het oplossen van conflicten in het geval van aangepaste modus. | snaar | 
| wijze | Geeft de conflictoplossingsmodus aan. | 'Aangepast' 'Laatste Schrijverwint'  | 
ContainerPartitionKey
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Geeft het type algoritme aan dat wordt gebruikt voor partitionering. Voor MultiHash worden meerdere partitiesleutels (maximaal drie maximum) ondersteund voor het maken van containers | 'Hasj' 'MultiHash' 'Bereik'  | 
| Paden | Lijst met paden waarmee gegevens in de container kunnen worden gepartitioneerd | tekenreeks[] | 
| Versie | Geeft de versie van de definitie van de partitiesleutel aan | Int  Beperkingen: Minimumwaarde = 1 Maximumwaarde = 2  | 
CreateUpdateOptionsOrSqlContainerGetPropertiesOptions
| Naam | Beschrijving | Waarde | 
|---|---|---|
| autoscale-instellingen | Hiermee geeft u de instellingen voor automatisch schalen. Opmerking: doorvoer of autoscaleSettings is vereist, maar niet beide. | Instellingen voor automatisch schalen | 
| Doorvoer | Aanvraageenheden per seconde. Bijvoorbeeld 'doorvoer': 10000. | Int | 
UitgeslotenPad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Inbegrepen pad
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Indexen | Lijst met indexen voor dit pad | indexen[] | 
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
Indexen
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Datatype | Het gegevenstype waarop het indexeringsgedrag wordt toegepast. | 'Lijn String' 'Multiveelhoek' 'Getal' 'Punt' 'Veelhoek' 'Tekenreeks'  | 
| soort | Geeft het type index aan. | 'Hasj' 'Bereik' 'Ruimtelijk'  | 
| precisie | De precisie van de index. -1 is maximale precisie. | Int | 
Indexeerbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Automatisch | Geeft aan of het indexeringsbeleid automatisch is | Bool | 
| samengestelde indexen | Lijst met samengestelde padlijst | SamengesteldeWeg[][] | 
| excludedPaths | Lijst met paden die moeten worden uitgesloten van indexering | UitgeslotenPad | 
| inbegrepenPaden | Lijst met paden die moeten worden opgenomen in de indexering | IncludedPath-[] | 
| indexeren | Geeft de indexeringsmodus aan. | 'Consistent' 'luie' 'geen'  | 
| ruimtelijke indexen | Lijst met ruimtelijke gegevens | SpatialSpec | 
Beheerde ServiceIdentity
| Naam | Beschrijving | Waarde | 
|---|---|---|
| soort | Het type identiteit dat wordt gebruikt voor de resource. Het type SystemAssigned, UserAssigned bevat zowel een impliciet gemaakte identiteit als een set door de gebruiker toegewezen identiteiten. Met het type None worden alle identiteiten uit de service verwijderd. | 'Geen' 'Systeem toegewezen' 'SystemAssigned, UserAssigned' UserAssigned  | 
| gebruikers-toegewezen identiteiten | De lijst met gebruikersidentiteiten die zijn gekoppeld aan de resource. De sleutelverwijzingen voor de gebruikersidentiteitswoordenlijst zijn ARM-resource-id's in de vorm: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. | ManagedServiceIdentityUserAssignedIdentities | 
ManagedServiceIdentityUserAssignedIdentities
| Naam | Beschrijving | Waarde | 
|---|
GematerialiseerdeWeergaveDefinitie
| Naam | Beschrijving | Waarde | 
|---|---|---|
| definitie | De definitie moet een SQL-query zijn die wordt gebruikt om gegevens op te halen uit de broncontainer om deze in te vullen in de container Gerealiseerde weergave. | tekenreeks (vereist) | 
| bronCollectionId | De naam van de broncontainer waarop de gerealiseerde weergave wordt gemaakt. | tekenreeks (vereist) | 
ResourceRestoreParameters
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Bron herstellen | De id van het herstelbare databaseaccount van waaruit het herstel moet worden gestart. Bijvoorbeeld: /subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{restorableDatabaseAccountName} | snaar | 
| herstelTimestampInUtc | Tijd waarop het account moet worden hersteld (ISO-8601-indeling). | snaar | 
| restoreWithTtlDisabled | Hiermee geeft u op of het herstelde account tijd-To-Live uitgeschakeld bij het herstellen. | Bool | 
Ruimtelijke specificaties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| pad | Het pad waarop het indexeringsgedrag van toepassing is. Indexpaden beginnen meestal met de hoofdmap en eindigen met jokertekens (/pad/*) | snaar | 
| Typen | Lijst met het ruimtelijke type pad | Tekenreeksmatrix met een van de volgende waarden: 'Lijn String' 'Multiveelhoek' 'Punt' 'Veelhoek'  | 
SqlContainerCreateUpdatePropertiesOrSqlContainerGetProperties
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Opties | Een sleutel-waardepaar met opties die moeten worden toegepast voor de aanvraag. Dit komt overeen met de headers die met de aanvraag zijn verzonden. | CreateUpdateOptionsOrSqlContainerGetPropertiesOptions- | 
| hulpbron | De standaard JSON-indeling van een container | SqlContainerResourceOrSqlContainerGetPropertiesResource (vereist) | 
SqlContainerResourceOrSqlContainerGetPropertiesResource
| Naam | Beschrijving | Waarde | 
|---|---|---|
| analyticalStorageTtl | Analytische TTL. | Int | 
| clientEncryptionPolicy | Het clientversleutelingsbeleid voor de container. | ClientEncryptionPolicy- | 
| berekende eigenschappen | Lijst met berekende eigenschappen | Berekende eigenschap | 
| conflictoplossingBeleid | Het conflictoplossingsbeleid voor de container. | ConflictResolutionPolicy- | 
| createMode | Opsomming om de modus voor het maken van resources aan te geven. | 'Standaard' 'Herstellen'  | 
| standaardTtl | Standaardtijd tot leven | Int | 
| legitimatiebewijs | Naam van de Cosmos DB SQL-container | tekenreeks (vereist) | 
| indexeringsbeleid | De configuratie van het indexeringsbeleid. De indexering is standaard automatisch voor alle documentpaden in de container | IndexingPolicy- | 
| gematerialiseerdeWeergaveDefinitie | De configuratie voor het definiëren van gerealiseerde weergaven. Dit moet alleen worden opgegeven voor het maken van een gerealiseerde weergavecontainer. | MaterializedViewDefinition- | 
| partitiesleutel | De configuratie van de partitiesleutel die moet worden gebruikt voor het partitioneren van gegevens in meerdere partities | ContainerPartitionKey | 
| Parameters herstellen | Parameters om de informatie over de herstelbewerking aan te geven | ResourceRestoreParameters | 
| uniqueKeyPolicy | De configuratie van het unieke sleutelbeleid voor het opgeven van beperkingen voor uniekheid voor documenten in de verzameling in de Azure Cosmos DB-service. | UniqueKeyPolicy- | 
Tags
| Naam | Beschrijving | Waarde | 
|---|
Unieke sleutel
| Naam | Beschrijving | Waarde | 
|---|---|---|
| Paden | Lijst met paden moet uniek zijn voor elk document in de Azure Cosmos DB-service | tekenreeks[] | 
Uniek sleutelbeleid
| Naam | Beschrijving | Waarde | 
|---|---|---|
| uniekeSleutels | Lijst met unieke sleutels waarmee een beperking voor uniekheid wordt afgedwongen voor documenten in de verzameling in de Azure Cosmos DB-service. | Unieke sleutel | 
Gebruiksvoorbeelden
Terraform-monsters
Een eenvoudig voorbeeld van het implementeren van SQL Container binnen een Cosmos DB-account.
terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}
provider "azapi" {
  skip_provider_registration = false
}
variable "resource_name" {
  type    = string
  default = "acctest0001"
}
variable "location" {
  type    = string
  default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}
resource "azapi_resource" "databaseAccount" {
  type      = "Microsoft.DocumentDB/databaseAccounts@2021-10-15"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    kind = "GlobalDocumentDB"
    properties = {
      capabilities = [
      ]
      consistencyPolicy = {
        defaultConsistencyLevel = "BoundedStaleness"
        maxIntervalInSeconds    = 10
        maxStalenessPrefix      = 200
      }
      databaseAccountOfferType           = "Standard"
      defaultIdentity                    = "FirstPartyIdentity"
      disableKeyBasedMetadataWriteAccess = false
      disableLocalAuth                   = false
      enableAnalyticalStorage            = false
      enableAutomaticFailover            = false
      enableFreeTier                     = false
      enableMultipleWriteLocations       = false
      ipRules = [
      ]
      isVirtualNetworkFilterEnabled = false
      locations = [
        {
          failoverPriority = 0
          isZoneRedundant  = false
          locationName     = "West Europe"
        },
      ]
      networkAclBypass = "None"
      networkAclBypassResourceIds = [
      ]
      publicNetworkAccess = "Enabled"
      virtualNetworkRules = [
      ]
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}
resource "azapi_resource" "sqlDatabase" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2021-10-15"
  parent_id = azapi_resource.databaseAccount.id
  name      = var.resource_name
  body = {
    properties = {
      options = {
        throughput = 400
      }
      resource = {
        id = var.resource_name
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}
resource "azapi_resource" "container" {
  type      = "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers@2023-04-15"
  parent_id = azapi_resource.sqlDatabase.id
  name      = var.resource_name
  body = {
    properties = {
      options = {
      }
      resource = {
        id = "test-containerWest Europe"
        partitionKey = {
          kind = "Hash"
          paths = [
            "/definition",
          ]
        }
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}