Migrar seus dados para a conta de API de Tabela do Azure Cosmos DBMigrate your data to Azure Cosmos DB Table API account

Este tutorial fornece instruções sobre como importar dados para usar com o a API de Tabela do Azure Cosmos DB.This tutorial provides instructions on importing data for use with the Azure Cosmos DB Table API. Se você tiver dados no armazenamento de Tabelas do Azure, será possível usar a Ferramenta de Migração de Dados ou o AzCopy para importar os dados para a API de Tabela do Azure Cosmos DB.If you have data stored in Azure Table storage, you can use either the Data Migration Tool or AzCopy to import your data to Azure Cosmos DB Table API. Se você tiver dados armazenados em uma conta da API de Tabela do Azure Cosmos DB (versão prévia), deverá usar a ferramenta de Migração de Dados para migrar seus dados.If you have data stored in an Azure Cosmos DB Table API (preview) account, you must use the Data Migration tool to migrate your data.

Este tutorial cobre as seguintes tarefas:This tutorial covers the following tasks:

  • Importar dados com a ferramenta de migração de dadosImporting data with the Data Migration tool
  • Importar dados com o AzCopyImporting data with AzCopy
  • Migrar da API de Tabela (versão prévia) para a API de TabelaMigrating from Table API (preview) to Table API

Pré-requisitosPrerequisites

  • Aumentar a taxa de transferência: a duração da sua migração de dados depende da taxa de transferência que você configurar para um contêiner individual ou um conjunto de contêineres.Increase throughput: The duration of your data migration depends on the amount of throughput you set up for an individual container or a set of containers. Certifique-se de aumentar a taxa de transferência para migrações de dados maiores.Be sure to increase the throughput for larger data migrations. Depois de concluir a migração, diminua a taxa de transferência para economizar custos.After you've completed the migration, decrease the throughput to save costs. Para obter mais informações sobre como aumentar a produtividade no portal do Azure, consulte Níveis de desempenho e tipos de preço no Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

  • Criar recursos do Azure Cosmos DB: antes de começar a migrar dados, crie previamente todas as suas tabelas no portal do Azure.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your tables from the Azure portal. Se você estiver migrando para uma conta do Azure Cosmos DB com produtividade de nível de banco de dados, não deixe de fornecer uma chave de partição ao criar as tabelas do Azure Cosmos DB.If you are migrating to an Azure Cosmos DB account that has database level throughput, make sure to provide a partition key when creating the Azure Cosmos DB tables.

Ferramenta de migração de dadosData Migration tool

A ferramenta de Migração de Dados do Azure Cosmos DB da linha de comando (dt.exe) pode ser usada para importar os dados de armazenamento de Tabela do Azure existentes para uma conta disponível ao público em geral da API de Tabela ou migrar dados de uma conta da API de Tabela (versão prévia) para uma conta de disponível ao público em geral da API de Tabela.The command-line Azure Cosmos DB Data Migration tool (dt.exe) can be used to import your existing Azure Table storage data to a Table API GA account, or migrate data from a Table API (preview) account into a Table API GA account. Outras fontes não são atualmente compatíveis.Other sources are not currently supported. A ferramenta de migração de dados baseada na interface do usuário atualmente não oferece suporte para contas de API de tabela.The UI based Data Migration tool (dtui.exe) is not currently supported for Table API accounts.

Para executar uma migração de dados de tabela, conclua as seguintes tarefas:To perform a migration of table data, complete the following tasks:

  1. Baixe a ferramenta de migração no GitHub.Download the migration tool from GitHub.

  2. Execute dt.exe usando os argumentos de linha de comando para seu cenário.Run dt.exe using the command-line arguments for your scenario. dt.exe usa um comando no seguinte formato:dt.exe takes a command in the following format:

     dt.exe [/<option>:<value>] /s:<source-name> [/s.<source-option>:<value>] /t:<target-name> [/t.<target-option>:<value>] 
    

As opções para o comando são:Options for the command are:

/ErrorLog: Optional. Name of the CSV file to redirect data transfer failures
/OverwriteErrorLog: Optional. Overwrite error log file
/ProgressUpdateInterval: Optional, default is 00:00:01. Time interval to refresh on-screen data transfer progress
/ErrorDetails: Optional, default is None. Specifies that detailed error information should be displayed for the following errors: None, Critical, All
/EnableCosmosTableLog: Optional. Direct the log to a cosmos table account. If set, this defaults to destination account connection string unless /CosmosTableLogConnectionString is also provided. This is useful if multiple instances of DT are being run simultaneously.
/CosmosTableLogConnectionString: Optional. ConnectionString to direct the log to a remote cosmos table account. 

Configurações de fonte de linha de comandoCommand-line source settings

Use as seguintes opções de fonte ao definir Armazenamento de Tabela do Azure ou API de Tabela (versão prévia) como fonte da migração.Use the following source options when defining Azure Table Storage or Table API preview as the source of the migration.

/s:AzureTable: Reads data from Azure Table storage
/s.ConnectionString: Connection string for the table endpoint. This can be retrieved from the Azure portal
/s.LocationMode: Optional, default is PrimaryOnly. Specifies which location mode to use when connecting to Azure Table storage: PrimaryOnly, PrimaryThenSecondary, SecondaryOnly, SecondaryThenPrimary
/s.Table: Name of the Azure Table
/s.InternalFields: Set to All for table migration as RowKey and PartitionKey are required for import.
/s.Filter: Optional. Filter string to apply
/s.Projection: Optional. List of columns to select

Para recuperar a cadeia de conexão da fonte ao importar do armazenamento de Tabela do Azure, abra o portal do Azure e clique em Contas de armazenamento > Conta > Chaves de acesso e, em seguida, use o botão copiar para copiar a Cadeia de conexão.To retrieve the source connection string when importing from Azure Table storage, open the Azure portal and click Storage accounts > Account > Access keys, and then use the copy button to copy the Connection string.

Captura de tela das opções de origem do HBase

Para recuperar a cadeia de conexão da fonte ao importar de uma conta de API de Tabela do Azure Cosmos DB, abra o portal do Azure, clique em Azure Cosmos DB > Conta > Cadeia de conexão e use o botão copiar para copiar a Cadeia de conexão.To retrieve the source connection string when importing from an Azure Cosmos DB Table API (preview) account, open the Azure portal, click Azure Cosmos DB > Account > Connection String and use the copy button to copy the Connection String.

Captura de tela das opções de origem do HBase

Exemplo de comando de Armazenamento de Tabela do AzureSample Azure Table Storage command

Exemplo de comando da API de Tabela do Azure Cosmos DB (versão prévia)Sample Azure Cosmos DB Table API (preview) command

Configurações de destino de linha de comandoCommand-line target settings

Use as seguintes opções de destino ao definir a API de Tabela do Azure Cosmos DB como destino da migração.Use the following target options when defining Azure Cosmos DB Table API as the target of the migration.

/t:TableAPIBulk: Uploads data into Azure CosmosDB Table in batches
/t.ConnectionString: Connection string for the table endpoint
/t.TableName: Specifies the name of the table to write to
/t.Overwrite: Optional, default is false. Specifies if existing values should be overwritten
/t.MaxInputBufferSize: Optional, default is 1GB. Approximate estimate of input bytes to buffer before flushing data to sink
/t.Throughput: Optional, service defaults if not specified. Specifies throughput to configure for table
/t.MaxBatchSize: Optional, default is 2MB. Specify the batch size in bytes

Comando de exemplo: a fonte é o armazenamento de Tabelas do AzureSample command: Source is Azure Table storage

Aqui está um exemplo de linha de comando mostrando como importar do armazenamento de Tabela do Azure para a API de Tabela:Here is a command-line sample showing how to import from Azure Table storage to Table API:

dt /s:AzureTable /s.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Table storage account name>;AccountKey=<Account Key>;EndpointSuffix=core.windows.net /s.Table:<Table name> /t:TableAPIBulk /t.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Cosmos DB account name>;AccountKey=<Azure Cosmos DB account key>;TableEndpoint=https://<Account name>.table.cosmosdb.azure.com:443 /t.TableName:<Table name> /t.Overwrite

Comando de exemplo: a fonte é a API de Tabela do Azure Cosmos DB (versão prévia)Sample command: Source is Azure Cosmos DB Table API (preview)

Aqui está um exemplo de linha de comando para importar da API de Tabela (versão prévia) para a API de Tabela disponível ao público em geral:Here is a command-line sample to import from Table API preview to Table API GA:

dt /s:AzureTable /s.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Table API preview account name>;AccountKey=<Table API preview account key>;TableEndpoint=https://<Account Name>.documents.azure.com; /s.Table:<Table name> /t:TableAPIBulk /t.ConnectionString:DefaultEndpointsProtocol=https;AccountName=<Azure Cosmos DB account name>;AccountKey=<Azure Cosmos DB account key>;TableEndpoint=https://<Account name>.table.cosmosdb.azure.com:443 /t.TableName:<Table name> /t.Overwrite

Migrar dados usando o AzCopyMigrate data by using AzCopy

Outra opção para migrar dados de armazenamento de tabela do Azure para a API de Tabela do Azure Cosmos DB é usar o utilitário de linha de comando AzCopy.Using the AzCopy command-line utility is the other option for migrating data from Azure Table storage to the Azure Cosmos DB Table API. Para usar o AzCopy, primeiro exporte seus dados conforme descrito em Exportar dados do armazenamento de tabela, depois importe os dados para o Azure Cosmos DB conforme descrito em API de Tabela do Azure Cosmos DB.To use AzCopy, you first export your data as described in Export data from Table storage, then import the data to Azure Cosmos DB as described in Azure Cosmos DB Table API.

Ao executar a importação para o Azure Cosmos DB, consulte o exemplo a seguir.When performing the import into Azure Cosmos DB, refer to the following sample. Observe que o valor de /Dest usa cosmosdb e não core.Note that the /Dest value uses cosmosdb, not core.

Exemplo de comando de importação:Example import command:

AzCopy /Source:C:\myfolder\ /Dest:https://myaccount.table.cosmosdb.windows.net/mytable1/ /DestKey:key /Manifest:"myaccount_mytable_20140103T112020.manifest" /EntityOperation:InsertOrReplace

Migrar da API de Tabela (versão prévia) para a API de TabelaMigrate from Table API (preview) to Table API

Aviso

Se você quiser aproveitar imediatamente os benefícios das tabelas disponíveis ao público em geral, migre suas tabelas da versão prévia conforme especificado nesta seção; caso contrário, vamos executar migrações automáticas para clientes da versão prévia nas próximas semanas, observe, no entanto, que as tabelas da versão prévia migradas automaticamente terão certas restrições nelas que não há nas tabelas recém-criadas.If you want to immediately enjoy the benefits of the generally available tables then please migrate your existing preview tables as specified in this section, otherwise we will be performing auto-migrations for existing preview customers in the coming weeks, note however that auto-migrated preview tables will have certain restrictions to them that newly created tables will not.

A API de Tabela já está disponível ao público em geral.The Table API is now generally available (GA). Há diferenças entre as versões prévia e disponível ao público em geral das tabelas tanto no código que é executado na nuvem como no código que é executado no cliente.There are differences between the preview and GA versions of tables both in the code that runs in the cloud as well as in code that runs at the client. Portanto, não é recomendável tentar combinar um cliente do SDK de versão prévia com uma conta da API de Tabela disponível ao público em geral e vice-versa.Therefore it is not advised to try to mix a preview SDK client with a GA Table API account, and vice versa. Os clientes da versão prévia da API de Tabela que desejem continuar a usar as tabelas existentes, mas em um ambiente de produção precisam migrar da versão prévia para o ambiente disponível ao público em geral ou aguardar a migração automática.Table API preview customers who want to continue to use their existing tables but in a production environment need to migrate from the preview to the GA environment, or wait for auto-migration. Se você esperar a migração automática, será notificado sobre as restrições nas tabelas migradas.If you wait for auto-migration, you will be notified of the restrictions on the migrated tables. Após a migração, você poderá criar novas tabelas em sua conta existente sem restrições (somente tabelas migradas terão restrições).After migration, you will be able to create new tables on your existing account without restrictions (only migrated tables will have restrictions).

Para migrar da API de Tabela (versão prévia) para a API de Tabela disponível ao público em geral:To migrate from Table API (preview) to the generally available Table API:

  1. Crie uma nova conta do Azure Cosmos DB e defina seu tipo de API como Tabela do Azure, conforme descrito em Criar uma conta de banco de dados.Create a new Azure Cosmos DB account and set its API type to Azure Table as described in Create a database account.

  2. Altere os clientes para usar uma versão de lançamento dos SDKs da API de Tabela.Change clients to use a GA release of the Table API SDKs.

  3. Migre os dados do cliente das tabelas de versão prévia para tabelas disponíveis ao público em geral usando a ferramenta de Migração de Dados.Migrate the client data from preview tables to GA tables by using the Data Migration tool. Instruções sobre como usar a ferramenta de migração de dados para esse fim são descritas em Ferramenta de Migração de Dados.Instructions on using the data migration tool for this purpose are described in Data Migration tool.

Próximas etapasNext steps

Neste tutorial, você aprendeu a:In this tutorial you learned how to:

  • Importar dados com a ferramenta de migração de dadosImport data with the Data Migration tool
  • Importar dados com o AzCopyImport data with AzCopy
  • Migrar da API de Tabela (versão prévia) para a API de TabelaMigrate from Table API (preview) to Table API

Agora você pode seguir para o próximo tutorial e saber como consultar dados usando a API de Tabela do Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using the Azure Cosmos DB Table API.