私は、この問題に対する妥当な解決策を見つけ、データベースごとに1つの追加呼び出しを行いました。コマンドレットのGet-AzureRmSqlDatabaseReplicationLinkは、私が必要としていたことを1つの警告で正確に行います。私は、ResourceGroupNameとPartnerResourceGroupNameの両方と同じ値を渡すはずではないことを知っていますが、少なくとも現時点ではうまくいくと思われますので、リソースグループごとに1つの呼び出しを行う必要はありません。サブスクリプション
Function IsSecondarySqlDatabase {
# This function determines whether specified database is performing a secondary replication role.
# You can use the Get-AzureRMSqlDatabase command to get an instance of a [Microsoft.Azure.Commands.Sql.Database.Model.AzureSqlDatabaseModel] object.
param
(
[Microsoft.Azure.Commands.Sql.Database.Model.AzureSqlDatabaseModel] $SqlDB
)
process {
$IsSecondary = $false;
$ReplicationLinks = Get-AzureRmSqlDatabaseReplicationLink `
-ResourceGroupName $SqlDB.ResourceGroupName `
-ServerName $SqlDB.ServerName `
-DatabaseName $SqlDB.DatabaseName `
-PartnerResourceGroupName $SqlDB.ResourceGroupName
$ReplicationLinks | ForEach-Object -Process `
{
if ($_.Role -ne "Primary")
{
$IsSecondary = $true
}
}
return $IsSecondary
}
}
:私はこの単純な関数を作成することができた、という使い方