Migrowanie danych na konto interfejsu API tabel w usłudze Azure Cosmos DBMigrate your data to Azure Cosmos DB Table API account

Ten samouczek zawiera instrukcje dotyczące importowania danych do użycia z interfejsem API tabel usługi Azure Cosmos DB.This tutorial provides instructions on importing data for use with the Azure Cosmos DB Table API. Jeśli masz dane przechowywane w usłudze Azure Table Storage, możesz zaimportować je do interfejsu API tabel w usłudze Azure Cosmos DB za pomocą narzędzia do migracji danych lub narzędzia 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. Jeśli masz dane przechowywane na koncie interfejsu API tabel usługi Azure Cosmos DB w wersji zapoznawczej, musisz użyć narzędzia do migracji danych, aby przenieść dane.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.

Ten samouczek obejmuje następujące zadania:This tutorial covers the following tasks:

  • Importowanie danych za pomocą narzędzia do migracji danychImporting data with the Data Migration tool
  • Importowanie danych za pomocą narzędzia AzCopyImporting data with AzCopy
  • Migracja z interfejsu API tabel w wersji zapoznawczej do interfejsu API tabelMigrating from Table API (preview) to Table API

Wymagania wstępnePrerequisites

  • Zwiększanie przepływności: czas trwania migracji danych zależy od przepływności skonfigurowanej dla pojedynczego kontenera lub dla zestawu kontenerów.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. Pamiętaj o zwiększeniu przepływności w przypadku większych migracji danych.Be sure to increase the throughput for larger data migrations. Po ukończeniu migracji zmniejsz przepływność, aby ograniczyć koszty.After you've completed the migration, decrease the throughput to save costs. Aby uzyskać więcej informacji na temat zwiększania przepływności w witrynie Azure Portal, zobacz Performance levels and pricing tiers in Azure Cosmos DB (Poziomy wydajności i warstwy cenowe w usłudze Azure Cosmos DB).For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

  • Tworzenie zasobów usługi Azure Cosmos DB: przed rozpoczęciem migracji danych utwórz wstępnie wszystkie tabele z poziomu witryny Azure Portal.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your tables from the Azure portal. W przypadku migracji do konta usługi Azure Cosmos DB, która ma przepływność poziomu bazy danych, pamiętaj o podaniu klucza partycji podczas tworzenia tabel usługi 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.

Narzędzie do migracji danychData Migration tool

Narzędzie wiersza polecenia usługi Azure Cosmos DB do migracji danych (dt.exe) umożliwia importowanie istniejących danych z usługi Azure Table Storage na konto ogólnie dostępnej wersji interfejsu API tabel oraz migrowanie danych z konta wersji zapoznawczej interfejsu API tabel na konto ogólnie dostępnej wersji interfejsu API tabel.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. Inne źródła nie są obecnie obsługiwane.Other sources are not currently supported. Narzędzie do migracji danych z interfejsem użytkownika (dtui.exe) nie jest obecnie obsługiwane w przypadku kont interfejsu API tabel.The UI based Data Migration tool (dtui.exe) is not currently supported for Table API accounts.

Aby przeprowadzić migrację danych tabeli, wykonaj następujące czynności:To perform a migration of table data, complete the following tasks:

  1. Pobierz narzędzie do migracji danych z witryny GitHub.Download the migration tool from GitHub.

  2. Uruchom narzędzie dt.exe przy użyciu argumentów wiersza polecenia odpowiednich do scenariusza.Run dt.exe using the command-line arguments for your scenario. Narzędzie dt.exe przyjmuje polecenia w następującym formacie: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>] 
    

Dostępne są następujące opcje polecenia: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. 

Ustawienia źródła w wierszu poleceniaCommand-line source settings

Podczas definiowania usługi Azure Table Storage lub interfejsu API tabel w wersji zapoznawczej jako źródła migracji użyj następujących opcji źródła.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

Aby pobrać parametry połączenia źródła podczas importu z usługi Azure Table Storage, otwórz witrynę Azure Portal i kliknij kolejno pozycje Konta magazynu > Konto > Klucze dostępu, a następnie skopiuj Parametry połączenia za pomocą przycisku Kopiuj.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.

Zrzut ekranu przedstawiający opcje źródła dla bazy danych HBase

Aby pobrać parametry połączenia źródła podczas importu z konta wersji zapoznawczej interfejsu API tabel usługi Azure Cosmos DB, otwórz witrynę Azure Portal, kliknij kolejno pozycje Azure Cosmos DB > Konto > Parametry połączenia i skopiuj Parametry połączenia za pomocą przycisku Kopiuj.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.

Zrzut ekranu przedstawiający opcje źródła dla bazy danych HBase

Przykład polecenia dla usługi Azure Table StorageSample Azure Table Storage command

Przykład polecenia dla wersji zapoznawczej interfejsu API tabel usługi Azure Cosmos DBSample Azure Cosmos DB Table API (preview) command

Ustawienia miejsca docelowego w wierszu poleceniaCommand-line target settings

Podczas definiowania interfejsu API tabel usługi Azure Cosmos DB jako miejsca docelowego migracji użyj następujących opcji miejsca docelowego.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

Przykładowe polecenie: źródłem jest usługa Azure Table StorageSample command: Source is Azure Table storage

Oto przykład wiersza polecenia przedstawiający sposób importowania danych z usługi Azure Table Storage do interfejsu API tabel: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

Przykładowe polecenie: źródłem jest interfejs API tabel w usłudze Azure Cosmos DBSample command: Source is Azure Cosmos DB Table API (preview)

Oto przykład wiersza polecenia przedstawiający sposób importowania danych z wersji zapoznawczej interfejsu API tabel do wersji ogólnie dostępnej interfejsu API tabel: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

Migrowanie danych przy użyciu narzędzia AzCopyMigrate data by using AzCopy

Inną opcją migracji danych z usługi Azure Table Storage do interfejsu API tabel usługi Azure Cosmos DB jest użycie narzędzia wiersza polecenia 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. Aby użyć narzędzia AzCopy, należy najpierw wyeksportować dane zgodnie z opisem w sekcji Export data from Table Storage (Eksportowanie danych z usługi Table Storage), a następnie zaimportować dane do usługi Azure Cosmos DB zgodnie z opisem w sekcji Azure Cosmos DB Table API (Interfejs API tabel usługi 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.

Podczas importowania danych do usługi Azure Cosmos DB skorzystaj z poniższego przykładu.When performing the import into Azure Cosmos DB, refer to the following sample. Zwróć uwagę, że dla parametru /Dest jest używana wartość „cosmosdb”, nie „core”.Note that the /Dest value uses cosmosdb, not core.

Przykładowe polecenie importu:Example import command:

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

Migracja z interfejsu API tabel w wersji zapoznawczej do interfejsu API tabelMigrate from Table API (preview) to Table API

Ostrzeżenie

Jeśli chcesz od razu skorzystać z możliwości, jakie dają tabele w wersji ogólnie dostępnej, przeprowadź migrację istniejących tabel w wersji zapoznawczej zgodnie z instrukcjami przedstawionymi w tej sekcji. W przeciwnym razie dla obecnych klientów korzystających z wersji zapoznawczej będzie w nadchodzących tygodniach prowadzona migracja automatyczna. Należy zwrócić uwagę, że tabele z wersji zapoznawczej po migracji automatycznej będą objęte pewnymi ograniczenia, które nie będą dotyczyć nowo utworzonych tabel.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.

Interfejs API tabel jest teraz ogólnie dostępny.The Table API is now generally available (GA). Istnieją różnice między wersją zapoznawczą a wersją ogólnie dostępną tabel, dotyczące zarówno kodu działającego w chmurze, jak i kodu działającego po stronie klienta.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. Dlatego nie zalecamy używania klienta SDK w wersji zapoznawczej z kontem interfejsu API tabel w wersji ogólnie dostępnej i na odwrót.Therefore it is not advised to try to mix a preview SDK client with a GA Table API account, and vice versa. Klienci korzystający z wersji zapoznawczej interfejsu API tabel, którzy chcą nadal korzystać z istniejących tabel, ale w środowisku produkcyjnym, muszą przeprowadzić migrację ze środowiska wersji zapoznawczej do środowiska ogólnie dostępnego lub zaczekać na migrację automatyczną.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. Jeśli zaczekasz na migrację automatyczną, otrzymasz powiadomienie na temat ograniczeń dotyczących zmigrowanych tabel.If you wait for auto-migration, you will be notified of the restrictions on the migrated tables. Po migracji będziesz mieć możliwość tworzenia na obecnym koncie nowych tabel bez ograniczeń (ograniczenia dotyczą tylko zmigrowanych tabel).After migration, you will be able to create new tables on your existing account without restrictions (only migrated tables will have restrictions).

Aby przeprowadzić migrację z wersji zapoznawczej interfejsu API tabel do wersji ogólnie dostępnej interfejsu API tabel:To migrate from Table API (preview) to the generally available Table API:

  1. Utwórz nowe konto usługi Azure Cosmos DB i wybierz typ interfejsu API „Tabela platformy Azure”, zgodnie z opisem w sekcji Tworzenie konta bazy danych.Create a new Azure Cosmos DB account and set its API type to Azure Table as described in Create a database account.

  2. Zmień ustawienia klientów tak, aby korzystały z ogólnie dostępnej wersji zestawów SDK interfejsu API tabel.Change clients to use a GA release of the Table API SDKs.

  3. Przeprowadź migrację danych klientów z tabel w wersji zapoznawczej do wersji ogólnie dostępnej za pomocą narzędzia do migracji danych.Migrate the client data from preview tables to GA tables by using the Data Migration tool. Instrukcje dotyczące używania narzędzia do migracji danych do tego celu znajdziesz w sekcji Narzędzie do migracji danych.Instructions on using the data migration tool for this purpose are described in Data Migration tool.

Kolejne krokiNext steps

W tym samouczku zawarto informacje na temat wykonywania następujących czynności:In this tutorial you learned how to:

  • Importowanie danych za pomocą narzędzia do migracji danychImport data with the Data Migration tool
  • Importowanie danych za pomocą narzędzia AzCopyImport data with AzCopy
  • Migracja z interfejsu API tabel w wersji zapoznawczej do interfejsu API tabelMigrate from Table API (preview) to Table API

Teraz możesz przejść do następnego samouczka, aby dowiedzieć się, jak wykonywać zapytania dotyczące danych za pomocą interfejsu API tabel usługi Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using the Azure Cosmos DB Table API.