Перенос данных в учетную запись API таблиц в Azure Cosmos DBMigrate your data to Azure Cosmos DB Table API account

Это руководство содержит инструкции по импорту данных для использования с помощью API таблицы Azure Cosmos DB.This tutorial provides instructions on importing data for use with the Azure Cosmos DB Table API. Данные, хранящиеся в хранилище таблиц Azure, можно импортировать в API таблиц в Azure Cosmos DB, используя средства переноса данных или средство AzCopy.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. Данные, хранящиеся в учетной записи API таблицы Azure Cosmos DB (предварительная версия), необходимо переносить с помощью средства переноса данных.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.

В рамках этого руководства рассматриваются следующие задачи:This tutorial covers the following tasks:

  • импорт данных с помощью средства переноса данных;Importing data with the Data Migration tool
  • импорт данных с помощью AzCopy.Importing data with AzCopy
  • миграция из API таблицы (предварительная версия) в API таблицы.Migrating from Table API (preview) to Table API

предварительные требованияPrerequisites

  • Увеличьте пропускную способность. Продолжительность переноса данных зависит от пропускной способности, настроенной для отдельного контейнера или набора контейнеров.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. Увеличьте пропускную способность для крупных миграций.Be sure to increase the throughput for larger data migrations. После переноса уменьшите пропускную способность для экономии расходов.After you've completed the migration, decrease the throughput to save costs. Дополнительные сведения об увеличении пропускной способности на портале Azure см. в статье об уровнях производительности и ценовых категориях в Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

  • Создайте ресурсы Azure Cosmos DB. Перед началом переноса данных заранее создайте все таблицы на портале Azure.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your tables from the Azure portal. Если вы выполняете перенос в учетную запись Azure Cosmos DB, обладающую пропускной способностью уровня базы данных, обязательно укажите ключ раздела при создании таблиц 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.

Средство переноса данныхData Migration tool

Импортировать имеющиеся данные хранилища таблиц Azure в учетную запись API таблицы (общедоступная версия) или перенести данные из учетной записи API таблицы (предварительная версия) в учетную запись API таблицы (общедоступная версия) можно с помощью средства переноса данных Azure Cosmos DB командной строки (dt.exe).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. Другие источники в настоящее время не поддерживаются.Other sources are not currently supported. Средство переноса данных на основе пользовательского интерфейса (dtui.exe) в настоящее время не поддерживается для учетных записей API таблиц.The UI based Data Migration tool (dtui.exe) is not currently supported for Table API accounts.

Чтобы выполнить миграцию данных таблицы, сделайте следующее:To perform a migration of table data, complete the following tasks:

  1. Скачайте средство миграции с сайта GitHub.Download the migration tool from GitHub.

  2. Запустите dt.exe с помощью аргументов командной строки для своего сценария.Run dt.exe using the command-line arguments for your scenario. dt.exe принимает команду в следующем формате: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>] 
    

Существуют такие параметры для команды: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. 

Параметры источника командной строкиCommand-line source settings

Определить хранилище таблиц Azure или API таблицы (предварительная версия) как источник миграции можно с помощью следующих параметров источника.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

Чтобы получить строку подключения к источнику при импорте из хранилища таблиц Azure, откройте портал Azure, щелкните Учетные записи хранения > Учетная запись > Ключи доступа, а затем нажмите кнопку "Копировать", чтобы скопировать строку подключения.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.

Снимок экрана: параметры источника HBase

Чтобы получить строку подключения к источнику при импорте из учетной записи API таблицы Azure Cosmos DB (предварительная версия), откройте портал Azure, щелкните Azure Cosmos DB > Учетная запись > Строка подключения, а затем нажмите кнопку "Копировать", чтобы скопировать строку подключения.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.

Снимок экрана: параметры источника HBase

Пример команды хранилища таблиц AzureSample Azure Table Storage command

Пример команды API таблицы Azure Cosmos DB (предварительная версия)Sample Azure Cosmos DB Table API (preview) command

Параметры целевого объекта командной строкиCommand-line target settings

Определите API таблицы Azure Cosmos DB в качестве целевого объекта для переноса с помощью следующих параметров целевого объекта.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

Пример команды: источник — хранилище таблиц AzureSample command: Source is Azure Table storage

Ниже приведен пример команды для импорта данных из хранилища таблиц Azure в 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

Пример команды: источник — API таблицы Azure Cosmos DB (предварительная версия)Sample command: Source is Azure Cosmos DB Table API (preview)

Ниже приведен пример команды для импорта данных из API таблицы (предварительная версия) в API таблицы (общедоступная версия):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

Перенос данных с помощью AzCopyMigrate data by using AzCopy

С помощью служебной программы командной строки AzCopy можно также перенести данные из табличного хранилища Azure в API таблицы 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. Чтобы использовать AzCopy, сначала необходимо экспортировать данные, как описано в разделе Экспорт данных из хранилища таблиц, а затем импортировать их, как описано в разделе Импорт данных в хранилище таблиц.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.

При выполнении импорта в Azure Cosmos DB см. следующий пример.When performing the import into Azure Cosmos DB, refer to the following sample. Обратите внимание, что значение /Dest использует cosmosdb, а не ядро.Note that the /Dest value uses cosmosdb, not core.

Пример команды импорта:Example import command:

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

перенос из API таблицы (предварительная версия) в API таблицы.Migrate from Table API (preview) to Table API

Предупреждение

Если вы хотите воспользоваться преимуществами общедоступных таблиц, выполните перенос имеющихся таблиц в предварительной версии, как указано в этом разделе. В противном случае в течение нескольких недель будет выполнен автоматический перенос для имеющихся клиентов предварительной версии. Однако обратите внимание, что для автоматически перенесенных таблиц предварительной версии появятся определенные ограничения, в то время как для созданных таблиц ограничений не будет.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.

Доступна общедоступная версия API таблицы.The Table API is now generally available (GA). Ниже приведены различия между предварительной и общедоступной версиями таблиц в коде, выполняемом в облаке, а также в коде, выполняемом на клиенте.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. Поэтому мы не рекомендуем использовать клиентский пакет SDK предварительной версии с учетной записью общедоступной версии API таблицы и наоборот.Therefore it is not advised to try to mix a preview SDK client with a GA Table API account, and vice versa. Клиентам предварительной версии API таблицы, которые хотят продолжить использование имеющихся таблиц, необходимо перенести данные из предварительной версии в общедоступную среду или дождаться автоматического переноса.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. Если вы ждете автоматического переноса, вам придет уведомление об ограничениях для перенесенных таблиц.If you wait for auto-migration, you will be notified of the restrictions on the migrated tables. После переноса можно создавать таблицы в имеющейся учетной записи без ограничений (ограничения применяются только к перенесенным таблицам).After migration, you will be able to create new tables on your existing account without restrictions (only migrated tables will have restrictions).

Для переноса данных из API таблицы (предварительная версия) в общедоступную версию API таблицы сделайте следующее:To migrate from Table API (preview) to the generally available Table API:

  1. Создайте учетную запись Azure Cosmos DB и задайте в качестве типа API таблицу Azure, как описано в разделе Создание учетной записи базы данных.Create a new Azure Cosmos DB account and set its API type to Azure Table as described in Create a database account.

  2. Измените клиентов для использования в общедоступной версии пакетов SDK для API таблицы.Change clients to use a GA release of the Table API SDKs.

  3. Перенесите данные клиента из таблиц предварительной версии в общедоступную версию таблицы с помощью средства переноса данных.Migrate the client data from preview tables to GA tables by using the Data Migration tool. Инструкции по использованию средства переноса данных см. в этом разделе.Instructions on using the data migration tool for this purpose are described in Data Migration tool.

Дальнейшие действияNext steps

Из этого руководства вы узнали, как выполнять такие задачи:In this tutorial you learned how to:

  • импорт данных с помощью средства переноса данных;Import data with the Data Migration tool
  • импорт данных с помощью AzCopy.Import data with AzCopy
  • перенос из API таблицы (предварительная версия) в API таблицы.Migrate from Table API (preview) to Table API

Теперь вы можете перейти к следующему руководству, из которого вы узнаете, как запрашивать данные с помощью API таблицы Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using the Azure Cosmos DB Table API.