Migración de los datos a una cuenta de Table API de Azure Cosmos DBMigrate your data to Azure Cosmos DB Table API account

En este tutorial se proporcionan instrucciones sobre cómo importar datos para su uso con Table API de Azure Cosmos DB.This tutorial provides instructions on importing data for use with the Azure Cosmos DB Table API. Si tiene datos almacenados en Azure Table Storage, puede usar la Herramienta de migración de datos o AzCopy para importar los datos en Table API de 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. Si tiene datos almacenados en una cuenta de Table API de Azure Cosmos DB (versión preliminar), debe usar la Herramienta de migración de datos para migrar los datos.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.

En este tutorial se describen las tareas siguientes:This tutorial covers the following tasks:

  • Importación de datos con la Herramienta de migración de datosImporting data with the Data Migration tool
  • Importación de datos con AzCopyImporting data with AzCopy
  • Migración de Table API (versión preliminar) a Table APIMigrating from Table API (preview) to Table API

Requisitos previosPrerequisites

  • Aumento del rendimiento: la duración de la migración de datos depende de la cantidad de rendimiento configurado para un solo contenedor o un conjunto de contenedores.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. Asegúrese de aumentar el rendimiento para migraciones de datos más grandes.Be sure to increase the throughput for larger data migrations. Después de haber completado la migración, reduzca el rendimiento para ahorrar costos.After you've completed the migration, decrease the throughput to save costs. Para más información acerca de cómo aumentar el rendimiento en Azure Portal, consulte Niveles de rendimiento y planes de tarifa de Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

  • Creación de recursos de Azure Cosmos DB: antes de comenzar la migración de datos, cree previamente todas las tablas desde Azure Portal.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your tables from the Azure portal. Si va a migrar a una cuenta de Azure Cosmos DB que tiene un rendimiento de nivel de base de datos, asegúrese de proporcionar una clave de partición al crear las tablas de 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.

Herramienta de migración de datosData Migration tool

La Herramienta de migración de datos de Azure Cosmos DB de línea de comandos (dt.exe) puede usarse para importar los datos de Azure Table Storage existentes a una cuenta con disponibilidad general de Table API o para migrar los datos desde una cuenta de Table API (versión preliminar) a una cuenta con disponibilidad general de Table API.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. Otros orígenes no se admiten actualmente.Other sources are not currently supported. La herramienta de migración de datos basada en la interfaz de usuario (dtui.exe) no se admite actualmente para las cuentas de la API Table.The UI based Data Migration tool (dtui.exe) is not currently supported for Table API accounts.

Para realizar una migración de datos de tablas, complete las tareas siguientes:To perform a migration of table data, complete the following tasks:

  1. Descargue la herramienta de migración de GitHub.Download the migration tool from GitHub.

  2. Ejecute dt.exe usando los argumentos de la línea de comandos para su escenario.Run dt.exe using the command-line arguments for your scenario. dt.exe toma un comando con el formato siguiente: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>] 
    

Las opciones admitidas para este comando son:The supported options for this command are:

  • /ErrorLog: Opcional./ErrorLog: Optional. Nombre del archivo CSV al que se redirigirán los errores de transferencia de datos.Name of the CSV file to redirect data transfer failures
  • /OverwriteErrorLog: Opcional./OverwriteErrorLog: Optional. Sobrescribir archivo de registro de errores.Overwrite error log file
  • /ProgressUpdateInterval: Opcional, el valor predeterminado es 00:00:01./ProgressUpdateInterval: Optional, default is 00:00:01. Intervalo de tiempo para actualizar el progreso de la transferencia de datos en pantalla.Time interval to refresh on-screen data transfer progress
  • /ErrorDetails: Opcional, el valor predeterminado es Ninguno./ErrorDetails: Optional, default is None. Especifica que se debe mostrar información de error detallada para los siguientes errores: Ninguno, Crítico, Todos.Specifies that detailed error information should be displayed for the following errors: None, Critical, All
  • /EnableCosmosTableLog: Opcional./EnableCosmosTableLog: Optional. Dirija el registro a una cuenta de Cosmos Table.Direct the log to a cosmos table account. Si se establece, el valor predeterminado es la cadena de conexión de la cuenta de destino, a menos que también se proporcione/CosmosTableLogConnectionString.If set, this defaults to destination account connection string unless /CosmosTableLogConnectionString is also provided. Esto resulta útil si se ejecutan varias instancias de DT simultáneamente.This is useful if multiple instances of DT are being run simultaneously.
  • /CosmosTableLogConnectionString: Opcional./CosmosTableLogConnectionString: Optional. Cadena de conexión para dirigir el registro a una cuenta de Cosmos Table remota.ConnectionString to direct the log to a remote cosmos table account.

Configuración del origen de la línea de comandosCommand-line source settings

Utilice las siguientes opciones de origen al definir la versión preliminar de Table API o Azure Table Storage como origen de la migración.Use the following source options when defining Azure Table Storage or Table API preview as the source of the migration.

  • /s:AzureTable: Lee datos de Azure Table Storage./s:AzureTable: Reads data from Azure Table storage
  • /s.ConnectionString: Cadena de conexión para el punto de conexión de tabla./s.ConnectionString: Connection string for the table endpoint. Se puede recuperar desde Azure Portal.This can be retrieved from the Azure portal
  • /s.LocationMode: Opcional, el valor predeterminado es PrimaryOnly./s.LocationMode: Optional, default is PrimaryOnly. Especifica el modo de ubicación que se va a usar al conectarse a Azure Table Storage: PrimaryOnly, PrimaryThenSecondary, SecondaryOnly, SecondaryThenPrimary.Specifies which location mode to use when connecting to Azure Table storage: PrimaryOnly, PrimaryThenSecondary, SecondaryOnly, SecondaryThenPrimary
  • /s.Table: Nombre de la tabla de Azure./s.Table: Name of the Azure Table
  • /s.InternalFields: Se establece en Todos para la migración de tablas, ya que RowKey y PartitionKey son campos necesarios para la importación./s.InternalFields: Set to All for table migration as RowKey and PartitionKey are required for import.
  • /s.Filter: Opcional./s.Filter: Optional. Cadena de filtro que se va a aplicar.Filter string to apply
  • /s.Projection: Opcional./s.Projection: Optional. Lista de columnas para seleccionar.List of columns to select

Para recuperar la cadena de conexión de origen al importar desde Azure Table Storage, abra Azure Portal y haga clic en Cuentas de almacenamiento > Cuenta > Claves de acceso y, a continuación, utilice el botón Copiar para copiar la cadena de conexión .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 pantalla que muestra las opciones Cuentas de almacenamiento > Cuenta > Claves de acceso y resalta el botón Copiar.

Para recuperar la cadena de conexión de origen al importar desde una cuenta de Table API de Azure Cosmos DB (versión preliminar), abra Azure Portal, haga clic en Azure Cosmos DB > Cuenta > Cadena de conexión y, a continuación, utilice el botón Copiar para copiar la cadena de conexión .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 pantalla de opciones de origen de HBase

Comando de Azure Table Storage de ejemploSample Azure Table Storage command

Comando de Table API de Azure Cosmos DB (versión preliminar) de ejemploSample Azure Cosmos DB Table API (preview) command

Configuración del destino de la línea de comandosCommand-line target settings

Utilice las siguientes opciones de destino al definir Table API de Azure Cosmos DB como destino de la migración.Use the following target options when defining Azure Cosmos DB Table API as the target of the migration.

  • /t: TableAPIBulk: Carga datos en Azure CosmosDB Table en lotes./t:TableAPIBulk: Uploads data into Azure CosmosDB Table in batches
  • /t.ConnectionString: Cadena de conexión para el punto de conexión de tabla/t.ConnectionString: Connection string for the table endpoint
  • /t.TableName: Especifica el nombre de la tabla en la que se va a escribir./t.TableName: Specifies the name of the table to write to
  • /t.Overwrite: Opcional, el valor predeterminado es falso./t.Overwrite: Optional, default is false. Especifica si se deben sobrescribir los valores existentes.Specifies if existing values should be overwritten
  • /t.MaxInputBufferSize: Opcional, el valor predeterminado es 1 GB./t.MaxInputBufferSize: Optional, default is 1GB. Estimación aproximada de bytes de entrada que se almacenarán en búfer antes de vaciar los datos en el receptor.Approximate estimate of input bytes to buffer before flushing data to sink
  • /t.Throughput: Opcional, los valores predeterminados de servicio si no se especifican./t.Throughput: Optional, service defaults if not specified. Especifica el rendimiento que se va a configurar para la tabla.Specifies throughput to configure for table
  • /t.MaxBatchSize: Opcional, el valor predeterminado es 2 MB./t.MaxBatchSize: Optional, default is 2MB. Especificar el tamaño del lote en bytes.Specify the batch size in bytes

Comando de ejemplo: El origen es el almacenamiento de Azure TableSample command: Source is Azure Table storage

A continuación se muestra un ejemplo de línea de comandos para importar desde Azure Table Storage a Table API: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 ejemplo: El origen es Table API de Azure Cosmos DB (versión preliminar)Sample command: Source is Azure Cosmos DB Table API (preview)

A continuación se muestra un ejemplo de línea de comandos para importar desde la versión preliminar de Table API a Table API con disponibilidad general: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

Migración de datos mediante AzCopyMigrate data by using AzCopy

La utilidad de línea de comandos AzCopy es la otra opción para migrar datos desde Azure Table Storage a Table API de 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. Para usar AzCopy, primero exporte los datos tal y como se describe en Exportación de datos desde Table Storage y luego impórtelos a Azure Cosmos DB, según se describe en Table API de 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.

Al realizar la importación en Azure Cosmos DB, consulte el ejemplo siguiente.When performing the import into Azure Cosmos DB, refer to the following sample. Tenga en cuenta que el valor /Dest utiliza cosmosdb, no el básico.Note that the /Dest value uses cosmosdb, not core.

Comando de importación de ejemplo:Example import command:

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

Migración de Table API (versión preliminar) a Table APIMigrate from Table API (preview) to Table API

Advertencia

Si desea disfrutar inmediatamente de las ventajas de las tablas disponibles con carácter general, migre las tablas existentes de la versión preliminar tal y como se especifica en esta sección; en caso contrario, en las próximas semanas, realizaremos migraciones automáticas para los clientes de la versión preliminar existentes. No obstante, tenga en cuenta que las tablas de la versión preliminar migradas automáticamente tendrán ciertas restricciones que las recién creadas no sufrirán.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.

Table API ya está disponible ahora con carácter general (GA).The Table API is now generally available (GA). Existen diferencias entre la versión preliminar y las versiones de tablas con disponibilidad general, tanto en el código que se ejecuta en la nube como en el que lo hace en el 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. Por lo tanto, no se recomienda intentar mezclar un cliente SDK de la versión preliminar con una cuenta de Table API con disponibilidad general y viceversa.Therefore it is not advised to try to mix a preview SDK client with a GA Table API account, and vice versa. Los clientes de la versión preliminar de Table API que deseen seguir utilizando sus tablas existentes pero en un entorno de producción, tienen que migrar desde la versión preliminar al entorno con disponibilidad general o bien esperar a la migración 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. Si espera a la migración automática, se le notificarán las restricciones de las tablas migradas.If you wait for auto-migration, you will be notified of the restrictions on the migrated tables. Tras la migración, podrá crear nuevas tablas en su cuenta actual sin restricciones (solo las tablas migradas las tendrán).After migration, you will be able to create new tables on your existing account without restrictions (only migrated tables will have restrictions).

Para migrar desde Table API (versión preliminar) a Table API disponible con carácter general:To migrate from Table API (preview) to the generally available Table API:

  1. Cree una nueva cuenta de Azure Cosmos DB y establezca su tipo de API en Azure Table, como se describe en Creación de una cuenta de base de datos.Create a new Azure Cosmos DB account and set its API type to Azure Table as described in Create a database account.

  2. Cambie los clientes para que usen una versión con disponibilidad general de los SDK de Table API.Change clients to use a GA release of the Table API SDKs.

  3. Migre los datos de cliente desde las tablas de la versión preliminar a las tablas con disponibilidad general mediante la Herramienta de migración de datos.Migrate the client data from preview tables to GA tables by using the Data Migration tool. Las instrucciones sobre cómo utilizar la Herramienta de migración de datos para este propósito se describen en Herramienta de migración de datos.Instructions on using the data migration tool for this purpose are described in Data Migration tool.

Pasos siguientesNext steps

En este tutorial, ha aprendido cómo:In this tutorial you learned how to:

  • Importar datos con la Herramienta de migración de datosImport data with the Data Migration tool
  • Importar datos con AzCopyImport data with AzCopy
  • Migración de Table API (versión preliminar) a Table APIMigrate from Table API (preview) to Table API

Ahora puede pasar al siguiente tutorial y aprender a consultar los datos mediante Table API de Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using the Azure Cosmos DB Table API.