Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Azure Rest API用于VM恢复的resourceRestoreRequest语法是什么_Python_Rest_Azure_Virtual Machine_Restore - Fatal编程技术网

Python Azure Rest API用于VM恢复的resourceRestoreRequest语法是什么

Python Azure Rest API用于VM恢复的resourceRestoreRequest语法是什么,python,rest,azure,virtual-machine,restore,Python,Rest,Azure,Virtual Machine,Restore,我正在使用Python和RESTAPI请求来管理Azure VM上的备份和恢复。我可以备份虚拟机,但无法恢复它们 我要发布的Python代码 headers = {"Authorization": 'Bearer ' + restapi_azure_authentication()} myResponse = requests.post(url, headers=headers) 并使用JSON推送发布 headers = {"Authorization": 'Bearer ' + resta

我正在使用Python和RESTAPI请求来管理Azure VM上的备份和恢复。我可以备份虚拟机,但无法恢复它们

我要发布的Python代码

headers = {"Authorization": 'Bearer ' + restapi_azure_authentication()}
myResponse = requests.post(url, headers=headers)
并使用JSON推送发布

headers = {"Authorization": 'Bearer ' + restapi_azure_authentication()}
myResponse = requests.post(url, headers=headers, json=json)
我收到两条信息。 如果我使用此请求:

POST /Subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultName}/backupFabrics/{fabricName}/protectionContainers/{containerName}/protectedItems/{protectedItemName}/recoveryPoints/{recoveryPointId}/restore?api-version=2016-06-01
我得到这个信息:

{“错误”:{“代码”:“CloudInternalError”,“消息”:“Microsoft Azure备份遇到内部错误。\r\n请等待几分钟,然后重试该操作。” n。如果问题仍然存在,请与Microsoft支持联系。“,“target”:null,“details”:null,“innerError”:null}

如果我将此请求与JSON推送一起使用:

json = {
    "properties": {}
}
我得到这个信息:

{“错误”:{“代码”:“UserErrorInvalidRestoreRequest”,“消息”:“由于参数无效或参数格式不正确,还原操作失败。” 。\r\n请确保为还原操作提供的参数有效。如果问题仍然存在,请与Microsoft支持部门联系。“,“目标”:null,“详细信息”:n ull,“innerError”:null}

我不知道在“属性”中放入什么来成功恢复我的虚拟机。
不幸的是,我试图遵循此文档,但没有成功:

正如另一个社区提到的那样,我们可以通过使用PowerShell命令let来恢复备份数据来引用参数。以下是使用Fiddler捕获的请求,供您参考:

POST:https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.RecoveryServices/vaults/{vaultsName}/backupFabrics/Azure/protectionContainers/{backupContainerName}/protectedItems/{backUpItemName}/recoveryPoints/{recoveryPointId}/restore?api-version=2016-05-01
Authorization: Bearer {access_token}

{
  "properties": {
    "objectType": "IaasVMRestoreRequest",
    "recoveryPointId": "{recoveryPointId}",
    "recoveryType": "RestoreDisks",
    "storageAccountId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageaccountName}",
    "createNewCloudService": false,
    "region": "{region}",
    "sourceResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VMName}"
  }
}

此外,如果您对Microsoft提供的文档有任何反馈,可以从右下角的页面提交(
此页面有用吗
)。

好吧,您没有提供任何“正文”,您需要传入一个body参数
resourceRestoreRequest
,我知道,但是Azure Rest API文档没有给出任何示例,因此,我不知道如何编写它。只需使用powershell执行相同的任务,并插入一个
-debug
开关,然后查看示例:)