Как восстановить удаленные контейнеры из Microsoft Azure с помощью Powershell?

#azure #powershell #azure-container-service #soft-delete #recover

#azure #powershell #azure-container-service #мягкое удаление #восстановить

Вопрос:

Я пытаюсь восстановить удаленные с помощью программы контейнеры в учетную запись хранилища в Microsoft Azure с помощью Azure Powershell.

На самом деле на портале мы можем сделать это вручную, но я не нашел решения с помощью команд powershell, я просто нашел решение, восстановив контейнеры до предыдущего времени, поэтому он также восстанавливает удаленные большие двоичные объекты, но он по-прежнему не восстанавливает удаленные контейнеры.

Ответ №1:

Я попытался найти метод для восстановления контейнера напрямую, но, похоже, его не существует.

Существует обходной путь с использованием Powershell для вызова Rest API.

 PUT https://myaccount.blob.core.windows.net/destinationcontainer?restype=containeramp;comp=undelete
  

Это пример кода:

 # login
Connect-AzAccount

# get accessToken
$resource = "https://storage.azure.com"
$context = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile.DefaultContext
$accessToken = [Microsoft.Azure.Commands.Common.Authentication.AzureSession]::Instance.AuthenticationFactory.Authenticate($context.Account, $context.Environment, $context.Tenant.Id.ToString(), $null, [Microsoft.Azure.Commands.Common.Authentication.ShowDialog]::Never, $null, $resource).AccessToken

#request REST API
$uri = "{Request URI}"
Invoke-RestMethod -Method 'Put' -Uri $uri -Headers @{ Authorization = "Bearer "   $accessToken }
  

Вам нужно добавить заголовки запросов, чтобы это работало.