簡體   English   中英

什么是Azure Site Recovery Vault的結構名稱和保護容器名稱

[英]What is Fabric Name and Protection Container Name for an Azure Site Recovery Vault

在位於以下位置的用於Azure Site Recovery Services的REST API中: 獲取Azure Site Recovery中受復制保護的項目的列表 ,我找不到兩個有關ASR庫的信息。 這些是GET請求URL的一部分。 該文檔僅重復該名稱,沒有提及如何獲取此信息。 這兩項是:

  1. 復制結構名稱
  2. 復制保護容器名稱

您知道這些是什么,我在哪里可以找到它們? 這些的描述不是很清楚。

我也下載並檢查了“ Vault設置”文件,但沒有成功。任何指針都將對您有所幫助。

這使我發瘋了一段時間。 使用-Debug標志運行某些Azure powershell Commandlet ,可以對某些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}

因此,如果資源組“ acme-rg”中有一個名為“ my-awesome-vm”的VM,則保護容器名稱將為:

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

好吧,我沒有要測試的Azure備份保管庫,但是有多種方法可以使用REST API來發現這一點。

獲取結構: https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version} : https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version} resourceGroups https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version} replicationFabrics https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version} api-version https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{resourceName}/replicationFabrics?api-version={api-version} 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請求。

或這里是一個快速的Powershell腳本,用於查詢REST API( 但您需要安裝.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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM