Migrieren Ihrer Daten zu Azure Cosmos DB mithilfe des DatenmigrationstoolsUse Data migration tool to migrate your data to Azure Cosmos DB

In diesem Tutorial erfahren Sie, wie Sie das Azure Cosmos DB-Datenmigrationstool verwenden, mit dem Sie Daten aus verschiedenen Quellen in Azure Cosmos DB-Sammlungen und -Tabellen importieren können.This tutorial provides instructions on using the Azure Cosmos DB Data Migration tool, which can import data from various sources into Azure Cosmos DB collections and tables. Daten können aus JSON-Dateien, CSV-Dateien, SQL, MongoDB, Azure Table Storage, Amazon DynamoDB und sogar aus Azure Cosmos DB-SQL-API-Sammlungen importiert werden. Diese Daten werden für die Verwendung mit Azure Cosmos DB in entsprechende Sammlungen und Tabellen migriert.You can import from JSON files, CSV files, SQL, MongoDB, Azure Table storage, Amazon DynamoDB, and even Azure Cosmos DB SQL API collections, and you migrate that data to collections and tables for use with Azure Cosmos DB. Das Datenmigrationstool kann auch für die Migration von einer Sammlung mit einer einzelnen Partition zu einer Sammlung mit mehreren Partitionen für die SQL-API verwendet werden.The Data Migration tool can also be used when migrating from a single partition collection to a multi-partition collection for the SQL API.

Welche API wird mit Azure Cosmos DB verwendet?Which API are you going to use with Azure Cosmos DB?

  • SQL-API: Sie können eine beliebige Quelloption des Datenmigrationstools verwenden, um Daten zu importieren.SQL API - You can use any of the source options provided in the Data Migration tool to import data.
  • Table-API: Daten können mithilfe des Datenmigrationstools oder mithilfe von AzCopy importiert werden.Table API - You can use the Data Migration tool or AzCopy to import data. Weitere Informationen finden Sie unter Importieren von Daten für die Verwendung mit der Table-API von Azure Cosmos DB.See Import data for use with the Azure Cosmos DB Table API for more information.
  • MongoDB-API: Das Tool für die Datenmigration unterstützt derzeit die Azure Cosmos DB-MongoDB-API weder als Quelle noch als Ziel.MongoDB API - The Data Migration tool does not currently support Azure Cosmos DB MongoDB API either as a source or as a target. Wenn Sie die Daten in MongoDB-API-Sammlungen in Azure-Cosmos DB oder aus diesen migrieren möchten, finden Sie Anweisungen dazu unter Azure Cosmos DB: Migrieren von Daten für die MongoDB-API.If you want to migrate the data in or out of MongoDB API collections in Azure Cosmos DB, refer to Azure Cosmos DB: How to migrate data for the MongoDB API for instructions. Sie können weiterhin das Datenmigrationstool verwenden, um Daten von MongoDB in Azure Cosmos DB-SQL-API-Sammlungen für die Verwendung mit der SQL-API zu exportieren.You can still use the Data Migration tool to export data from MongoDB to Azure Cosmos DB SQL API collections for use with the SQL API.
  • Gremlin-API: Das Datenmigrationstool wird derzeit nicht als Importtool für Gremlin-API-Konten unterstützt.Gremlin API - The Data Migration tool is not a supported import tool for Gremlin API accounts at this time.

Dieses Tutorial enthält die folgenden Aufgaben:This tutorial covers the following tasks:

  • Installieren des DatenmigrationstoolsInstalling the Data Migration tool
  • Importieren von Daten aus verschiedenen DatenquellenImporting data from different data sources
  • Exportieren aus Azure Cosmos DB zu JSONExporting from Azure Cosmos DB to JSON

VoraussetzungenPrerequisites

Bevor Sie diesen Artikel durcharbeiten, sollten Sie sicherstellen, dass Folgendes installiert ist:Before following the instructions in this article, ensure that you have the following installed:

  • Microsoft .NET Framework 4.51 oder höher.Microsoft .NET Framework 4.51 or higher.

  • Erhöhung des Durchsatzes: Die Dauer der Datenmigration richtet sich nach dem Durchsatzwert, den Sie für eine einzelne Sammlung oder eine Gruppe von Sammlungen einrichten.Increase throughput: The duration of your data migration depends on the amount of throughput you set up for an individual collection or a set of collections. Achten Sie darauf, dass Sie den Durchsatz für größere Datenmigrationen erhöhen.Be sure to increase the throughput for larger data migrations. Nachdem die Migration abgeschlossen ist, können Sie den Durchsatz wieder verringern, um Kosten zu sparen.After you've completed the migration, decrease the throughput to save costs. Weitere Informationen zur Erhöhung des Durchsatzes im Azure-Portal finden Sie unter „Leistungsstufen und Tarife in Azure Cosmos DB“.For more information about increasing throughput in the Azure portal, see Performance levels and pricing tiers in Azure Cosmos DB.

ÜbersichtOverview

Das Datenmigrationstool ist eine Open-Source-Lösung, mit der Daten aus verschiedensten Quellen in Azure Cosmos DB importiert werden können. Zu diesen Quellen zählen unter anderem:The Data Migration tool is an open-source solution that imports data to Azure Cosmos DB from a variety of sources, including:

  • JSON-DateienJSON files
  • MongoDBMongoDB
  • SQL ServerSQL Server
  • CSV-DateienCSV files
  • Azure-TabellenspeicherAzure Table storage
  • Amazon DynamoDBAmazon DynamoDB
  • hbaseHBase
  • Azure Cosmos DB-SammlungenAzure Cosmos DB collections

Das Importtool verfügt zwar über eine grafische Benutzeroberfläche (dtui.exe), kann aber auch über die Befehlszeile (dt.exe) gesteuert werden.While the import tool includes a graphical user interface (dtui.exe), it can also be driven from the command-line (dt.exe). In der Tat gibt es eine Option, mit der nach dem Einrichten eines Imports über die Benutzeroberfläche zugeordnete Befehl ausgegeben werden kann.In fact, there is an option to output the associated command after setting up an import through the UI. Quelldateien in Tabellenformat (z.B. SQL Server- oder CSV-Dateien) können so umgewandelt werden, dass während des Imports hierarchische Beziehungen (Filialdokumente) erstellt werden können.Tabular source data (e.g. SQL Server or CSV files) can be transformed such that hierarchical relationships (subdocuments) can be created during import. Hier erhalten Sie weitere Informationen zu Quelloptionen, zu Beispielbefehlen für den Import aus den einzelnen Quellen, zu Zieloptionen sowie zum Anzeigen der Importergebnisse.Keep reading to learn more about source options, sample commands to import from each source, target options, and viewing import results.

InstallationInstallation

Der Quellcode des Migrationstools ist auf GitHub in diesem Repository verfügbar.The migration tool source code is available on GitHub in this repository. Sie können die Lösung herunterladen und lokal kompilieren oder eine vorkompilierte Binärdatei herunterladen, und dann eine der folgenden Dateien ausführen:You can download and compile the solution locally, or download a pre-compiled binary, then run either:

  • Dtui.exe: GUI-Version des ToolsDtui.exe: Graphical interface version of the tool
  • Dt.exe: Befehlszeilenversion des ToolsDt.exe: Command-line version of the tool

Auswählen einer DatenquelleSelect data source

Nachdem Sie das Tool installiert haben, können Ihre Daten importiert werden.Once you've installed the tool, it's time to import your data. Welche Art von Daten möchten Sie importieren?What kind of data do you want to import?

Importieren von JSON-DateienImport JSON files

Mit der Importprogrammoption für JSON-Dateiquellen können Sie ein oder mehrere JSON-Dateien mit einem einzelnen Dokument oder JSON-Dateien mit jeweils einem Array aus JSON-Dokumenten importieren.The JSON file source importer option allows you to import one or more single document JSON files or JSON files that each contain an array of JSON documents. Wenn Sie Ordner hinzufügen, die zu importierende JSON-Dateien enthalten, können Sie in den Unterordnern rekursiv nach Dateien suchen.When adding folders that contain JSON files to import, you have the option of recursively searching for files in subfolders.

Screenshot der Optionen für JSON-Dateiquellen – Datenbank-Migrationstools

Hier finden Sie einige Befehlszeilenbeispiele zum Importieren von JSON-Dateien:Here are some command-line samples to import JSON files:

#Import a single JSON file
dt.exe /s:JsonFile /s.Files:.\Sessions.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory of JSON files
dt.exe /s:JsonFile /s.Files:C:\TESessions\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Sessions /t.CollectionThroughput:2500

#Import a directory (including sub-directories) of JSON files
dt.exe /s:JsonFile /s.Files:C:\LastFMMusic\**\*.json /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Music /t.CollectionThroughput:2500

#Import a directory (single), directory (recursive), and individual JSON files
dt.exe /s:JsonFile /s.Files:C:\Tweets\*.*;C:\LargeDocs\**\*.*;C:\TESessions\Session48172.json;C:\TESessions\Session48173.json;C:\TESessions\Session48174.json;C:\TESessions\Session48175.json;C:\TESessions\Session48177.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:subs /t.CollectionThroughput:2500

#Import a single JSON file and partition the data across 4 collections
dt.exe /s:JsonFile /s.Files:D:\\CompanyData\\Companies.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:comp[1-4] /t.PartitionKey:name /t.CollectionThroughput:2500

Importieren aus MongoDBImport from MongoDB

Wichtig

Wenn Sie in ein Azure Cosmos DB-Konto mit Unterstützung für MongoDB importieren, befolgen Sie diese Anweisungen.If you are importing to an Azure Cosmos DB account with Support for MongoDB, follow these instructions.

Mit der Importprogrammoption für MongoDB-Dateiquellen können Sie Dateien aus einer einzelnen MongoDB-Sammlung importieren und optional Dokumente mithilfe einer Abfrage filtern und/oder die Dokumentstruktur mithilfe einer Projektion ändern.The MongoDB source importer option allows you to import from an individual MongoDB collection and optionally filter documents using a query and/or modify the document structure by using a projection.

Screenshot der Optionen für MongoDB-Quellen

Die Verbindungszeichenfolge weist das MongoDB-Standardformat auf:The connection string is in the standard MongoDB format:

mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database>

Hinweis

Verwenden Sie den Befehl "Überprüfen", um sicherzustellen, dass auf die im Feld "Verbindungszeichenfolge" angegebene MongoDB-Instanz zugegriffen werden kann.Use the Verify command to ensure that the MongoDB instance specified in the connection string field can be accessed.

Geben Sie den Namen der Sammlung ein, aus der Daten importiert werden sollen.Enter the name of the collection from which data will be imported. Optional können Sie eine Abfrage (beispielsweise „{pop: {$gt:5000}}“) und/oder eine Projektion (beispielsweise „{loc:0}“) angeben oder eine Datei für eine Abfrage bzw. Projektion bereitstellen, um die zu importierenden Daten zu filtern und zu formen.You may optionally specify or provide a file for a query (for example, {pop: {$gt:5000}} ) and/or projection (for example, {loc:0} ) to both filter and shape the data to be imported.

Hier finden Sie einige Befehlszeilenbeispiele zum Importieren aus MongoDB:Here are some command-line samples to import from MongoDB:

#Import all documents from a MongoDB collection
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZips /t.IdField:_id /t.CollectionThroughput:2500

#Import documents from a MongoDB collection which match the query and exclude the loc field
dt.exe /s:MongoDB /s.ConnectionString:mongodb://<dbuser>:<dbpassword>@<host>:<port>/<database> /s.Collection:zips /s.Query:{pop:{$gt:50000}} /s.Projection:{loc:0} /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:BulkZipsTransform /t.IdField:_id/t.CollectionThroughput:2500

Importieren von MongoDB-ExportdateienImport MongoDB export files

Wichtig

Wenn Sie in ein Azure Cosmos DB-Konto mit Unterstützung für MongoDB importieren, befolgen Sie diese Anweisungen.If you are importing to an Azure Cosmos DB account with support for MongoDB, follow these instructions.

Mit der Importprogrammoption für JSON-Dateiquellen und MongoDB-Exportdateien können Sie eine oder mehrere JSON-Dateien importieren, die mit dem mongoexport-Dienstprogramm erzeugt wurden.The MongoDB export JSON file source importer option allows you to import one or more JSON files produced from the mongoexport utility.

Screenshot der Optionen für MongoDB-Exportquellen

Wenn Sie Ordner hinzufügen, die zu importierende JSON-Dateien aus einem MongoDB-Export enthalten, können Sie in den Unterordnern rekursiv nach Dateien suchen:When adding folders that contain MongoDB export JSON files for import, you have the option of recursively searching for files in subfolders.

Hier finden Sie ein Befehlszeilenbeispiel zum Importieren von JSON-Dateien aus einem MongoDB-Export:Here is a command-line sample to import from MongoDB export JSON files:

dt.exe /s:MongoDBExport /s.Files:D:\mongoemployees.json /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:employees /t.IdField:_id /t.Dates:Epoch /t.CollectionThroughput:2500

Importieren von SQL ServerImport from SQL Server

Mit der Importprogrammoption für SQL-Quellen können Sie Datensätze aus einer einzelnen SQL Server-Datenbank importieren und mithilfe einer Abfrage filtern.The SQL source importer option allows you to import from an individual SQL Server database and optionally filter the records to be imported using a query. Darüber hinaus können Sie die Dokumentstruktur ändern, indem Sie ein Schachtelungstrennzeichen angeben (mehr dazu weiter unten).In addition, you can modify the document structure by specifying a nesting separator (more on that in a moment).

Screenshot der Optionen für SQL-Dateiquellen – Datenbank-Migrationstools

Die Verbindungszeichenfolge weist das standardmäßige Format für SQL-Verbindungszeichenfolgen auf.The format of the connection string is the standard SQL connection string format.

Hinweis

Verwenden Sie den Befehl "Überprüfen", um sicherzustellen, dass auf die im Feld "Verbindungszeichenfolge" angegebene SQL Server-Instanz zugegriffen werden kann.Use the Verify command to ensure that the SQL Server instance specified in the connection string field can be accessed.

Die Schachtelungstrennzeicheneigenschaft wird zum Erstellen hierarchischer Beziehungen (Filialdokumente) während des Imports verwendet.The nesting separator property is used to create hierarchical relationships (sub-documents) during import. Betrachten Sie die folgende SQL-Abfrage:Consider the following SQL query:

select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'

Diese Abfrage gibt die folgenden (partiellen) Ergebnisse zurück:Which returns the following (partial) results:

Screenshot der SQL-Abfrageergebnisse

Beachten Sie die Aliase, wie z. B. Address.AddressType und Address.Location.StateProvinceName.Note the aliases such as Address.AddressType and Address.Location.StateProvinceName. Durch Angabe des Schachtelungstrennzeichens "." erstellt das Importtool während des Imports die Filialdokumente "Address" und "Address.Location".By specifying a nesting separator of ‘.’, the import tool creates Address and Address.Location subdocuments during the import. Hier finden Sie ein Beispiel für ein Zieldokument in Azure Cosmos DB:Here is an example of a resulting document in Azure Cosmos DB:

{ "id": "956", "Name": "Finer Sales and Service", "Address": { "AddressType": "Main Office", "AddressLine1": "#500-75 O'Connor Street", "Location": { "City": "Ottawa", "StateProvinceName": "Ontario" }, "PostalCode": "K4B 1S2", "CountryRegionName": "Canada" } }{ "id": "956", "Name": "Finer Sales and Service", "Address": { "AddressType": "Main Office", "AddressLine1": "#500-75 O'Connor Street", "Location": { "City": "Ottawa", "StateProvinceName": "Ontario" }, "PostalCode": "K4B 1S2", "CountryRegionName": "Canada" } }

Hier finden Sie einige Befehlszeilenbeispiele zum Importieren aus SQL Server:Here are some command-line samples to import from SQL Server:

#Import records from SQL which match a query
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, * from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Stores /t.IdField:Id /t.CollectionThroughput:2500

#Import records from sql which match a query and create hierarchical relationships
dt.exe /s:SQL /s.ConnectionString:"Data Source=<server>;Initial Catalog=AdventureWorks;User Id=advworks;Password=<password>;" /s.Query:"select CAST(BusinessEntityID AS varchar) as Id, Name, AddressType as [Address.AddressType], AddressLine1 as [Address.AddressLine1], City as [Address.Location.City], StateProvinceName as [Address.Location.StateProvinceName], PostalCode as [Address.PostalCode], CountryRegionName as [Address.CountryRegionName] from Sales.vStoreWithAddresses WHERE AddressType='Main Office'" /s.NestingSeparator:. /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:StoresSub /t.IdField:Id /t.CollectionThroughput:2500

Importieren von CSV-Dateien und Konvertieren von CSV in JSONImport CSV files and convert CSV to JSON

Mit der Importprogrammoption für CSV-Dateiquellen können Sie eine oder mehrere CSV-Dateien importieren.The CSV file source importer option enables you to import one or more CSV files. Wenn Sie Ordner hinzufügen, die zu importierende CSV-Dateien enthalten, können Sie in den Unterordnern rekursiv nach Dateien suchen.When adding folders that contain CSV files for import, you have the option of recursively searching for files in subfolders.

Screenshot der Optionen für CSV-Quellen – CSV in JSON

Ähnlich wie bei SQL-Quelldateien wird die Schachtelungstrennzeicheneigenschaft zum Erstellen hierarchischer Beziehungen (Filialdokumente) während des Imports verwendet.Similar to the SQL source, the nesting separator property may be used to create hierarchical relationships (sub-documents) during import. Betrachten Sie folgende CSV-Kopfzeile und Datenzeilen:Consider the following CSV header row and data rows:

Screenshot der CSV-Beispieldatensätze – CSV in JSON

Beachten Sie die Aliase wie z. B."DomainInfo.Domain_Name" und "RedirectInfo.Redirecting".Note the aliases such as DomainInfo.Domain_Name and RedirectInfo.Redirecting. Durch Angabe des Schachtelungstrennzeichens "." erstellt das Importtool während des Imports die Filialdokumente "DomainInfo" und "RedirectInfo".By specifying a nesting separator of ‘.’, the import tool will create DomainInfo and RedirectInfo subdocuments during the import. Hier finden Sie ein Beispiel für ein Zieldokument in Azure Cosmos DB:Here is an example of a resulting document in Azure Cosmos DB:

{ "DomainInfo": { "Domain_Name": "ACUS.GOV", "Domain_Name_Address": "http://www.ACUS.GOV" }, "Federal Agency": "Administrative Conference of the United States", "RedirectInfo": { "Redirecting": "0", "Redirect_Destination": "" }, "id": "9cc565c5-ebcd-1c03-ebd3-cc3e2ecd814d" }{ "DomainInfo": { "Domain_Name": "ACUS.GOV", "Domain_Name_Address": "http://www.ACUS.GOV" }, "Federal Agency": "Administrative Conference of the United States", "RedirectInfo": { "Redirecting": "0", "Redirect_Destination": "" }, "id": "9cc565c5-ebcd-1c03-ebd3-cc3e2ecd814d" }

Das Importtool versucht, Typinformationen für Werte ohne Anführungszeichen in CSV-Dateien abzuleiten. (Werte in Anführungszeichen werden immer als Zeichenfolgen behandelt.)The import tool attempts to infer type information for unquoted values in CSV files (quoted values are always treated as strings). Typen werden in der folgenden Reihenfolge identifiziert: number, datetime, boolean.Types are identified in the following order: number, datetime, boolean.

In Bezug auf CSV-Importe gibt es zwei weitere Dinge zu beachten:There are two other things to note about CSV import:

  1. Standardmäßig werden Tabstopps und Anführungszeichen aus Werten ohne Anführungszeichen immer gekürzt, während Werte in Anführungszeichen unverändert beibehalten werden.By default, unquoted values are always trimmed for tabs and spaces, while quoted values are preserved as-is. Dieses Verhalten kann mithilfe des Kontrollkästchens „Trim quoted values“ (Werte in Anführungszeichen kürzen) oder der Befehlszeilenoption „/s.TrimQuoted“ überschrieben werden.This behavior can be overridden with the Trim quoted values checkbox or the /s.TrimQuoted command-line option.
  2. Standardmäßig wird eine Null ohne Anführungszeichen als Nullwert behandelt.By default, an unquoted null is treated as a null value. Dieses Verhalten kann mithilfe des Kontrollkästchens „Treat unquoted NULL as string“ (NULL-Wert ohne Anführungszeichen als Zeichenfolge behandeln) oder der Befehlszeilenoption "/s.NoUnquotedNulls" überschrieben werden, sodass ein NULL-Wert ohne Anführungszeichen als NULL-Zeichenfolge behandelt wird.This behavior can be overridden (that is, treat an unquoted null as a “null” string) with the Treat unquoted NULL as string checkbox or the /s.NoUnquotedNulls command-line option.

Hier finden Sie ein Beispiel für eine Befehlszeile zum Importieren von CSV-Dateien:Here is a command-line sample for CSV import:

dt.exe /s:CsvFile /s.Files:.\Employees.csv /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:Employees /t.IdField:EntityID /t.CollectionThroughput:2500

Importieren aus dem Azure-TabellenspeicherImport from Azure Table storage

Mit der Importprogrammoption für Azure Table Storage-Quellen können Sie Daten aus einer einzelnen Azure Table Storage-Tabelle importieren.The Azure Table storage source importer option allows you to import from an individual Azure Table storage table. Optional können Sie die zu importierenden Tabellenentitäten filtern.Optionally, you can filter the table entities to be imported.

Aus Azure Table Storage importierte Daten können für die Verwendung mit der Tabellen-API in Azure Cosmos DB-Tabellen und -Entitäten oder für die Verwendung mit der SQL-API in Sammlungen und Dokumente ausgegeben werden.Data imported from Azure Table Storage can be output to Azure Cosmos DB tables and entities, for use with the Table API, or to collections and documents, for use with the SQL API. Die Tabellen-API ist aber nur als Ziel im Befehlszeilen-Hilfsprogramm verfügbar, Sie können keinen Export in die Tabellen-API über die Benutzeroberfläche des Datenmigrationstools ausführen.However; Table API is only available as a target in the command-line utility, you cannot export to Table API by using the Data Migration tool user interface. Weitere Informationen finden Sie unter Importieren von Daten für die Verwendung mit der Tabellen-API von Azure Cosmos DB.For more information, see Import data for use with the Azure Cosmos DB Table API.

Screenshot der Optionen für Azure-Tabellenspeicherquellen

Die Verbindungszeichenfolge für den Azure-Tabellenspeicher weist folgendes Format auf:The format of the Azure Table storage connection string is:

DefaultEndpointsProtocol=<protocol>;AccountName=<Account Name>;AccountKey=<Account Key>;

Hinweis

Verwenden Sie den Befehl "Überprüfen", um sicherzustellen, dass auf die im Feld "Verbindungszeichenfolge" angegebene Azure-Tabellenspeicherinstanz zugegriffen werden kann.Use the Verify command to ensure that the Azure Table storage instance specified in the connection string field can be accessed.

Geben Sie den Namen der Azure-Tabelle ein, aus der Daten importiert werden sollen.Enter the name of the Azure table from to import from. Optional können Sie einen Filterangeben.You may optionally specify a filter.

Die Importprogrammoption für Azure-Tabellenspeicherquellen weist die folgenden zusätzlichen Optionen auf:The Azure Table storage source importer option has the following additional options:

  1. Interne Felder einschließenInclude Internal Fields
    1. Alle - alle internen Felder einschließen (PartitionKey, RowKey und Timestamp)All - Include all internal fields (PartitionKey, RowKey, and Timestamp)
    2. Keine - alle externen Felder ausschließenNone - Exclude all internal fields
    3. RowKey - nur das RowKey-Feld einschließenRowKey - Only include the RowKey field
  2. Spalten auswählenSelect Columns
    1. Azure-Tabellenspeicherfilter unterstützen keine Projektionen.Azure Table storage filters do not support projections. Wenn Sie nur bestimmte Eigenschaften der Azure-Tabellenentität importieren möchten, fügen Sie sie zur Liste "Spalten auswählen" hinzu.If you want to only import specific Azure Table entity properties, add them to the Select Columns list. Alle anderen Entitätseigenschaften werden ignoriert.All other entity properties are ignored.

Hier finden Sie ein Beispiel für eine Befehlszeile zum Importieren aus Azure Table Storage:Here is a command-line sample to import from Azure Table storage:

dt.exe /s:AzureTable /s.ConnectionString:"DefaultEndpointsProtocol=https;AccountName=<Account Name>;AccountKey=<Account Key>" /s.Table:metrics /s.InternalFields:All /s.Filter:"PartitionKey eq 'Partition1' and RowKey gt '00001'" /s.Projection:ObjectCount;ObjectSize  /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:metrics /t.CollectionThroughput:2500

Importieren von Amazon DynamoDBImport from Amazon DynamoDB

Mit der Importprogrammoption für Amazon DynamoDB-Quellen können Sie aus einer einzelnen Amazon DynamoDB-Tabelle importieren und auf Wunsch die zu importierenden Entitäten filtern.The Amazon DynamoDB source importer option allows you to import from an individual Amazon DynamoDB table and optionally filter the entities to be imported. Mehrere Vorlagen werden für einen einfachen Import bereitgestellt.Several templates are provided so that setting up an import is as easy as possible.

Screenshot der Optionen für Amazon DynamoDB-Dateiquellen – Datenbank-Migrationstools

Screenshot der Optionen für Amazon DynamoDB-Dateiquellen – Datenbank-Migrationstools

Das Format der Amazon-DynamoDB-Verbindungszeichenfolge ist:The format of the Amazon DynamoDB connection string is:

ServiceURL=<Service Address>;AccessKey=<Access Key>;SecretKey=<Secret Key>;

Hinweis

Verwenden Sie den Befehl „Überprüfen“, um sicherzustellen, dass auf die im Feld „Verbindungszeichenfolge“ angegebene Amazon DynamoDB-Instanz zugegriffen werden kann.Use the Verify command to ensure that the Amazon DynamoDB instance specified in the connection string field can be accessed.

Hier finden Sie ein Beispiel für eine Befehlszeile zum Importieren aus Amazon DynamoDB:Here is a command-line sample to import from Amazon DynamoDB:

dt.exe /s:DynamoDB /s.ConnectionString:ServiceURL=https://dynamodb.us-east-1.amazonaws.com;AccessKey=<accessKey>;SecretKey=<secretKey> /s.Request:"{   """TableName""": """ProductCatalog""" }" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<Azure Cosmos DB Endpoint>;AccountKey=<Azure Cosmos DB Key>;Database=<Azure Cosmos DB Database>;" /t.Collection:catalogCollection /t.CollectionThroughput:2500

Importieren aus Azure Blob StorageImport from Azure Blob storage

Mit den Importprogrammoptionen für JSON-Dateien, MongoDB-Exportdateien und die CSV-Dateien können Sie eine oder mehrere Dateien aus Azure Blob Storage importieren.The JSON file, MongoDB export file, and CSV file source importer options allow you to import one or more files from Azure Blob storage. Nach Angabe von Blob-Container-URL und Kontoschlüssel geben Sie einen regulären Ausdruck ein, um die zu importierenden Dateien auszuwählen.After specifying a Blob container URL and Account Key, provide a regular expression to select the file(s) to import.

Screenshot der Optionen für Blob-Dateiquellen

Hier finden Sie ein Beispiel für eine Befehlszeile zum Importieren von JSON-Dateien aus Azure Blob Storage:Here is command-line sample to import JSON files from Azure Blob storage:

dt.exe /s:JsonFile /s.Files:"blobs://<account key>@account.blob.core.windows.net:443/importcontainer/.*" /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:doctest

Importieren aus einer SQL-API-SammlungImport from a SQL API collection

Mit der Importprogrammoption für Azure Cosmos DB-Quellen können Sie Daten aus einer oder mehreren Azure Cosmos DB-Sammlungen importieren und optional Dokumente mithilfe einer Abfrage filtern.The Azure Cosmos DB source importer option allows you to import data from one or more Azure Cosmos DB collections and optionally filter documents using a query.

Screenshot der Optionen für Azure Cosmos DB-Quellen

Die Azure Cosmos DB-Verbindungszeichenfolge weist folgendes Format auf:The format of the Azure Cosmos DB connection string is:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Die Verbindungszeichenfolge für das Azure Cosmos DB-Konto kann im Azure-Portal auf der Seite „Schlüssel“ abgerufen werden. Eine Beschreibung hierzu finden Sie unter Verwalten eines Azure Cosmos DB-Kontos. Der Name der Datenbank muss im folgenden Format an das Ende der Verbindungszeichenfolge angehängt werden:The Azure Cosmos DB account connection string can be retrieved from the Keys page of the Azure portal, as described in How to manage an Azure Cosmos DB account, however the name of the database needs to be appended to the connection string in the following format:

Database=<CosmosDB Database>;

Hinweis

Verwenden Sie den Befehl „Überprüfen“, um sicherzustellen, dass auf die im Feld „Verbindungszeichenfolge“ angegebene Azure Cosmos DB-Instanz zugegriffen werden kann.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Zum Importieren von Daten aus einer einzelnen Azure Cosmos DB-Sammlung geben Sie den Namen der Sammlung ein, aus der Daten importiert werden sollen.To import from a single Azure Cosmos DB collection, enter the name of the collection to import data from. Zum Importieren von Daten aus mehreren Azure Cosmos DB-Sammlungen geben Sie einen regulären Ausdruck für den Namen mindestens einer Sammlung an (Beispiel: Sammlung01 | Sammlung02 | Sammlung03).To import from multiple Azure Cosmos DB collections, provide a regular expression to match one or more collection names (for example, collection01 | collection02 | collection03). Optional können Sie eine Abfrage angeben oder eine Datei für eine Abfrage bereitstellen, um die zu importierenden Daten zu filtern und zu formen.You may optionally specify, or provide a file for, a query to both filter and shape the data to be imported.

Hinweis

Wenn Sie Daten aus einer einzelnen Sammlung importieren, deren Name in regulären Ausdrücken verwendete Zeichen enthält, müssen diese Zeichen durch Escapezeichen geschützt werden, da für das Feld "Collection" reguläre Ausdrücke zulässig sind.Since the collection field accepts regular expressions, if you are importing from a single collection whose name contains regular expression characters, then those characters must be escaped accordingly.

Die Importprogrammoption für Azure Cosmos DB-Quellen weist die folgenden erweiterten Optionen auf:The Azure Cosmos DB source importer option has the following advanced options:

  1. „Include Internal Fields“ (Interne Felder einschließen): Gibt an, ob Azure Cosmos DB-Dokumentsystemeigenschaften (wie etwa „_rid“ oder „_ts“) in den Export eingeschlossen werden sollen.Include Internal Fields: Specifies whether or not to include Azure Cosmos DB document system properties in the export (for example, _rid, _ts).
  2. „Number of Retries on Failure“ (Anzahl der Wiederholungsversuche bei Fehler): Gibt an, wie häufig bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) versucht werden soll, eine Verbindung mit Azure Cosmos DB herzustellen.Number of Retries on Failure: Specifies the number of times to retry the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  3. Wiederholungsintervall: Gibt an, wie lang bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) gewartet werden soll, bevor erneut versucht wird, eine Verbindung mit Azure Cosmos DB herzustellen.Retry Interval: Specifies how long to wait between retrying the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  4. Verbindungsmodus: Gibt den Verbindungsmodus an, der mit Azure Cosmos DB verwendet werden soll.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. Verfügbare Optionen sind DirectTcp, DirectHttps und Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Die Direktverbindungsmodi sind schneller, der Gatewaymodus ist besser für Firewalls geeignet, da nur Port 443 verwendet wird.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Screenshot der erweiterten Optionen für Azure Cosmos DB-Quellen

Tipp

Standardmäßig verwendet das Importtool den Verbindungsmodus DirectTcp.The import tool defaults to connection mode DirectTcp. Wenn Firewallprobleme auftreten, wechseln Sie zum Gatewaymodus, da dieser nur Port 443 erfordert.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Hier finden Sie einige Beispiele für Befehlszeilen zum Importieren aus Azure Cosmos DB:Here are some command-line samples to import from Azure Cosmos DB:

#Migrate data from one Azure Cosmos DB collection to another Azure Cosmos DB collections
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:TEColl /t:DocumentDBBulk /t.ConnectionString:" AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:TESessions /t.CollectionThroughput:2500

#Migrate data from multiple Azure Cosmos DB collections to a single Azure Cosmos DB collection
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:comp1|comp2|comp3|comp4 /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:singleCollection /t.CollectionThroughput:2500

#Export an Azure Cosmos DB collection to a JSON file
dt.exe /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /s.Collection:StoresSub /t:JsonFile /t.File:StoresExport.json /t.Overwrite /t.CollectionThroughput:2500

Tipp

Das Azure Cosmos DB-Tool zum Importieren von Daten unterstützt auch das Importieren von Daten aus dem Azure Cosmos DB Emulator.The Azure Cosmos DB Data Import Tool also supports import of data from the Azure Cosmos DB Emulator. Legen Sie beim Importieren von Daten aus einem lokalen Emulator den Endpunkt auf https://localhost:<port> fest.When importing data from a local emulator, set the endpoint to https://localhost:<port>.

Importieren von HBaseImport from HBase

Die Importprogrammoption für HBase-Quellen können Sie zum Importieren von Daten aus einer HBase-Tabelle und optional zum Filtern der Daten verwenden.The HBase source importer option allows you to import data from an HBase table and optionally filter the data. Mehrere Vorlagen werden für einen einfachen Import bereitgestellt.Several templates are provided so that setting up an import is as easy as possible.

Screenshot der Optionen für HBase-Quellen

Screenshot der Optionen für HBase-Quellen

Das Format der Verbindungszeichenfolge „HBase Stargate“ lautet:The format of the HBase Stargate connection string is:

ServiceURL=<server-address>;Username=<username>;Password=<password>

Hinweis

Verwenden Sie den Befehl „Überprüfen“, um sicherzustellen, dass auf die im Feld „Verbindungszeichenfolge“ angegebene HBase-Instanz zugegriffen werden kann.Use the Verify command to ensure that the HBase instance specified in the connection string field can be accessed.

Hier finden Sie ein Beispiel für eine Befehlszeile zum Importieren ausHBase:Here is a command-line sample to import from HBase:

dt.exe /s:HBase /s.ConnectionString:ServiceURL=<server-address>;Username=<username>;Password=<password> /s.Table:Contacts /t:DocumentDBBulk /t.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;" /t.Collection:hbaseimport

Importieren in die SQL-API (Massenimport)Import to the SQL API (Bulk Import)

Mit dem Azure Cosmos DB-Massenimportprogramm können Sie Daten aus allen verfügbaren Quelloptionen importieren und dabei zur Erhöhung der Effizienz eine gespeicherte Azure Cosmos DB-Prozedur verwenden.The Azure Cosmos DB Bulk importer allows you to import from any of the available source options, using an Azure Cosmos DB stored procedure for efficiency. Das Tool unterstützt den Import in eine Azure Cosmos DB-Sammlung mit einzelner Partition sowie den Shardimport, bei dem die Daten über mehrere Azure Cosmos DB-Sammlungen mit einzelner Partition hinweg partitioniert werden.The tool supports import to one single-partitioned Azure Cosmos DB collection, as well as sharded import whereby data is partitioned across multiple single-partitioned Azure Cosmos DB collections. Weitere Informationen zur Partitionierung von Daten finden Sie unter Partitionieren und Skalieren von Daten in Azure Cosmos DB.For more information about partitioning data, see Partitioning and scaling in Azure Cosmos DB. Mit dem Tool wird die gespeicherte Prozedur erstellt, ausgeführt und anschließend aus den Zielsammlungen gelöscht.The tool creates, executes, and then deletes the stored procedure from the target collection(s).

Screenshot der Optionen für Azure Cosmos DB-Massenvorgänge

Die Azure Cosmos DB-Verbindungszeichenfolge weist folgendes Format auf:The format of the Azure Cosmos DB connection string is:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Die Verbindungszeichenfolge für das Azure Cosmos DB-Konto kann im Azure-Portal auf der Seite „Schlüssel“ abgerufen werden. Eine Beschreibung hierzu finden Sie unter Verwalten eines Azure Cosmos DB-Kontos. Der Name der Datenbank muss im folgenden Format an das Ende der Verbindungszeichenfolge angehängt werden:The Azure Cosmos DB account connection string can be retrieved from the Keys page of the Azure portal, as described in How to manage an Azure Cosmos DB account, however the name of the database needs to be appended to the connection string in the following format:

Database=<CosmosDB Database>;

Hinweis

Verwenden Sie den Befehl „Überprüfen“, um sicherzustellen, dass auf die im Feld „Verbindungszeichenfolge“ angegebene Azure Cosmos DB-Instanz zugegriffen werden kann.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Zum Importieren von Daten in eine einzelne Sammlung geben Sie den Namen der Sammlung ein, aus der Daten importiert werden sollen, und klicken dann auf die Schaltfläche „Hinzufügen“.To import to a single collection, enter the name of the collection to import data from and click the Add button. Zum Importieren von Daten in mehrere Sammlungen geben Sie entweder jeden Sammlungsnamen einzeln ein, oder geben Sie mit der folgenden Syntax mehrere Sammlungen an: Sammlungspräfix[IndexStart - IndexEnde].To import to multiple collections, either enter each collection name individually or use the following syntax to specify multiple collections: collection_prefix[start index - end index]. Wenn Sie über die oben genannte Syntax mehrere Sammlungen angeben, berücksichtigen Sie folgende Richtlinien:When specifying multiple collections via the aforementioned syntax, keep the following guidelines in mind:

  1. Nur Namensmuster im ganzzahligen Bereich werden unterstützt.Only integer range name patterns are supported. Durch Angabe von „Sammlung[0-3]“ werden beispielsweise folgende Sammlungen erstellt: Sammlung0, Sammlung1, Sammlung2, Sammlung3.For example, specifying collection[0-3] creates the following collections: collection0, collection1, collection2, collection3.
  2. Sie können eine abgekürzte Syntax verwenden: Durch Angabe von „Sammlung[3]“ wird der gleiche Satz von Sammlungen erstellt wie in Schritt 1.You can use an abbreviated syntax: collection[3] creates the same set of collections mentioned in step 1.
  3. Mehrere Ersetzungen können bereitgestellt werden.More than one substitution can be provided. „Sammlung[0-1] [0-9]“ generiert beispielsweise 20 Sammlungsnamen mit führenden Nullen (Sammlung01, ...02, ...03).For example, collection[0-1] [0-9] generates 20 collection names with leading zeros (collection01, ..02, ..03).

Nachdem Sie den bzw. die Sammlungsnamen angegeben haben, wählen Sie den gewünschten Durchsatz für die Sammlung(en) aus (400 RUs bis 10.000 RUs).Once the collection name(s) have been specified, choose the desired throughput of the collection(s) (400 RUs to 10,000 RUs). Wählen Sie einen höheren Durchsatz, um die beste Importleistung zu erreichen.For best import performance, choose a higher throughput. Weitere Informationen zu Leistungsebenen finden Sie unter Leistungsebenen in Azure Cosmos DB.For more information about performance levels, see Performance levels in Azure Cosmos DB.

Hinweis

Die Einstellung für den Leistungsdurchsatz gilt nur für die Sammlungserstellung.The performance throughput setting only applies to collection creation. Wenn die angegebene Sammlung bereits vorhanden ist, wird der dazugehörige Durchsatz nicht geändert.If the specified collection already exists, its throughput is not be modified.

Beim Importieren von Daten in mehrere Sammlungen unterstützt das Importtool Sharding auf Hashbasis.When importing to multiple collections, the import tool supports hash-based sharding. Geben Sie in diesem Szenario die Dokumenteigenschaft an, die als Partitionsschlüssel verwendet werden soll. (Ohne Angabe des Partitionsschlüssels erfolgt das Sharding der Dokumente nach dem Zufallsprinzip über die Zielsammlungen hinweg.)In this scenario, specify the document property you wish to use as the Partition Key (if Partition Key is left blank, documents are sharded randomly across the target collections).

Optional können Sie angeben, welches Feld in der Importquelle während des Imports als Azure Cosmos DB-Dokument-ID-Eigenschaft verwendet werden soll. (Falls Dokumente diese Eigenschaft nicht enthalten, generiert das Importtool eine GUID als ID-Eigenschaftswert.)You may optionally specify which field in the import source should be used as the Azure Cosmos DB document id property during the import (if documents do not contain this property, then the import tool generates a GUID as the id property value).

Während des Imports steht eine Reihe von erweiterten Optionen zur Verfügung.There are a number of advanced options available during import. Erstens: Zwar enthält das Tool eine standardmäßige gespeicherte Prozedur für den Massenimport (BulkInsert.js), Sie können jedoch auch eine eigene gespeicherte Prozedur für den Import angeben.First, while the tool includes a default bulk import stored procedure (BulkInsert.js), you may choose to specify your own import stored procedure:

Screenshot der Azure Cosmos DB-Option zum Masseneinfügen mit gespeicherten Prozeduren

Darüber hinaus können Sie beim Importieren von Datentypen (beispielsweise aus SQL Server oder MongoDB) zwischen drei Importoptionen wählen:Additionally, when importing date types (for example, from SQL Server or MongoDB), you can choose between three import options:

Screenshot der Optionen für den Azure Cosmos DB-Import von Datum und Uhrzeit

  • Zeichenfolge: Als Zeichenfolgenwert beibehaltenString: Persist as a string value
  • Epoche: Als numerischen Epochenwert beibehaltenEpoch: Persist as an Epoch number value
  • Beide: Sowohl als Zeichenfolgen- als auch als numerischen Epochenwert beibehaltenBoth: Persist both string and Epoch number values. Diese Option erstellt ein Unterdokument. Beispiel: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }This option creates a subdocument, for example: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Das Azure Cosmos DB-Massenimportprogramm weist die folgenden erweiterten Optionen auf:The Azure Cosmos DB Bulk importer has the following additional advanced options:

  1. Batchgröße: Das Tool verwendet standardmäßig eine Batchgröße von 50.Batch Size: The tool defaults to a batch size of 50. Wenn die zu importierenden Dokumente groß sind, erwägen Sie, die Batchgröße zu verringern.If the documents to be imported are large, consider lowering the batch size. Wenn die zu importierenden Dokumente dagegen klein sind, erwägen Sie, die Batchgröße zu erhöhen.Conversely, if the documents to be imported are small, consider raising the batch size.
  2. „Max Script Size (bytes)“ (Maximale Skriptgröße (Bytes)): Das Tool verwendet standardmäßig eine maximale Skriptgröße von 512 KB.Max Script Size (bytes): The tool defaults to a max script size of 512 KB.
  3. Automatische ID-Generierung deaktivieren: Wenn jedes zu importierende Dokument ein ID-Feld enthält, kann durch Auswahl dieser Option die Leistung erhöht werden.Disable Automatic Id Generation: If every document to be imported contains an id field, then selecting this option can increase performance. Dokumente ohne Feld für eine eindeutige ID werden nicht importiert.Documents missing a unique id field are not imported.
  4. Aktualisieren vorhandener Dokumente: Das Tool ersetzt standardmäßig vorhandene Dokumente mit ID-Konflikten nicht.Update Existing Documents: The tool defaults to not replacing existing documents with id conflicts. Durch Aktivieren dieser Option können bereits vorhandene Dokumente mit entsprechenden IDs überschrieben werden.Selecting this option allows overwriting existing documents with matching ids. Diese Funktion ist hilfreich für geplante Datenmigrationen, die vorhandene Dokumente aktualisieren.This feature is useful for scheduled data migrations that update existing documents.
  5. „Number of Retries on Failure“ (Anzahl der Wiederholungsversuche bei Fehler): Gibt an, wie häufig bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) versucht werden soll, eine Verbindung mit Azure Cosmos DB herzustellen.Number of Retries on Failure: Specifies the number of times to retry the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  6. Wiederholungsintervall: Gibt an, wie lang bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) gewartet werden soll, bevor erneut versucht wird, eine Verbindung mit Azure Cosmos DB herzustellen.Retry Interval: Specifies how long to wait between retrying the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  7. Verbindungsmodus: Gibt den Verbindungsmodus an, der mit Azure Cosmos DB verwendet werden soll.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. Verfügbare Optionen sind DirectTcp, DirectHttps und Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Die Direktverbindungsmodi sind schneller, der Gatewaymodus ist besser für Firewalls geeignet, da nur Port 443 verwendet wird.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Screenshot der erweiterten Optionen für den Azure Cosmos DB-Massenimport

Tipp

Standardmäßig verwendet das Importtool den Verbindungsmodus DirectTcp.The import tool defaults to connection mode DirectTcp. Wenn Firewallprobleme auftreten, wechseln Sie zum Gatewaymodus, da dieser nur Port 443 erfordert.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Importieren in die SQL-API (sequenzieller Datensatzimport)Import to the SQL API (Sequential Record Import)

Mit dem Programm für den Import von sequenziellen Azure Cosmos DB-Datensätzen können Sie Datensätze einzeln aus den verfügbaren Quelloptionen importieren.The Azure Cosmos DB sequential record importer allows you to import from any of the available source options on a record by record basis. Sie können diese Option auswählen, wenn Sie Datensätze in eine vorhandene Sammlung importieren, die das Kontingent an gespeicherten Prozeduren erreicht hat.You might choose this option if you’re importing to an existing collection that has reached its quota of stored procedures. Das Tool unterstützt den Import in eine einzelne Azure Cosmos DB-Sammlung (mit sowohl einer einzelnen Partition als auch mit mehreren Partitionen) sowie den Shardimport, bei dem die Daten über mehrere Azure Cosmos DB-Sammlungen mit sowohl einer einzelnen Partition und/oder mehreren Partitionen hinweg partitioniert werden.The tool supports import to a single (both single-partition and multi-partition) Azure Cosmos DB collection, as well as sharded import whereby data is partitioned across multiple single-partition and/or multi-partition Azure Cosmos DB collections. Weitere Informationen zur Partitionierung von Daten finden Sie unter Partitionieren und Skalieren von Daten in Azure Cosmos DB.For more information about partitioning data, see Partitioning and scaling in Azure Cosmos DB.

Screenshot der Optionen für den sequenziellen Azure Cosmos DB-Datensatzimport

Die Azure Cosmos DB-Verbindungszeichenfolge weist folgendes Format auf:The format of the Azure Cosmos DB connection string is:

AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB Database>;

Die Verbindungszeichenfolge für das Azure Cosmos DB-Konto kann im Azure-Portal auf der Seite „Schlüssel“ abgerufen werden. Eine Beschreibung hierzu finden Sie unter Verwalten eines Azure Cosmos DB-Kontos. Der Name der Datenbank muss im folgenden Format an das Ende der Verbindungszeichenfolge angehängt werden:The Azure Cosmos DB account connection string can be retrieved from the Keys page of the Azure portal, as described in How to manage an Azure Cosmos DB account, however the name of the database needs to be appended to the connection string in the following format:

Database=<Azure Cosmos DB Database>;

Hinweis

Verwenden Sie den Befehl „Überprüfen“, um sicherzustellen, dass auf die im Feld „Verbindungszeichenfolge“ angegebene Azure Cosmos DB-Instanz zugegriffen werden kann.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Zum Importieren von Daten in eine einzelne Sammlung geben Sie den Namen der Sammlung ein, in die Daten importiert werden sollen, und klicken dann auf die Schaltfläche "Hinzufügen".To import to a single collection, enter the name of the collection to which data will be imported and click the Add button. Zum Importieren von Daten in mehrere Sammlungen geben Sie entweder jeden Sammlungsnamen einzeln ein, oder geben Sie mit der folgenden Syntax mehrere Sammlungen an: Sammlungspräfix[IndexStart - IndexEnde].To import to multiple collections, either enter each collection name individually or use the following syntax to specify multiple collections: collection_prefix[start index - end index]. Wenn Sie über die oben genannte Syntax mehrere Sammlungen angeben, berücksichtigen Sie folgende Richtlinien:When specifying multiple collections via the aforementioned syntax, keep the following guidelines in mind:

  1. Nur Namensmuster im ganzzahligen Bereich werden unterstützt.Only integer range name patterns are supported. Durch Angabe von „Sammlung[0-3]“ werden beispielsweise folgende Sammlungen erstellt: Sammlung0, Sammlung1, Sammlung2, Sammlung3.For example, specifying collection[0-3] creates the following collections: collection0, collection1, collection2, collection3.
  2. Sie können eine abgekürzte Syntax verwenden: Durch Angabe von „Sammlung[3]“ wird der gleiche Satz von Sammlungen erstellt wie in Schritt 1.You can use an abbreviated syntax: collection[3] creates the same set of collections mentioned in step 1.
  3. Mehrere Ersetzungen können bereitgestellt werden.More than one substitution can be provided. „Sammlung[0-1] [0-9]“ erstellt beispielsweise 20 Sammlungsnamen mit führenden Nullen (Sammlung01, ...02, ...03).For example, collection[0-1] [0-9] creates 20 collection names with leading zeros (collection01, ..02, ..03).

Nachdem Sie den bzw. die Sammlungsnamen angegeben haben, wählen Sie den gewünschten Durchsatz für die Sammlung(en) aus (400 RUs bis 250.000 RUs).Once the collection name(s) have been specified, choose the desired throughput of the collection(s) (400 RUs to 250,000 RUs). Wählen Sie einen höheren Durchsatz, um die beste Importleistung zu erreichen.For best import performance, choose a higher throughput. Weitere Informationen zu Leistungsebenen finden Sie unter Leistungsebenen in Azure Cosmos DB.For more information about performance levels, see Performance levels in Azure Cosmos DB. Importvorgänge in Sammlungen mit einem Durchsatz von mehr als 10.000 RUs erfordern einen Partitionsschlüssel.Any import to collections with throughput >10,000 RUs require a partition key. Ab 250.000 RUs müssen Sie im Portal eine Erhöhungsanfrage für Ihr Konto stellen.If you choose to have more than 250,000 RUs, you need to file a request in the portal to have your account increased.

Hinweis

Die Durchsatzeinstellung gilt nur für die Sammlung oder Sammlungserstellung.The throughput setting only applies to collection or database creation. Wenn die angegebene Sammlung bereits vorhanden ist, wird der zugehörige Durchsatz nicht geändert.If the specified collection already exists, its throughput will not be modified.

Beim Importieren von Daten in mehrere Sammlungen unterstützt das Importtool Sharding auf Hashbasis.When importing to multiple collections, the import tool supports hash-based sharding. Geben Sie in diesem Szenario die Dokumenteigenschaft an, die als Partitionsschlüssel verwendet werden soll. (Ohne Angabe des Partitionsschlüssels erfolgt das Sharding der Dokumente nach dem Zufallsprinzip über die Zielsammlungen hinweg.)In this scenario, specify the document property you wish to use as the Partition Key (if Partition Key is left blank, documents are sharded randomly across the target collections).

Optional können Sie angeben, welches Feld in der Importquelle während des Imports als Azure Cosmos DB-Dokument-ID-Eigenschaft verwendet werden soll. (Falls Dokumente diese Eigenschaft nicht enthalten, generiert das Importtool eine GUID als ID-Eigenschaftswert.)You may optionally specify which field in the import source should be used as the Azure Cosmos DB document id property during the import (if documents do not contain this property, then the import tool generates a GUID as the id property value).

Während des Imports steht eine Reihe von erweiterten Optionen zur Verfügung.There are a number of advanced options available during import. Beim Importieren von Datentypen (beispielsweise aus SQL Server oder MongoDB) können Sie zunächst zwischen drei Importoptionen wählen:First, when importing date types (for example, from SQL Server or MongoDB), you can choose between three import options:

Screenshot der Optionen für den Azure Cosmos DB-Import von Datum und Uhrzeit

  • Zeichenfolge: Als Zeichenfolgenwert beibehaltenString: Persist as a string value
  • Epoche: Als numerischen Epochenwert beibehaltenEpoch: Persist as an Epoch number value
  • Beide: Sowohl als Zeichenfolgen- als auch als numerischen Epochenwert beibehaltenBoth: Persist both string and Epoch number values. Diese Option erstellt ein Unterdokument. Beispiel: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }This option creates a subdocument, for example: "date_joined": { "Value": "2013-10-21T21:17:25.2410000Z", "Epoch": 1382390245 }

Das Programm für den Import von sequenziellen Azure Cosmos DB-Datensätzen weist die folgenden erweiterten Optionen auf:The Azure Cosmos DB - Sequential record importer has the following additional advanced options:

  1. „Number of Parallel Requests“ (Anzahl paralleler Anforderungen): Das Programm verwendet standardmäßig zwei parallele Anforderungen.Number of Parallel Requests: The tool defaults to two parallel requests. Wenn die zu importierenden Dokumente klein sind, erwägen Sie, die Anzahl paralleler Anforderungen zu erhöhen.If the documents to be imported are small, consider raising the number of parallel requests. Ist die Anzahl zu groß, wird für den Importvorgang unter Umständen eine Ratenbegrenzung festgelegt.If this number is raised too much, the import may experience rate limiting.
  2. Automatische ID-Generierung deaktivieren: Wenn jedes zu importierende Dokument ein ID-Feld enthält, kann durch Auswahl dieser Option die Leistung erhöht werden.Disable Automatic Id Generation: If every document to be imported contains an id field, then selecting this option can increase performance. Dokumente ohne Feld für eine eindeutige ID werden nicht importiert.Documents missing a unique id field are not imported.
  3. Aktualisieren vorhandener Dokumente: Das Tool ersetzt standardmäßig vorhandene Dokumente mit ID-Konflikten nicht.Update Existing Documents: The tool defaults to not replacing existing documents with id conflicts. Durch Aktivieren dieser Option können bereits vorhandene Dokumente mit entsprechenden IDs überschrieben werden.Selecting this option allows overwriting existing documents with matching ids. Diese Funktion ist hilfreich für geplante Datenmigrationen, die vorhandene Dokumente aktualisieren.This feature is useful for scheduled data migrations that update existing documents.
  4. „Number of Retries on Failure“ (Anzahl der Wiederholungsversuche bei Fehler): Gibt an, wie häufig bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) versucht werden soll, eine Verbindung mit Azure Cosmos DB herzustellen.Number of Retries on Failure: Specifies the number of times to retry the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  5. Wiederholungsintervall: Gibt an, wie lang bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) gewartet werden soll, bevor erneut versucht wird, eine Verbindung mit Azure Cosmos DB herzustellen.Retry Interval: Specifies how long to wait between retrying the connection to Azure Cosmos DB in case of transient failures (for example, network connectivity interruption).
  6. Verbindungsmodus: Gibt den Verbindungsmodus an, der mit Azure Cosmos DB verwendet werden soll.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. Verfügbare Optionen sind DirectTcp, DirectHttps und Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Die Direktverbindungsmodi sind schneller, der Gatewaymodus ist besser für Firewalls geeignet, da nur Port 443 verwendet wird.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Screenshot der erweiterten Optionen für den sequenziellen Azure Cosmos DB-Datensatzimport

Tipp

Standardmäßig verwendet das Importtool den Verbindungsmodus DirectTcp.The import tool defaults to connection mode DirectTcp. Wenn Firewallprobleme auftreten, wechseln Sie zum Gatewaymodus, da dieser nur Port 443 erfordert.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Angeben einer IndizierungsrichtlinieSpecify an indexing policy

Wenn Sie zulassen, dass das Migrationstool während des Imports Azure Cosmos DB-SQL-API-Sammlungen erstellt, können Sie die Indizierungsrichtlinie der Sammlungen angeben.When you allow the migration tool to create Azure Cosmos DB SQL API collections during import, you can specify the indexing policy of the collections. Navigieren Sie in den erweiterten Optionen für den Azure Cosmos DB-Massenimport und den sequenziellen Azure Cosmos DB-Datensatzimport zum Abschnitt zur Indizierungsrichtlinie.In the advanced options section of the Azure Cosmos DB Bulk import and Azure Cosmos DB Sequential record options, navigate to the Indexing Policy section.

Screenshot der erweiterten Optionen für die Azure Cosmos DB-Indizierungsrichtlinie

Mit der erweiterten Option der Indizierungsrichtlinie können Sie eine Indizierungsrichtliniendatei auswählen, manuell eine Indizierungsdatei eingeben oder aus einer Reihe von Standardvorlagen wählen (durch Rechtsklick auf das Textfeld der Indizierungsrichtlinie).Using the Indexing Policy advanced option, you can select an indexing policy file, manually enter an indexing policy, or select from a set of default templates (by right-clicking in the indexing policy textbox).

Das Tool bietet folgende Richtlinienvorlagen:The policy templates the tool provides are:

  • Standard.Default. Diese Richtlinie empfiehlt sich, wenn Sie Gleichheitsabfragen für Zeichenfolgen durchführen und ORDER BY-, Bereichs- und Gleichheitsabfragen für Zahlen verwenden.This policy is best when you’re performing equality queries against strings and using ORDER BY, range, and equality queries for numbers. Der Indexspeicheraufwand dieser Richtlinie ist geringer als bei „Bereich“.This policy has a lower index storage overhead than Range.
  • Bereich.Range. Verwenden Sie diese Richtlinie, wenn Sie ORDER BY-, Bereichs- und Gleichheitsabfragen für Zahlen und Zeichenfolgen durchführen.This policy is best when you’re using ORDER BY, range, and equality queries on both numbers and strings. Der Indexspeicheraufwand dieser Richtlinie ist höher als bei „Standard“ oder „Hash“.This policy has a higher index storage overhead than Default or Hash.

Screenshot der erweiterten Optionen für die Azure Cosmos DB-Indizierungsrichtlinie

Hinweis

Wenn Sie keine Indizierungsrichtlinien angeben, wird die Standardrichtlinie verwendet.If you do not specify an indexing policy, then the default policy is applied. Weitere Informationen zu den Indizierungsrichtlinien finden Sie unter Indizierungsrichtlinien für Azure Cosmos DB.For more information about indexing policies, see Azure Cosmos DB indexing policies.

Exportieren in JSON-DateiExport to JSON file

Mit dem Azure Cosmos DB-JSON-Exportprogramm können Sie alle verfügbaren Quelloptionen in eine JSON-Datei exportieren, die ein Array aus JSON-Dokumenten enthält.The Azure Cosmos DB JSON exporter allows you to export any of the available source options to a JSON file that contains an array of JSON documents. Sie können wählen, ob das Programm den Export verarbeiten soll oder ob Sie den resultierenden Migrationsbefehl anzeigen und den Befehl selbst ausführen möchten.The tool handles the export for you, or you can choose to view the resulting migration command and run the command yourself. Die generierte JSON-Datei kann lokal oder in Azure Blob Storage gespeichert werden.The resulting JSON file may be stored locally or in Azure Blob storage.

Screenshot der Option zum Erstellen lokaler Azure Cosmos DB JSON-Dateiexporte

Screenshot der Option zum Erstellen von Azure Cosmos DB JSON Azure Blob Storage-Exporten

Sie können optional die generierte JSON-Datei optimieren, wodurch die Größe des resultierenden Dokuments reduziert wird und die Inhalte besser lesbar werden.You may optionally choose to prettify the resulting JSON, which will increase the size of the resulting document while making the contents more human readable.

Standard JSON export
[{"id":"Sample","Title":"About Paris","Language":{"Name":"English"},"Author":{"Name":"Don","Location":{"City":"Paris","Country":"France"}},"Content":"Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.","PageViews":10000,"Topics":[{"Title":"History of Paris"},{"Title":"Places to see in Paris"}]}]

Prettified JSON export
[
 {
"id": "Sample",
"Title": "About Paris",
"Language": {
  "Name": "English"
},
"Author": {
  "Name": "Don",
  "Location": {
    "City": "Paris",
    "Country": "France"
  }
},
"Content": "Don's document in Azure Cosmos DB is a valid JSON document as defined by the JSON spec.",
"PageViews": 10000,
"Topics": [
  {
    "Title": "History of Paris"
  },
  {
    "Title": "Places to see in Paris"
  }
]
}]

Erweiterte KonfigurationAdvanced configuration

Geben Sie auf dem Bildschirm "Erweiterte Konfiguration" den Speicherort der Protokolldatei an, in die Fehler geschrieben werden sollen.In the Advanced configuration screen, specify the location of the log file to which you would like any errors written. Für diese Seite gelten folgende Regeln:The following rules apply to this page:

  1. Wenn kein Dateiname angegeben ist, werden alle Fehler auf der Ergebnisseite zurückgegeben.If a file name is not provided, then all errors are returned on the Results page.
  2. Bei Angabe eines Dateinamens ohne Verzeichnis wird die Datei im aktuellen Umgebungsverzeichnis erstellt (oder überschrieben).If a file name is provided without a directory, then the file is created (or overwritten) in the current environment directory.
  3. Wenn Sie eine vorhandene Datei auswählen, wird die Datei überschrieben. Eine Anfügeoption steht nicht zur Verfügung.If you select an existing file, then the file is overwritten, there is no append option.
  4. Wählen Sie dann, ob alle, nur die kritischen oder gar keine Fehlermeldungen protokolliert werden sollen.Then, choose whether to log all, critical, or no error messages. Entscheiden Sie zum Schluss, wie häufig der Fortschritt in der Bildschirmmeldung zur Übertragung aktualisiert werden soll.Finally, decide how frequently the on-screen transfer message is updated with its progress.

    Screenshot des Bildschirms für die erweiterte Konfiguration

Überprüfen der Importeinstellungen und Anzeigen der BefehlszeileConfirm import settings and view command-line

  1. Nachdem Sie die Quell- und Zielinformationen und die erweiterte Konfiguration angegeben haben, überprüfen Sie die Migrationszusammenfassung, und zeigen Sie optional den resultierenden Migrationsbefehl an bzw. kopieren Sie ihn (das Kopieren des Befehls ist hilfreich, um Importvorgänge zu automatisieren):After specifying source information, target information, and advanced configuration, review the migration summary and, optionally, view/copy the resulting migration command (copying the command is useful to automate import operations):

    Screenshot des Übersichtsbildschirms

    Screenshot des Übersichtsbildschirms

  2. Wenn Sie die Quell- und Zieloptionen zu Ihrer Zufriedenheit eingerichtet haben, klicken Sie auf Importieren.Once you’re satisfied with your source and target options, click Import. Während des Importvorgangs werden die verstrichene Zeit, die Anzahl von Übertragungen sowie Fehlerinformationen (sofern Sie in der erweiterten Konfiguration keinen Dateinamen angegeben haben) aktualisiert.The elapsed time, transferred count, and failure information (if you didn't provide a file name in the Advanced configuration) update as the import is in process. Nach Abschluss des Vorgangs können Sie die Ergebnisse exportieren (um beispielsweise Importfehler zu behandeln).Once complete, you can export the results (for example, to deal with any import failures).

    Screenshot der Option zum Erstellen von Azure Cosmos DB JSON-Exporten

  3. Sie können auch einen neuen Import starten und dabei entweder die vorhandenen Einstellungen (beispielsweise Informationen zur Verbindungszeichenfolge, Auswahl von Quelle und Ziel usw.) beibehalten oder alle Werte zurücksetzen.You may also start a new import, either keeping the existing settings (for example, connection string information, source and target choice, etc.) or resetting all values.

    Screenshot der Option zum Erstellen von Azure Cosmos DB JSON-Exporten

Nächste SchritteNext steps

In diesem Tutorial haben Sie folgende Aufgaben ausgeführt:In this tutorial, you've done the following tasks:

  • Installieren des DatenmigrationstoolsInstalled the Data Migration tool
  • Importieren von Daten aus verschiedenen DatenquellenImported data from different data sources
  • Exportieren aus Azure Cosmos DB zu JSONExported from Azure Cosmos DB to JSON

Sie können nun mit dem nächsten Tutorial fortfahren und sich darüber informieren, wie Sie Daten mithilfe von Azure Cosmos DB abfragen können.You can now proceed to the next tutorial and learn how to query data using Azure Cosmos DB.