Eseguire la migrazione dei dati nell'account dell'API Tabella di Azure Cosmos DBMigrate your data to Azure Cosmos DB Table API account

Questa esercitazione fornisce le istruzioni per importare i dati da usare con l'API Tabelle di Azure Cosmos DB.This tutorial provides instructions on importing data for use with the Azure Cosmos DB Table API. Se sono stati archiviati dati nell'archiviazione tabelle di Azure, è possibile usare sia l'Utilità di migrazione dati che il comando AzCopy per importare i dati nell'API Tabella di 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 sono presenti dati archiviati in un account dell'API Table (anteprima) di Azure Cosmos DB, è necessario usare l'Utilità di migrazione dati per la migrazione dei dati.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.

Questa esercitazione illustra le attività seguenti:This tutorial covers the following tasks:

  • Importazione dei dati con l'Utilità di migrazione datiImporting data with the Data Migration tool
  • Importazione dei dati con AzCopyImporting data with AzCopy
  • Migrazione dall'API Table (anteprima) all'API TableMigrating from Table API (preview) to Table API

PrerequisitiPrerequisites

  • Aumentare la velocità effettiva: la durata della migrazione dei dati dipende dalla velocità effettiva configurata per un singolo contenitore o un set di contenitori.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. Assicurarsi di aumentare la velocità effettiva per le migrazioni dei dati di dimensioni più grandi.Be sure to increase the throughput for larger data migrations. Dopo avere completato la migrazione, diminuire la velocità effettiva per ridurre i costi.After you've completed the migration, decrease the throughput to save costs. Per altre informazioni sull'aumento della velocità effettiva nel portale di Azure, vedere Livelli di prestazioni e piani tariffari in Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

  • Creare risorse di Azure Cosmos DB: prima di iniziare la migrazione dei dati, creare tutte le tabelle dal portale di Azure.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your tables from the Azure portal. Se si esegue la migrazione a un account Azure Cosmos DB con velocità effettiva a livello di database, assicurarsi di fornire una chiave di partizione quando si creano le tabelle di 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.

Utilità di migrazione datiData Migration tool

L'Utilità di migrazione dati di Azure Cosmos DB da riga di comando (dt.exe) consente di importare i dati dell'archiviazione tabelle di Azure esistenti in un account GA dell'API Table o di migrare i dati da un account dell'API Table (anteprima) a un account GA dell'API Table.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. Al momento non sono supportate altre origini.Other sources are not currently supported. L'Utilità di migrazione dati basata su interfaccia utente (dtui.exe) non è attualmente supportata per gli account dell'API Table.The UI based Data Migration tool (dtui.exe) is not currently supported for Table API accounts.

Per eseguire una migrazione dei dati di tabelle, completare le attività seguenti:To perform a migration of table data, complete the following tasks:

  1. Scaricare l'Utilità di migrazione dati da GitHub.Download the migration tool from GitHub.

  2. Eseguire dt.exe usando gli argomenti della riga di comando per lo scenario in questione.Run dt.exe using the command-line arguments for your scenario. dt.exe accetta un comando nel formato seguente: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>] 
    

Le opzioni del comando sono: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. 

Impostazioni dell'origine della riga di comandoCommand-line source settings

Usare le opzioni dell'origine seguenti per definire l'archiviazione tabelle di Azure o l'anteprima dell'API Table come origine della migrazione.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

Per recuperare la stringa di connessione di origine durante l'importazione dall'archiviazione tabelle di Azure, aprire il portale di Azure e fare clic su Account di archiviazione > Account > Chiavi di accesso, quindi usare il pulsante Copia per copiare la stringa di connessione.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.

Schermata di HBase opzioni del codice sorgente

Per recuperare la stringa di connessione di origine durante l'importazione da un account dell'API Table (anteprima) di Azure Cosmos DB, aprire il portale di Azure e fare clic su Azure Cosmos DB > Account > Stringa di connessione, quindi usare il pulsante Copia per copiare la stringa di connessione.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.

Schermata di HBase opzioni del codice sorgente

Comando di archiviazione tabelle di Azure di esempioSample Azure Table Storage command

Comando di API Table (anteprima) di Azure Cosmos DBSample Azure Cosmos DB Table API (preview) command

Impostazioni della destinazione della riga di comandoCommand-line target settings

Usare le opzioni della destinazione seguenti per definire l'API Table di Azure Cosmos DB come destinazione della migrazione.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 di esempio: l'origine è l'archiviazione tabelle di AzureSample command: Source is Azure Table storage

Ecco un esempio di riga di comando per importare dall'archiviazione tabelle di Azure all'API Table: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 di esempio: l'origine è l'API Tabella di Azure Cosmos DB (anteprima)Sample command: Source is Azure Cosmos DB Table API (preview)

Ecco un esempio di riga di comando per importare dall'anteprima dell'API Table all'API Table GA: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

Eseguire la migrazione dei dati mediante AzCopyMigrate data by using AzCopy

L'utilità da riga di comando AzCopy è l'altra opzione per eseguire la migrazione dei dati dall'archiviazione tabelle di Azure all'API Table di Azure Cosmos DB.Using the AzCopy command-line utility is the other option for migrating data from Azure Table storage to the Azure Cosmos DB Table API. Per usare AzCopy, è prima necessario esportare i dati come descritto in Esportare dati da Archiviazione tabelle, quindi importare i dati in Azure Cosmos DB come descritto nell'API Tabelle di 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.

Quando si esegue l'importazione in Azure Cosmos DB, vedere l'esempio seguente.When performing the import into Azure Cosmos DB, refer to the following sample. Si noti che il valore /Dest usa cosmosdb, non core.Note that the /Dest value uses cosmosdb, not core.

Comando di importazione di esempio:Example import command:

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

Migrare dall'API Table (anteprima) all'API TableMigrate from Table API (preview) to Table API

Avviso

Per sfruttare immediatamente i vantaggi delle tabelle disponibili a livello generale, eseguire la migrazione delle tabelle di anteprima esistenti come specificato in questa sezione; in caso contrario si eseguiranno migrazioni automatiche per i clienti dell'anteprima esistenti nelle prossime settimane. Tenere presente tuttavia che le tabelle di anteprima migrate automaticamente presenteranno alcune limitazioni rispetto alle tabelle appena create.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.

L'API Table è ora disponibile a livello generale.The Table API is now generally available (GA). Sussistono differenze tra le versioni di anteprima e GA delle tabelle sia nel codice che viene eseguito nel cloud che nel codice in esecuzione nel client.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. Pertanto non è consigliabile provare a combinare un client SDK di anteprima con un account dell'API Table GA e viceversa.Therefore it is not advised to try to mix a preview SDK client with a GA Table API account, and vice versa. I clienti dell'anteprima dell'API Table che intendono continuare a usare le tabelle esistenti, ma in un ambiente di produzione, devono eseguire la migrazione dall'anteprima all'ambiente GA o attendere la migrazione automatica.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 si attende la migrazione automatica, verrà ricevuta una notifica relativa alle restrizioni nelle tabelle migrate.If you wait for auto-migration, you will be notified of the restrictions on the migrated tables. Dopo la migrazione sarà possibile creare nuove tabelle nell'account esistente senza restrizioni (solo le tabelle migrate presenteranno restrizioni).After migration, you will be able to create new tables on your existing account without restrictions (only migrated tables will have restrictions).

Per eseguire la migrazione dall'API Table (anteprima) all'API Table disponibile a livello generale:To migrate from Table API (preview) to the generally available Table API:

  1. Creare un nuovo account Azure Cosmos DB e impostarne il tipo dell'API su Tabella di Azure, come descritto in Creare un account di database.Create a new Azure Cosmos DB account and set its API type to Azure Table as described in Create a database account.

  2. Modificare i client per l'uso di una versione GA degli SDK dell'API Table.Change clients to use a GA release of the Table API SDKs.

  3. Eseguire la migrazione dei dati del client dalle tabelle di anteprima alle tabelle GA usando l'Utilità di migrazione dati.Migrate the client data from preview tables to GA tables by using the Data Migration tool. Le istruzioni su come usare l'Utilità di migrazione dati a tale scopo sono descritte in Utilità di migrazione dati.Instructions on using the data migration tool for this purpose are described in Data Migration tool.

Passaggi successiviNext steps

In questa esercitazione si è appreso come:In this tutorial you learned how to:

  • Importare dati con l'Utilità di migrazione datiImport data with the Data Migration tool
  • Importare dati con AzCopyImport data with AzCopy
  • Migrare dall'API Table (anteprima) all'API TableMigrate from Table API (preview) to Table API

È ora possibile passare all'esercitazione successiva per ottenere informazioni su come eseguire query sui dati usando l'API Tabelle di Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using the Azure Cosmos DB Table API.