我想知道是否有人可以提供从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
答案 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