A solicitação de migração de conta pode ser acionada para que uma conta de armazenamento altere seu nível de redundância. A migração atualiza a conta de armazenamento redundante não zonal para uma conta redundante zonal ou vice-versa, a fim de ter melhor confiabilidade e disponibilidade. O ZRS (armazenamento com redundância de zona) replica sua conta de armazenamento de forma síncrona em três zonas de disponibilidade do Azure na região primária.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/startAccountMigration?api-version=2023-05-01
Parâmetros do URI
Name |
Em |
Necessário |
Tipo |
Description |
accountName
|
path |
True
|
string
|
O nome da conta de armazenamento dentro do grupo de recursos especificado. Os nomes das contas de armazenamento devem ter entre 3 e 24 caracteres e usar apenas números e letras minúsculas.
Padrão Regex: ^[a-z0-9]+$
|
resourceGroupName
|
path |
True
|
string
|
O nome do grupo de recursos dentro da assinatura do usuário. O nome não diferencia maiúsculas de minúsculas.
Padrão Regex: ^[-\w\._\(\)]+$
|
subscriptionId
|
path |
True
|
string
|
A ID da assinatura de destino.
|
api-version
|
query |
True
|
string
|
A versão da API a ser usada para esta operação.
|
Corpo do Pedido
Name |
Necessário |
Tipo |
Description |
properties.targetSkuName
|
True
|
SkuName
|
Nome da sku de destino para a conta
|
name
|
|
string
|
O valor atual é 'padrão' para a migração iniciada pelo cliente
|
type
|
|
string
|
SrpAccountMigrationType no contrato ARM que é 'accountMigrations'
|
Respostas
Name |
Tipo |
Description |
200 OK
|
|
OK -- Retornado quando a solicitação é apenas para validar a solicitação de migração, ela realmente não inicia a migração; aplicável na migração entre regiões atualmente.
|
202 Accepted
|
|
Aceito -- Solicitação de migração aceita; a operação será concluída de forma assíncrona.
Cabeçalhos
Location: string
|
Other Status Codes
|
ErrorResponse
|
Resposta de erro descrevendo por que a operação falhou.
|
Segurança
azure_auth
Azure Ative Directory OAuth2 Flow
Tipo:
oauth2
Fluxo:
implicit
URL de Autorização:
https://login.microsoftonline.com/common/oauth2/authorize
Âmbitos
Name |
Description |
user_impersonation
|
personificar a sua conta de utilizador
|
Exemplos
StorageAccountPostMigration
Pedido de amostra
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/resource-group-name/providers/Microsoft.Storage/storageAccounts/accountname/startAccountMigration?api-version=2023-05-01
{
"properties": {
"targetSkuName": "Standard_ZRS"
}
}
import com.azure.resourcemanager.storage.fluent.models.StorageAccountMigrationInner;
import com.azure.resourcemanager.storage.models.SkuName;
/**
* Samples for StorageAccounts CustomerInitiatedMigration.
*/
public final class Main {
/*
* x-ms-original-file:
* specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/examples/StorageAccountPostMigration.
* json
*/
/**
* Sample code: StorageAccountPostMigration.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void storageAccountPostMigration(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getStorageAccounts().customerInitiatedMigration(
"resource-group-name", "accountname",
new StorageAccountMigrationInner().withTargetSkuName(SkuName.STANDARD_ZRS),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from typing import Any, IO, Union
from azure.identity import DefaultAzureCredential
from azure.mgmt.storage import StorageManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-storage
# USAGE
python storage_account_post_migration.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = StorageManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
client.storage_accounts.begin_customer_initiated_migration(
resource_group_name="resource-group-name",
account_name="accountname",
parameters={"properties": {"targetSkuName": "Standard_ZRS"}},
).result()
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/examples/StorageAccountPostMigration.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armstorage_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/220ad9c6554fc7d6d10a89bdb441c1e3b36e3285/specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/examples/StorageAccountPostMigration.json
func ExampleAccountsClient_BeginCustomerInitiatedMigration() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armstorage.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
poller, err := clientFactory.NewAccountsClient().BeginCustomerInitiatedMigration(ctx, "resource-group-name", "accountname", armstorage.AccountMigration{
StorageAccountMigrationDetails: &armstorage.AccountMigrationProperties{
TargetSKUName: to.Ptr(armstorage.SKUNameStandardZRS),
},
}, nil)
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
_, err = poller.PollUntilDone(ctx, nil)
if err != nil {
log.Fatalf("failed to pull the result: %v", err)
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { StorageManagementClient } = require("@azure/arm-storage");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region.
*
* @summary Account Migration request can be triggered for a storage account to change its redundancy level. The migration updates the non-zonal redundant storage account to a zonal redundant account or vice-versa in order to have better reliability and availability. Zone-redundant storage (ZRS) replicates your storage account synchronously across three Azure availability zones in the primary region.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/examples/StorageAccountPostMigration.json
*/
async function storageAccountPostMigration() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "resource-group-name";
const accountName = "accountname";
const parameters = { targetSkuName: "Standard_ZRS" };
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.storageAccounts.beginCustomerInitiatedMigrationAndWait(
resourceGroupName,
accountName,
parameters,
);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
using Azure;
using Azure.ResourceManager;
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager.Models;
using Azure.ResourceManager.Resources;
using Azure.ResourceManager.Storage.Models;
using Azure.ResourceManager.Storage;
// Generated from example definition: specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/examples/StorageAccountPostMigration.json
// this example is just showing the usage of "StorageAccounts_CustomerInitiatedMigration" operation, for the dependent resources, they will have to be created separately.
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/en-us/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);
// this example assumes you already have this StorageAccountResource created on azure
// for more information of creating StorageAccountResource, please refer to the document of StorageAccountResource
string subscriptionId = "{subscription-id}";
string resourceGroupName = "resource-group-name";
string accountName = "accountname";
ResourceIdentifier storageAccountResourceId = StorageAccountResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, accountName);
StorageAccountResource storageAccount = client.GetStorageAccountResource(storageAccountResourceId);
// invoke the operation
StorageAccountMigrationData data = new StorageAccountMigrationData(StorageSkuName.StandardZrs);
await storageAccount.CustomerInitiatedMigrationAsync(WaitUntil.Completed, data);
Console.WriteLine($"Succeeded");
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Resposta da amostra
location: https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res9101/providers/Microsoft.Storage/locations/eastus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2022-09-01
Definições
Name |
Description |
ErrorResponse
|
Uma resposta de erro do provedor de recursos de armazenamento.
|
ErrorResponseBody
|
Contrato do corpo de resposta ao erro.
|
migrationStatus
|
Situação atual da migração
|
SkuName
|
O nome SKU. Necessário para a criação de conta; opcional para atualização. Observe que, em versões mais antigas, o nome da SKU era chamado accountType.
|
StorageAccountMigration
|
Os parâmetros ou status associados a uma migração de conta de armazenamento em andamento ou enfileirada para atualizar sua SKU ou região atual.
|
ErrorResponse
Uma resposta de erro do provedor de recursos de armazenamento.
Name |
Tipo |
Description |
error
|
ErrorResponseBody
|
Corpo de resposta de erro do Provedor de Recursos de Armazenamento do Azure.
|
ErrorResponseBody
Contrato do corpo de resposta ao erro.
Name |
Tipo |
Description |
code
|
string
|
Um identificador para o erro. Os códigos são invariantes e destinam-se a ser consumidos programaticamente.
|
message
|
string
|
Uma mensagem descrevendo o erro, destinada a ser adequada para exibição em uma interface do usuário.
|
migrationStatus
Situação atual da migração
Name |
Tipo |
Description |
Complete
|
string
|
|
Failed
|
string
|
|
InProgress
|
string
|
|
Invalid
|
string
|
|
SubmittedForConversion
|
string
|
|
SkuName
O nome SKU. Necessário para a criação de conta; opcional para atualização. Observe que, em versões mais antigas, o nome da SKU era chamado accountType.
Name |
Tipo |
Description |
Premium_LRS
|
string
|
|
Premium_ZRS
|
string
|
|
Standard_GRS
|
string
|
|
Standard_GZRS
|
string
|
|
Standard_LRS
|
string
|
|
Standard_RAGRS
|
string
|
|
Standard_RAGZRS
|
string
|
|
Standard_ZRS
|
string
|
|
StorageAccountMigration
Os parâmetros ou status associados a uma migração de conta de armazenamento em andamento ou enfileirada para atualizar sua SKU ou região atual.
Name |
Tipo |
Description |
id
|
string
|
ID do recurso de migração
|
name
|
string
|
O valor atual é 'padrão' para a migração iniciada pelo cliente
|
properties.migrationFailedDetailedReason
|
string
|
Motivo da falha na migração
|
properties.migrationFailedReason
|
string
|
Código de erro para falha de migração
|
properties.migrationStatus
|
migrationStatus
|
Situação atual da migração
|
properties.targetSkuName
|
SkuName
|
Nome da sku de destino para a conta
|
type
|
string
|
SrpAccountMigrationType no contrato ARM que é 'accountMigrations'
|