从 PowerShell 配置 Cosmos DB - Gremlin API 时,是否可以将容量模式设置为无服务器?
When provisioning a Cosmos DB - Gremlin API from PowerShell, is there a way to set the capacity mode to Serverless?
当我从 Azure 门户创建 Cosmos DB - Gremlin API 时,有一个选项可以将容量模式设置为无服务器:
但是,当我查看有关通过 PowerShell 执行相同操作的文档时,我找不到可以执行此操作的内容。
不幸的是,Azure Powershell's New-AzCosmosDBAccount
命令似乎还不支持为 Azure Cosmos DB 帐户设置容量模式(从 Azure PowerShell 版本 6.4.0 开始)。
这些是该命令当前支持的所有参数,none 个适合:
New-AzCosmosDBAccount
[-EnableAutomaticFailover]
[-EnableMultipleWriteLocations]
[-EnableVirtualNetwork]
[-FromPointInTimeBackup]
[-ApiKind <String>]
[-DisableKeyBasedMetadataWriteAccess]
[-EnableFreeTier <Boolean>]
[-Location <String[]>]
[-LocationObject <PSLocation[]>]
-ResourceGroupName <String>
-Name <String>
[-DefaultConsistencyLevel <String>]
[-IpRule <String[]>]
[-MaxStalenessIntervalInSeconds <Int32>]
[-MaxStalenessPrefix <Int32>]
[-Tag <Hashtable>]
[-VirtualNetworkRule <String[]>]
[-VirtualNetworkRuleObject <PSVirtualNetworkRule[]>]
[-PublicNetworkAccess <String>]
[-KeyVaultKeyUri <String>]
[-EnableAnalyticalStorage <Boolean>]
[-AsJob]
[-NetworkAclBypass <String>]
[-NetworkAclBypassResourceId <String[]>]
[-ServerVersion <String>]
[-BackupIntervalInMinutes <Int32>]
[-BackupRetentionIntervalInHours <Int32>]
[-BackupPolicyType <String>]
[-AnalyticalStorageSchemaType <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
这是 Azure 的一些人发来的执行此操作的方法:
$resourceGroupName = "my-rg"
$accountLocation = "Central US"
$accountName = "my-account"
$failoverLocations = @(
@{ "locationName"="Central US"; "failoverPriority"=0 }
)
$capabilities= @(@{"name"="EnableServerless"},@{"name"="EnableGremlin"})
$CosmosDBProperties = @{
"databaseAccountOfferType"="Standard";
"locations"=$failoverLocations;
"capabilities"=$capabilities;
}
New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
-ApiVersion "2019-12-12" -ResourceGroupName $resourceGroupName `
-Location $accountLocation -Name $accountName -PropertyObject $CosmosDBProperties
请注意,cmdlet 是 New-AzResource 而不是 New-AzCosmosDBAccount。
对于遇到此问题并迷失在 MS 过时文档页面中的任何其他人,@Diego 在评论中写道。移动到 Azure CLI 并使用命令:
az cosmosdb create --name $databaseName --resource-group $resourcegroup --capabilities EnableServerless --locations regionName=$regionName failoverPriority=0
自 2022 年 3 月起,此功能在仅限 Azure PowerShell 的 CLI 中不可用。
当我从 Azure 门户创建 Cosmos DB - Gremlin API 时,有一个选项可以将容量模式设置为无服务器:
但是,当我查看有关通过 PowerShell 执行相同操作的文档时,我找不到可以执行此操作的内容。
不幸的是,Azure Powershell's New-AzCosmosDBAccount
命令似乎还不支持为 Azure Cosmos DB 帐户设置容量模式(从 Azure PowerShell 版本 6.4.0 开始)。
这些是该命令当前支持的所有参数,none 个适合:
New-AzCosmosDBAccount
[-EnableAutomaticFailover]
[-EnableMultipleWriteLocations]
[-EnableVirtualNetwork]
[-FromPointInTimeBackup]
[-ApiKind <String>]
[-DisableKeyBasedMetadataWriteAccess]
[-EnableFreeTier <Boolean>]
[-Location <String[]>]
[-LocationObject <PSLocation[]>]
-ResourceGroupName <String>
-Name <String>
[-DefaultConsistencyLevel <String>]
[-IpRule <String[]>]
[-MaxStalenessIntervalInSeconds <Int32>]
[-MaxStalenessPrefix <Int32>]
[-Tag <Hashtable>]
[-VirtualNetworkRule <String[]>]
[-VirtualNetworkRuleObject <PSVirtualNetworkRule[]>]
[-PublicNetworkAccess <String>]
[-KeyVaultKeyUri <String>]
[-EnableAnalyticalStorage <Boolean>]
[-AsJob]
[-NetworkAclBypass <String>]
[-NetworkAclBypassResourceId <String[]>]
[-ServerVersion <String>]
[-BackupIntervalInMinutes <Int32>]
[-BackupRetentionIntervalInHours <Int32>]
[-BackupPolicyType <String>]
[-AnalyticalStorageSchemaType <String>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
这是 Azure 的一些人发来的执行此操作的方法:
$resourceGroupName = "my-rg"
$accountLocation = "Central US"
$accountName = "my-account"
$failoverLocations = @(
@{ "locationName"="Central US"; "failoverPriority"=0 }
)
$capabilities= @(@{"name"="EnableServerless"},@{"name"="EnableGremlin"})
$CosmosDBProperties = @{
"databaseAccountOfferType"="Standard";
"locations"=$failoverLocations;
"capabilities"=$capabilities;
}
New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
-ApiVersion "2019-12-12" -ResourceGroupName $resourceGroupName `
-Location $accountLocation -Name $accountName -PropertyObject $CosmosDBProperties
请注意,cmdlet 是 New-AzResource 而不是 New-AzCosmosDBAccount。
对于遇到此问题并迷失在 MS 过时文档页面中的任何其他人,@Diego 在评论中写道。移动到 Azure CLI 并使用命令:
az cosmosdb create --name $databaseName --resource-group $resourcegroup --capabilities EnableServerless --locations regionName=$regionName failoverPriority=0
自 2022 年 3 月起,此功能在仅限 Azure PowerShell 的 CLI 中不可用。