Megosztás a következőn keresztül:


Az Azure Cosmos DB for Table-erőforrások kezelése a Bicep használatával

A KÖVETKEZŐKRE VONATKOZIK: Asztal

Ebből a cikkből megtudhatja, hogyan használhatja a Bicepet az Azure Cosmos DB táblafiókokhoz és táblákhoz való üzembe helyezéséhez és kezeléséhez.

Ez a cikk csak a Table-fiókokHOZ készült API-ra tartalmaz példákat. Bicep-mintákat is találhat Cassandra, Gremlin, MongoDB és SQL-cikkekhez.

Fontos

  • A fióknevek legfeljebb 44 karakter hosszúságúak, amelyek mindegyike kisbetűs.
  • Az átviteli sebesség értékeinek módosításához telepítse újra a sablont frissített RU/s értékekkel.
  • Ha helyeket ad hozzá vagy távolít el egy Azure Cosmos DB-fiókhoz, nem módosíthatja egyidejűleg a többi tulajdonságot. Ezeket a műveleteket külön kell elvégezni.

Az alábbi Azure Cosmos DB-erőforrások létrehozásához másolja a következő példát egy új bicep-fájlba. Igény szerint létrehozhat egy paraméterfájlt, amelyet akkor használhat, ha ugyanazon erőforrás több példányát helyezi üzembe különböző névvel és értékekkel. Az Azure Resource Manager-sablonok üzembe helyezésének számos módja van, például az Azure CLI, az Azure PowerShell és a Cloud Shell.

Tipp.

Ha engedélyezni szeretné a megosztott átviteli sebességet az API for Table használatakor, engedélyezze a fiókszintű átviteli sebességet az Azure Portalon. A fiókszintű megosztott átviteli sebesség nem állítható be a Bicep használatával.

Azure Cosmos DB-fiók táblázathoz automatikus skálázási átviteli sebességgel

Hozzon létre egy Azure Cosmos DB-fiókot a Table API-hoz egy táblázattal, amely automatikus skálázási átviteli sebességgel rendelkezik.

@description('Cosmos DB account name')
param accountName string = 'table-${uniqueString(resourceGroup().id)}'

@description('Location for the Cosmos DB account.')
param location string = resourceGroup().location

@description('The primary region for the Cosmos DB account.')
param primaryRegion string

@description('The secondary region for the Cosmos DB account.')
param secondaryRegion string

@description('The default consistency level of the Cosmos DB account.')
@allowed([
  'Eventual'
  'ConsistentPrefix'
  'Session'
  'BoundedStaleness'
  'Strong'
])
param defaultConsistencyLevel string = 'Session'

@description('Max stale requests. Required for BoundedStaleness. Valid ranges, Single Region: 10 to 2147483647. Multi Region: 100000 to 2147483647.')
@minValue(10)
@maxValue(2147483647)
param maxStalenessPrefix int = 100000

@description('Max lag time (seconds). Required for BoundedStaleness. Valid ranges, Single Region: 5 to 84600. Multi Region: 300 to 86400.')
@minValue(5)
@maxValue(86400)
param maxIntervalInSeconds int = 300

@description('Enable system managed failover for regions')
param systemManagedFailover bool = true

@description('The name for the table')
param tableName string

@description('Maximum autoscale throughput for the table')
@minValue(1000)
@maxValue(1000000)
param autoscaleMaxThroughput int = 4000

var consistencyPolicy = {
  Eventual: {
    defaultConsistencyLevel: 'Eventual'
  }
  ConsistentPrefix: {
    defaultConsistencyLevel: 'ConsistentPrefix'
  }
  Session: {
    defaultConsistencyLevel: 'Session'
  }
  BoundedStaleness: {
    defaultConsistencyLevel: 'BoundedStaleness'
    maxStalenessPrefix: maxStalenessPrefix
    maxIntervalInSeconds: maxIntervalInSeconds
  }
  Strong: {
    defaultConsistencyLevel: 'Strong'
  }
}
var locations = [
  {
    locationName: primaryRegion
    failoverPriority: 0
    isZoneRedundant: false
  }
  {
    locationName: secondaryRegion
    failoverPriority: 1
    isZoneRedundant: false
  }
]

resource account 'Microsoft.DocumentDB/databaseAccounts@2022-05-15' = {
  name: toLower(accountName)
  location: location
  kind: 'GlobalDocumentDB'
  properties: {
    capabilities: [
      {
        name: 'EnableTable'
      }
    ]
    consistencyPolicy: consistencyPolicy[defaultConsistencyLevel]
    locations: locations
    databaseAccountOfferType: 'Standard'
    enableAutomaticFailover: systemManagedFailover
  }
}

resource table 'Microsoft.DocumentDB/databaseAccounts/tables@2022-05-15' = {
  parent: account
  name: tableName
  properties: {
    resource: {
      id: tableName
    }
    options: {
      autoscaleSettings: {
        maxThroughput: autoscaleMaxThroughput
      }
    }
  }
}

Azure Cosmos DB-fiók a tablehez standard kiosztott átviteli sebességgel

Hozzon létre egy Azure Cosmos DB-fiókot a Table API-hoz egy szabványos átviteli sebességgel rendelkező táblával.

@description('Cosmos DB account name')
param accountName string = 'table-${uniqueString(resourceGroup().id)}'

@description('Location for the Cosmos DB account.')
param location string = resourceGroup().location

@description('The primary region for the Cosmos DB account.')
param primaryRegion string

@description('The secondary region for the Cosmos DB account.')
param secondaryRegion string

@description('The default consistency level of the Cosmos DB account.')
@allowed([
  'Eventual'
  'ConsistentPrefix'
  'Session'
  'BoundedStaleness'
  'Strong'
])
param defaultConsistencyLevel string = 'Session'

@description('Max stale requests. Required for BoundedStaleness. Valid ranges, Single Region: 10 to 2147483647. Multi Region: 100000 to 2147483647.')
@minValue(10)
@maxValue(2147483647)
param maxStalenessPrefix int = 100000

@description('Max lag time (seconds). Required for BoundedStaleness. Valid ranges, Single Region: 5 to 84600. Multi Region: 300 to 86400.')
@minValue(5)
@maxValue(86400)
param maxIntervalInSeconds int = 300

@description('Enable system managed failover for regions')
param systemManagedFailover bool = true

@description('The name for the table')
param tableName string

@minValue(400)
@maxValue(1000000)
@description('The throughput for the table')
param throughput int = 400

var consistencyPolicy = {
  Eventual: {
    defaultConsistencyLevel: 'Eventual'
  }
  ConsistentPrefix: {
    defaultConsistencyLevel: 'ConsistentPrefix'
  }
  Session: {
    defaultConsistencyLevel: 'Session'
  }
  BoundedStaleness: {
    defaultConsistencyLevel: 'BoundedStaleness'
    maxStalenessPrefix: maxStalenessPrefix
    maxIntervalInSeconds: maxIntervalInSeconds
  }
  Strong: {
    defaultConsistencyLevel: 'Strong'
  }
}
var locations = [
  {
    locationName: primaryRegion
    failoverPriority: 0
    isZoneRedundant: false
  }
  {
    locationName: secondaryRegion
    failoverPriority: 1
    isZoneRedundant: false
  }
]

resource account 'Microsoft.DocumentDB/databaseAccounts@2022-05-15' = {
  name: toLower(accountName)
  location: location
  kind: 'GlobalDocumentDB'
  properties: {
    capabilities: [
      {
        name: 'EnableTable'
      }
    ]
    consistencyPolicy: consistencyPolicy[defaultConsistencyLevel]
    locations: locations
    databaseAccountOfferType: 'Standard'
    enableAutomaticFailover: systemManagedFailover
  }
}

resource table 'Microsoft.DocumentDB/databaseAccounts/tables@2022-05-15' = {
  parent: account
  name: tableName
  properties: {
    resource: {
      id: tableName
    }
    options: {
      throughput: throughput
    }
  }
}

Következő lépések

Íme néhány további erőforrás: