从故障转移组Azure

时间:2017-11-06 15:29:43

标签: azure azure-sql-database azure-cli

我想知道是否有人可以提供从FailoverGroup获取数据库列表的一些见解。我在那里,但是当在FailoverGroup内迭代数据库时,数据库是一堆字符串(https://docs.microsoft.com/en-us/dotnet/api/microsoft.azure.management.sql.models.failovergroup.databases?view=azure-dotnet)。我想将它转换为数据库对象,但因为它被表示为一个完全限定的名称,这被证明有点难以做到,除非我开始拆分字符串并索引它的一部分。

例如,数据库名称将返回为/subscriptions/[subscription_id]/resourceGroups/[resource_group]/providers/Microsoft.Sql/servers/[sql_server]/databases/MyDatabaseName

当我使用传递上述字符串的cmdlet Get-AzureRmSqlDatabase时,它并不好说它不存在。如果我要拆分字符串并仅提取数据库名称,那么我可以使用它,但这看起来有点矫枉过正。

简而言之,有没有办法将FailoverGroup.Databases中返回的值转换为Microsoft.Azure.Commands.Sql.Database.Model.AzureSqlDatabaseModel的实例

如果有帮助,我正在使用以下内容进行故障转移.. Get-AzureRmSqlDatabaseFailoverGroup -ResourceGroupName $ResourceGroupName -ServerName $ServerName

2 个答案:

答案 0 :(得分:3)

据我所知,目前,Azure CLI 2.0不支持获取故障转移组信息。您可以查看official document

您可以使用Rest API来获取它。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}?api-version=2015-05-01-preview

答案 1 :(得分:0)

使用powershell:

Get-AzureRmResource -ApiVersion 2014-04-01 -ResourceId /subscriptions/[subscription_id]/resourceGroups/[resource_group]/providers/Microsoft.Sql/servers/[sql_server]/databases/MyDatabaseName

使用Azure CLI:

az resource show --api-version 2014-04-01 --ids /subscriptions/[subscription_id]/resourceGroups/[resource_group]/providers/Microsoft.Sql/servers/[sql_server]/databases/MyDatabaseName