在位于此处的Azure站点恢复服务的REST API中:Get a list of replication protected items in Azure Site Recovery有两条关于ASR保险库的信息,我无法找到。这些是GET请求URL的一部分。文档只是重复名称,并没有提到如何获取此信息。这两项是:
你知道这些是什么吗?我在哪里可以找到它们?这些描述并不十分清楚。
我已经下载并检查了Vault设置文件,但没有任何成功。任何指针都会有所帮助。
答案 0 :(得分:1)
这让我疯狂了一段时间。使用 -Debug 标志运行一些Azure powershell命令行开关,可以让我对一些API调用进行反向工程。
请注意,以下内容适用于" AzureIaasVM"的备份管理类型。这还没有经过SQL Server等其他资源的测试。
据我所知(使用API版本' 2016-06-01'),Azure上的默认结构名称只是" Azure"。
您可以在此端点获取可用容器:
https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.RecoveryServices/vaults/{vault_name}/backupProtectionContainers
看起来可能会为每个资源创建一个保护容器,其名称如下:
IaasVMContainer;iaasvmcontainerv2;{resource_group_name};{resource_name}
所以,如果你有一个名为" my-awesome-vm"在资源组" acme-rg"中,保护容器名称为:
IaasVMContainer;iaasvmcontainerv2;acme-rg;my-awesome-vm
它的完整ID将是:
/subscriptions/{subscription_id}resourceGroups/acme-rg/providers/Microsoft.RecoveryServices/vaults/{vault_name}/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainerv2;acme-rg;my-awesome-vm
答案 1 :(得分:0)
好吧,我没有要测试的Azure备份库,但有很多方法可以通过REST API找到它。
获取面料:https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version}
https://msdn.microsoft.com/en-us/library/azure/mt750478.aspx
获取容器:
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/replicationFabrics/{fabricName}/replicationProtectionContainers/{?api-version={api-version}
https://msdn.microsoft.com/en-us/library/azure/mt736896.aspx
支持的API版本:'2016-08-10, 2016-06-01,2016-05-01,2015-12-15,2015-12-10,2015-11-10,2015-06-10,2015-08-10,2015-08-15,2015- 03-15'
还有一个ARMClient来帮助REST请求。
或者这是一个用于查询REST API的快速Powershell脚本(但您需要安装.NET Azure SDK才能使其工作):
function GetAuthToken
{
param
(
[Parameter(Mandatory=$true)]
$ApiEndpointUri,
[Parameter(Mandatory=$true)]
$AADTenant
)
$adal = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\" + `
"Microsoft.IdentityModel.Clients.ActiveDirectory.dll"
$adalforms = "${env:ProgramFiles(x86)}\Microsoft SDKs\Azure\PowerShell\ServiceManagement\Azure\Services\" + `
"Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms.dll"
[System.Reflection.Assembly]::LoadFrom($adal) | Out-Null
[System.Reflection.Assembly]::LoadFrom($adalforms) | Out-Null
$clientId = "1950a258-227b-4e31-a9cf-717495945fc2"
$redirectUri = "urn:ietf:wg:oauth:2.0:oob"
$authorityUri = “https://login.windows.net/$aadTenant”
$authContext = New-Object "Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext" -ArgumentList $authorityUri
$authResult = $authContext.AcquireToken($ApiEndpointUri, $clientId,$redirectUri, "Auto")
return $authResult
}
$ApiEndpointUri = "https://management.azure.com/"
$AADTenant = 'Azure AD Tenant GUID'
$token = GetAuthToken -ApiEndPointUri $ApiEndpointUri -AADTenant $AADTenant
$header = @{
'Content-Type'='application\json'
'Authorization'=$token.CreateAuthorizationHeader()
}
$request = `https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version}`
(Invoke-RestMethod -Uri $request -Headers $header -Method Get).value