透過 REST API 使用 Azure 備份來備份 Azure 檔案共用
本文說明如何透過 REST API 使用 Azure 備份來備份 Azure 檔案共用。
本文假設您已建立復原服務保存庫,以及為您的檔案共用設定備份的原則。 如果尚未建立,請參閱建立保存庫和建立原則 REST API 教學課程以建立新的保存庫和原則。
本文會使用到下列資源:
RecoveryServicesVault:
azurefilesvault
原則:
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 屬性來設定 containername 和 protecteditemname 變數。
在我們的範例中,需受保護檔案共用的識別碼為:
"/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 監視作業文件所述。