共用方式為


透過 REST API 使用 Azure 備份來備份 Azure 檔案共用

本文說明如何透過 REST API 使用 Azure 備份來備份 Azure 檔案共用。

本文假設您已建立復原服務保存庫,以及為您的檔案共用設定備份的原則。 如果尚未建立,請參閱建立保存庫建立原則 REST API 教學課程以建立新的保存庫和原則。

本文會使用到下列資源:

  • RecoveryServicesVaultazurefilesvault

  • 原則:schedule1

  • 資源群組azurefiles

  • 儲存體帳戶testvault2

  • 檔案共用testshare

使用 REST API 為未受保護的 Azure 檔案共用設定備份

探索具有未受保護 Azure 檔案共用的儲存體帳戶

保存庫需要探索訂用帳戶中所有具備檔案共用的 Azure 儲存體帳戶,這些檔案共用可備份到復原服務保存庫。 這會使用重新整理作業 \(英文\) 來觸發。 此為非同步的 POST 作業,用以保證保存庫取得並「快取」目前訂用帳戶中所有受保護 Azure 檔案共用的最新清單。 檔案共用「快取」之後,復原服務就可以存取檔案共用並加以保護。

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupname}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/refreshContainers?api-version=2016-12-01&$filter={$filter}

POST URI 具有 {subscriptionId}{vaultName}{vaultresourceGroupName}{fabricName} 參數。 在我們的範例中,不同參數的值如下所示:

  • {fabricName}Azure

  • {vaultName}azurefilesvault

  • {vaultresourceGroupName}azurefiles

  • $filter=backupManagementType eq 'AzureStorage'

由於 URI 中已指定所有必要參數,因此不需要個別的要求本文。

POST https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/refreshContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureStorage'

對重新整理作業的回應

「重新整理」作業為非同步作業。 這表示此作業會建立另一項需要個別追蹤的作業。

其會傳回兩個回應:在建立另一項作業時傳回 202 (已接受),並在該作業完成時傳回 200 (確定)。

對重新整理作業的回應範例

一旦提交 POST 要求之後,就會傳回 202 (已接受) 回應。

HTTP/1.1 202 Accepted
'Pragma': 'no-cache'
'Expires': '-1'
'Location': ‘https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/ResourceGroups
/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/operationResults/
cca47745-12d2-42f9-b3a4-75335f18fdf6?api-version=2016-12-01’
'Retry-After': '60'
'X-Content-Type-Options': 'nosniff'
'x-ms-request-id': '6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'x-ms-client-request-id': ‘3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61’
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
'X-Powered-By': 'ASP.NET'
'x-ms-ratelimit-remaining-subscription-reads': '11996'
'x-ms-correlation-request-id': '6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'x-ms-routing-request-id': CENTRALUSEUAP:20200203T091326Z:6cc12ceb-90a2-430d-a1ec-9b6b6fdea92b'
'Date': 'Mon, 03 Feb 2020 09:13:25 GMT'

使用 "Location" 標頭搭配簡單的 GET 命令,來追蹤所產生的作業。

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/operationResults/cca47745-12d2-42f9-b3a4-75335f18fdf6?api-version=2016-12-01

探索過所有 Azure 儲存體帳戶之後,GET 命令就會傳回 204 (沒有內容) 回應。 保存庫現在可以探索訂用帳戶中,任何具有可備份檔案共用的儲存體帳戶。

HTTP/1.1 200 NoContent
Cache-Control  : no-cache
Pragma   : no-cache
X-Content-Type-Options  : nosniff
x-ms-request-id    : d9bdb266-8349-4dbd-9688-de52f07648b2
x-ms-client-request-id  : 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security  : max-age=31536000; includeSubDomains
X-Powered-By    : ASP.NET
x-ms-ratelimit-remaining-subscription-reads: 11933
x-ms-correlation-request-id   : d9bdb266-8349-4dbd-9688-de52f07648b2
x-ms-routing-request-id  : CENTRALUSEUAP:20200127T105304Z:d9bdb266-8349-4dbd-9688-de52f07648b2
Date   : Mon, 27 Jan 2020 10:53:04 GMT

取得具有可使用復原服務保存庫備份之檔案共用的儲存體帳戶清單

若要確認「快取」已完成,請列出訂用帳戶中所有具有檔案共用的儲存體帳戶,這些檔案共用可透過復原服務保存庫來備份。 然後,在回應中找出所需的儲存體帳戶。 這會使用 GET ProtectableContainers 作業來完成。

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectableContainers?api-version=2016-12-01&$filter=backupManagementType eq 'AzureStorage'

GET URI 具備所有必要參數。 不需任何額外的要求本文。

回應本文的範例:

{

  "value": [

​    {

​      "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers
 /Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/

protectableContainers/StorageContainer;Storage;AzureFiles;testvault2",

​      "name": "StorageContainer;Storage;AzureFiles;testvault2",

​      "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectableContainers",

​      "properties": {

​        "friendlyName": "testvault2",

​        "backupManagementType": "AzureStorage",

​        "protectableContainerType": "StorageContainer",

​        "healthStatus": "Healthy",

​        "containerId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/
 AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2"

​      }

​    }

  ]

}

由於我們可以在回應本文中透過易記名稱找出 testvault2 儲存體帳戶,表示上述執行的重新整理作業已成功。 現在,復原服務保存庫可以在相同的訂用帳戶中,順利探索具有未受保護檔案共用的儲存體帳戶。

向復原服務保存庫註冊儲存體帳戶

只有當您先前未向保存庫註冊儲存體帳戶時,才需要執行此步驟。 您可以透過 ProtectionContainers-Register 作業來註冊保存庫。

PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}?api-version=2016-12-01

設定 URI 的變數,如下所示:

  • {resourceGroupName} - azurefiles
  • {fabricName} - Azure
  • {vaultName} - azurefilesvault
  • {containerName} - 這是 GET ProtectableContainers 作業回應本文中的 name 屬性。 在我們的範例中,此屬性為 StorageContainer;Storage;AzureFiles;testvault2

注意

請一律採用回應的 name 屬性並填入此要求中。 不要採用硬式編碼或建立容器-名稱格式。 如果建立或採用硬式編碼,未來容器-名稱格式變更時,API 呼叫將會失敗。


PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2?api-version=2016-12-01

建立的要求本文如下:

{

 "properties": {


  "containerType": "StorageContainer",


  "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",


  "resourceGroup": "AzureFiles",


  "friendlyName": "testvault2",


  "backupManagementType": "AzureStorage"

 }
}

如需要求本文的完整定義清單及其他詳細資料,請參閱 ProtectionContainers-Register

此為非同步作業,並傳回兩個回應:接受作業時傳回「202 已接受」,作業完成時傳回「200 確定」。 若要追蹤作業狀態,請使用 location 標頭來取得作業的最新狀態。

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/operationresults/1a3c8ee7-e0e5-43ed-b8b3-73cc992b6db9?api-version=2016-12-01

作業完成時的回應本文範例:

{
    "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/
protectionContainers/StorageContainer;Storage;AzureFiles;testvault2",
    "name": "StorageContainer;Storage;AzureFiles;testvault2",
    "properties": {
        "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
        "protectedItemCount": 0,
        "friendlyName": "testvault2",
        "backupManagementType": "AzureStorage",
        "registrationStatus": "Registered",
        "healthStatus": "Healthy",
        "containerType": "StorageContainer",
        "protectableObjectType": "StorageContainer"
    }
}

您可以從回應本文的 registrationstatus 參數值來驗證註冊是否成功。 我們的案例中顯示 testvault2 為已註冊狀態,因此註冊作業成功。

查詢儲存體帳戶下所有未受保護的檔案共用

您可以使用 Protection Containers-Inquire 作業來查詢儲存體帳戶中可保護的項目。 此為非同步作業,應該使用 location 標頭來追蹤結果。

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/inquire?api-version=2016-12-01

設定以上 URI 的變數,如下所示:

  • {vaultName} - azurefilesvault
  • {fabricName} - Azure
  • {containerName} - 指 GET ProtectableContainers 作業回應本文中的 name 屬性。 在我們的範例中,此屬性為 StorageContainer;Storage;AzureFiles;testvault2
https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/inquire?api-version=2016-12-01

要求成功會傳回狀態碼「確定」

Cache-Control : no-cache
Pragma   : no-cache
X-Content-Type-Options: nosniff
x-ms-request-id  : 68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
x-ms-client-request-id  : 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security: max-age=31536000; includeSubDomains
Server  : Microsoft-IIS/10.0
X-Powered-B : ASP.NET
x-ms-ratelimit-remaining-subscription-reads: 11932
x-ms-correlation-request-id  : 68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
x-ms-routing-request-id   : CENTRALUSEUAP:20200127T105305Z:68727f1e-b8cf-4bf1-bf92-8e03a9d96c46
Date  : Mon, 27 Jan 2020 10:53:05 GMT

選取您要備份的檔案共用

您可以列出訂用帳戶下所有可保護的項目,並找出要備份的檔案共用,請使用 GET backupprotectableItems 作業。

GET https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupProtectableItems?api-version=2016-12-01&$filter={$filter}

建構 URI,如下所述:

  • {vaultName} - azurefilesvault
  • {$filter} - backupManagementType eq 'AzureStorage'
GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupProtectableItems?$filter=backupManagementType eq 'AzureStorage'&api-version=2016-12-01

範例回應:

Status Code:200

{
    "value": [
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;afaccount1/protectableItems/azurefileshare;azurefiles1",
            "name": "azurefileshare;azurefiles1",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/afaccount1",
                "parentContainerFriendlyName": "afaccount1",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "azurefiles1",
                "protectionState": "NotProtected"
            }
        },
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;afsaccount/protectableItems/azurefileshare;afsresource",
            "name": "azurefileshare;afsresource",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/afsaccount",
                "parentContainerFriendlyName": "afsaccount",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "afsresource",
                "protectionState": "NotProtected"
            }
        },
        {
            "id": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;testvault2/protectableItems/azurefileshare;testshare",
            "name": "azurefileshare;testshare",
            "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectableItems",
            "properties": {
                "parentContainerFabricId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
                "parentContainerFriendlyName": "testvault2",
                "azureFileShareType": "XSMB",
                "backupManagementType": "AzureStorage",
                "workloadType": "AzureFileShare",
                "protectableItemType": "AzureFileShare",
                "friendlyName": "testshare",
                "protectionState": "NotProtected"
            }
        }
    ]
}

回應包含所有未受保護的檔案共用清單,並包含 Azure 復原服務設定備份所需的所有資訊。

啟用檔案共用的備份

當以易記名稱「識別」相關的檔案共用之後,請選取要保護的原則。 若要深入瞭解保存庫中的現有原則,請參閱清單原則 API。 然後藉由參考原則名稱來選取相關的原則 \(英文\)。 若要建立原則,請參閱建立原則教學課程

啟用保護是建立「受保護的項目」的非同步 PUT 作業。

PUT https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{vaultresourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}?api-version=2019-05-13

在 GET backupprotectableitems 作業的回應本文中,使用 ID 屬性來設定 containernameprotecteditemname 變數。

在我們的範例中,需受保護檔案共用的識別碼為:

"/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/storagecontainer;storage;azurefiles;testvault2/protectableItems/azurefileshare;testshare
  • {containername} - storagecontainer;storage;azurefiles;testvault2
  • {protectedItemName} - azurefileshare;testshare

或者,您可以參考保護容器的 name 屬性和可保護的項目回應。

注意

請一律採用回應的 name 屬性並填入此要求中。 請勿採用硬式編碼或建立「容器-名稱」格式或受保護的項目名稱格式。 如果建立或採用硬式編碼,未來容器-名稱格式或受保護項目名稱格式變更時,API 呼叫將會失敗。


PUT https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare?api-version=2016-12-01

建立要求本文:

下列要求本文會定義建立受保護的項目所需的屬性。

{
  "properties": {
    "protectedItemType": "AzureFileShareProtectedItem",
    "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AzureFiles/providers/Microsoft.Storage/storageAccounts/testvault2",
    "policyId": "/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupPolicies/schedule1"
  }
}

sourceResourceId 是回應 GET backupprotectableItems 的 parentcontainerFabricID

範例回應

建立受保護的項目為非同步作業,將會建立另一個需要追蹤的作業。 其會傳回兩個回應:在建立另一項作業時傳回 202 (已接受),並在該作業完成時傳回 200 (確定)。

提交 PUT 要求以建立或更新受保護的項目之後,初始回應為 202 (已接受) 且附帶 location 標頭。

HTTP/1.1 202 Accepted
Cache-Control  : no-cache
Pragma  : no-cache
Location : https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare/operationResults/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01
Retry-Afte  : 60
Azure-AsyncOperation  : https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;Storage;AzureFiles;testvault2/protectedItems/azurefileshare;testshare/operationResults/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01
X-Content-Type-Options : nosniff
x-ms-request-id : b55527fa-f473-4f09-b169-9cc3a7a39065
x-ms-client-request-id: 3da383a5-d66d-4b7c-982a-bc8d94798d61,3da383a5-d66d-4b7c-982a-bc8d94798d61
Strict-Transport-Security : max-age=31536000; includeSubDomains
X-Powered-By  : ASP.NET
x-ms-ratelimit-remaining-subscription-writes: 1198
x-ms-correlation-request-id : b55527fa-f473-4f09-b169-9cc3a7a39065
x-ms-routing-request-id  : CENTRALUSEUAP:20200127T105412Z:b55527fa-f473-4f09-b169-9cc3a7a39065
Date : Mon, 27 Jan 2020 10:54:12 GMT

然後,透過 GET 命令,使用 location 標頭或 Azure-AsyncOperation 標頭來追蹤產生的作業。

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupOperations/c3a52d1d-0853-4211-8141-477c65740264?api-version=2016-12-01

當作業完成時,它會在回應本文中傳回 200 (確定) 以及受保護的項目內容。

樣本回應本文:

{
    "id": "c3a52d1d-0853-4211-8141-477c65740264",
    "name": "c3a52d1d-0853-4211-8141-477c65740264",
    "status": "Succeeded",
    "startTime": "2020-02-03T18:10:48.296012Z",
    "endTime": "2020-02-03T18:10:48.296012Z",
    "properties": {
        "objectType": "OperationStatusJobExtendedInfo",
        "jobId": "e2ca2cf4-2eb9-4d4b-b16a-8e592d2a658b"
    }
}

如此可確定針對檔案共用啟用該保護,並根據原則排程觸發第一個備份。

觸發檔案共用的隨選備份

Azure 檔案共用備份設定完成後,就會按照原則排程進行備份。 您可以等候第一個排定的備份,或隨時觸發隨選備份。

觸發隨選備份為 POST 作業。

POST https://management.azure.com/Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/backup?api-version=2016-12-01

啟用備份時,{containerName} 和 {protectedItemName} 建構如上。 針對我們的範例,這會轉譯為:

POST https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/backup?api-version=2017-07-01

建立要求本文

若要觸發隨選備份,以下是要求本文的元件。

名稱 類型​​ 描述
屬性 AzurefilesharebackupReques BackupRequestResource 屬性

如需要求本文的完整定義清單及其他詳細資訊,請參閱觸發受保護項目的備份 REST API 文件 \(英文\)。

要求本文範例

{

  "properties":{

   "objectType":"AzureFileShareBackupRequest",
    "recoveryPointExpiryTimeInUTC":"2020-03-07T18:29:59.000Z"
}

}

隨選備份作業的回應

觸發隨選備份為非同步作業。 這表示此作業會建立另一項需要個別追蹤的作業。

其會傳回兩個回應:在建立另一項作業時傳回 202 (已接受),並在該作業完成時傳回 200 (確定)。

隨選備份作業的回應範例

一旦提交 POST 要求以進行隨選備份之後,初始回應會是 202 (已接受) 並具備位置標頭或 Azure-async-header。

'Cache-Control': 'no-cache'
'Pragma': 'no-cache'
'Expires': '-1'
'Location': https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/operationResults/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2017-07-01
'Retry-After': '60'
'Azure-AsyncOperation': https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupFabrics/Azure/protectionContainers/StorageContainer;storage;azurefiles;testvault2/protectedItems/AzureFileShare;testshare/operationsStatus/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2017-07-01
'X-Content-Type-Options': 'nosniff'
'x-ms-request-id': '2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'x-ms-client-request-id': 'a644712a-4895-11ea-ba57-0a580af42708, a644712a-4895-11ea-ba57-0a580af42708'
'Strict-Transport-Security': 'max-age=31536000; includeSubDomains'
'X-Powered-By': 'ASP.NET'
'x-ms-ratelimit-remaining-subscription-writes': '1199'
'x-ms-correlation-request-id': '2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'x-ms-routing-request-id': 'WESTEUROPE:20200206T040339Z:2e03b8d4-66b1-48cf-8094-aa8bff57e8fb'
'Date': 'Thu, 06 Feb 2020 04:03:38 GMT'
'Content-Length': '0'

然後,透過 GET 命令,使用 location 標頭或 Azure-AsyncOperation 標頭來追蹤產生的作業。

GET https://management.azure.com/Subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azurefiles/providers/Microsoft.RecoveryServices/vaults/azurefilesvault/backupOperations/dc62d524-427a-4093-968d-e951c0a0726e?api-version=2016-12-01

當作業完成之後,它會在回應本文中傳回 200 (確定) 以及結果備份作業的識別碼。

樣本回應本文

{
    "id": "dc62d524-427a-4093-968d-e951c0a0726e",
    "name": "dc62d524-427a-4093-968d-e951c0a0726e",
    "status": "Succeeded",
    "startTime": "2020-02-06T11:06:02.1327954Z",
    "endTime": "2020-02-06T11:06:02.1327954Z",
    "properties": {
        "objectType": "OperationStatusJobExtendedInfo",
        "jobId": "39282261-cb52-43f5-9dd0-ffaf66beeaef"
    }
}

由於備份作業是長時間執行的作業,因此需要加以追蹤,如使用 REST API 監視作業文件所述。

下一步