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. Sie können Daten aus JSON-Dateien, CSV-Dateien, SQL-, MongoDB-, Azure Table Storage-, Amazon DynamoDB- und sogar Azure Cosmos DB-SQL-API-Sammlungen importieren.You can import from JSON files, CSV files, SQL, MongoDB, Azure Table storage, Amazon DynamoDB, and even Azure Cosmos DB SQL API collections. Sie migrieren diese Daten zu Sammlungen und Tabellen, die in Azure Cosmos DB verwendet werden können.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?

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 die Anweisungen in diesem Artikeln befolgen, müssen Sie die folgenden Schritte ausführen:Before following the instructions in this article, ensure that you do the following steps:

  • Installieren Sie Microsoft .NET Framework 4.51 oder höher.Install 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 zum Erhöhen des Durchsatzes im Azure-Portal finden Sie in den Artikeln zu den Leistungsebenen und Tarifen in Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see performance levels and pricing tiers in Azure Cosmos DB.

  • Erstellen von Azure Cosmos DB-Ressourcen: Bevor Sie mit der Migration von Daten beginnen, erstellen Sie zunächst alle Ihre Sammlungen im Azure-Portal.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your collections from the Azure portal. Wenn Sie eine Migration zu einem Azure Cosmos DB-Konto mit Durchsatz auf Datenbankebene durchführen möchten, geben Sie beim Erstellen der Azure Cosmos DB-Sammlungen einen Partitionsschlüssel an.To migrate to an Azure Cosmos DB account that has database level throughput, provide a partition key when you create the Azure Cosmos DB collections.

Ü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 der zugehörige Befehl ausgegeben werden kann.In fact, there's an option to output the associated command after setting up an import through the UI. Sie können Quelldaten im Tabellenformat (z. B. SQL Server- oder CSV-Dateien) transformieren, um während des Imports hierarchische Beziehungen (Unterdokumente) zu erstellen.You can transform tabular source data, such as SQL Server or CSV files, to create hierarchical relationships (subdocuments) 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 eine oder mehrere JSON-Dateien mit einem einzelnen Dokument oder JSON-Dateien, die jeweils ein Array von JSON-Dokumenten enthalten, importieren.The JSON file source importer option allows you to import one or more single document JSON files or JSON files that each have 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 have 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 den Import in ein Cosmos-Konto durchführen, das mit der Azure Cosmos DB-API für MongoDB konfiguriert wurde, hilft Ihnen diese Anleitung weiter.If you're importing to a Cosmos account configured with Azure Cosmos DB's API for MongoDB, follow these instructions.

Mit der Importprogrammoption für MongoDB-Dateiquellen können Sie Dateien aus einer einzelnen MongoDB-Sammlung importieren, Dokumente optional mit einer Abfrage filtern und die Dokumentstruktur mithilfe einer Projektion ändern.With the MongoDB source importer option, you can import from a single MongoDB collection, optionally filter documents using a query, and 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 Datei für eine Abfrage (z. B. {pop: {$gt:5000}}) oder eine Projektion (z. B. {loc:0}) angeben oder bereitstellen, um die zu importierenden Daten zu filtern und zu strukturieren.You may optionally specify or provide a file for a query, such as {pop: {$gt:5000}}, or a projection, such as {loc:0}, to both filter and shape the data that you're importing.

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

Falls Sie Daten in ein Azure Cosmos DB-Konto mit Unterstützung für MongoDB importieren, befolgen Sie diese Anweisungen.If you're 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 have 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'

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. Indem Sie das Schachtelungstrennzeichen „.“ angeben, 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 have 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": "https://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": "https://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 tries 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“ außer Kraft gesetzt 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.

Sie können aus Azure Table Storage importierte Daten zur Verwendung mit der Tabellen-API in Azure Cosmos DB-Tabellen und -Entitäten ausgeben.You may output data that was imported from Azure Table Storage to Azure Cosmos DB tables and entities for use with the Table API. Importierte Daten können zur Verwendung mit der SQL-API auch in Sammlungen und Dokumente ausgegeben werden.Imported data can also be output to collections and documents for use with the SQL API. Die Tabellen-API ist jedoch nur als Ziel im Befehlszeilenprogramm verfügbar.However, Table API is only available as a target in the command-line utility. Es ist nicht möglich, Daten über die Benutzeroberfläche des Datenmigrationstools in die Tabellen-API zu exportieren.You can't 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 Table Storage-Filter unterstützen keine Projektionen.Azure Table storage filters don't 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-Dateiquellen können Sie Daten aus einer einzelnen Amazon DynamoDB-Tabelle importieren.The Amazon DynamoDB source importer option allows you to import from a single Amazon DynamoDB table. Optional können die zu importierenden Entitäten gefiltert werden.It can 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>;

Sie können die Verbindungszeichenfolge für das Azure Cosmos DB-Konto wie unter Verwalten eines Azure Cosmos DB-Kontos beschrieben auf der Seite „Schlüssel“ im Azure-Portal abrufen.You can retrieve the Azure Cosmos DB account connection string from the Keys page of the Azure portal, as described in How to manage an Azure Cosmos DB account. Der Name der Datenbank muss jedoch im folgenden Format an die Verbindungszeichenfolge angefügt werden: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 more than one Azure Cosmos DB collection, provide a regular expression to match one or more collection names (for example, collection01 | collection02 | collection03). Optional können Sie eine Datei für eine Abfrage angeben oder bereitstellen, um die zu importierenden Daten zu filtern und zu strukturieren.You may optionally specify, or provide a file for, a query to both filter and shape the data that you're importing.

Hinweis

Wenn Sie Daten aus einer einzelnen Sammlung importieren, deren Name in regulären Ausdrücken verwendete Zeichen enthält, müssen diese Zeichen mit Escapezeichen versehen werden, da für das Feld „Sammlung“ reguläre Ausdrücke zulässig sind.Since the collection field accepts regular expressions, if you're importing from a single collection whose name has 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 (beispielsweise „_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 lange 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 more than one Azure Cosmos DB collection 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 einer einzelnen Partition.The tool supports import to one single-partitioned Azure Cosmos DB collection. Das Tool unterstützt auch den Shardimport, bei dem Daten über mehrere Azure Cosmos DB-Sammlungen mit einer einzelnen Partition hinweg partitioniert werden.It also supports sharded import whereby data is partitioned across more than one single-partitioned Azure Cosmos DB collection. 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[Startindex - Endindex].To import to more than one collection, either enter each collection name individually or use the following syntax to specify more than one collection: collection_prefix[start index - end index]. Wenn Sie mehrere Sammlungen mit der obigen Syntax angeben, müssen Sie folgende Richtlinien beachten:When specifying more than one collection using 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 ihr Durchsatz nicht geändert.If the specified collection already exists, its throughput won't be modified.

Beim Importieren von Daten in mehrere Sammlungen unterstützt das Importtool Sharding auf Hashbasis.When you import to more than one collection, the import tool supports hash-based sharding. Geben Sie in diesem Szenario die Dokumenteigenschaft an, die als Partitionsschlüssel verwendet werden soll.In this scenario, specify the document property you wish to use as the Partition Key. (Ohne Angabe des Partitionsschlüssels erfolgt das Sharding der Dokumente nach dem Zufallsprinzip über die Zielsammlungen hinweg.)(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.You may optionally specify which field in the import source should be used as the Azure Cosmos DB document ID property during the import. Falls Dokumente diese Eigenschaft nicht enthalten, generiert das Importtool eine GUID als ID-Eigenschaftswert.If documents don't have 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. Disable Automatic Id Generation (Automatische ID-Generierung deaktivieren): Wenn jedes zu importierende Dokument ein ID-Feld enthält, kann die Leistung durch Auswahl dieser Option verbessert werden.Disable Automatic Id Generation: If every document to be imported has 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 aren't imported.
  4. Update Existing Documents (Vorhandene Dokumente aktualisieren): Das Tool ersetzt vorhandene Dokumente mit ID-Konflikten standardmäßig nicht.Update Existing Documents: The tool defaults to not replacing existing documents with ID conflicts. Bei Auswahl dieser Option können bereits vorhandene Dokumente mit übereinstimmenden 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) Die Anzahl von Verbindungsversuchen, die bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) ausgeführt werden, um eine Verbindung mit Azure Cosmos DB herzustellen.Number of Retries on Failure: Specifies how often to retry the connection to Azure Cosmos DB during transient failures (for example, network connectivity interruption).
  6. Wiederholungsintervall: Gibt an, wie lange 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 einer verfügbaren Quelloption importieren.The Azure Cosmos DB sequential record importer allows you to import from an available source option 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 einer Partition und mit mehreren Partitionen).The tool supports import to a single (both single-partition and multi-partition) Azure Cosmos DB collection. Das Tool unterstützt auch den Shardimport, bei dem Daten über mehrere Azure Cosmos DB-Sammlungen mit einer einzelnen Partition oder mehreren Partitionen hinweg partitioniert werden.It also supports sharded import whereby data is partitioned across more than one single-partition or multi-partition Azure Cosmos DB collection. 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>;

Sie können die Verbindungszeichenfolge für das Azure Cosmos DB-Konto wie unter Verwalten eines Azure Cosmos DB-Kontos beschrieben auf der Seite „Schlüssel“ im Azure-Portal abrufen.You can retrieve the connection string for the Azure Cosmos DB account from the Keys page of the Azure portal, as described in How to manage an Azure Cosmos DB account. Der Name der Datenbank muss jedoch im folgenden Format an die Verbindungszeichenfolge angefügt werden: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 in eine einzelne Sammlung geben Sie den Namen der Sammlung ein, in die die Daten importiert werden sollen, und klicken Sie dann auf die Schaltfläche „Hinzufügen“.To import to a single collection, enter the name of the collection to import data into, and then click the Add button. Zum Importieren von Daten in mehrere Sammlungen geben Sie jeden Sammlungsnamen einzeln ein.To import to more than one collection, enter each collection name individually. Sie können auch die folgende Syntax verwenden, um mehrere Sammlungen anzugeben: Sammlungspräfix[Startindex - Endindex].You may also use the following syntax to specify more than one collection: collection_prefix[start index - end index]. Wenn Sie mehrere Sammlungen mit der obigen Syntax angeben, müssen Sie folgende Richtlinien beachten:When specifying more than one collection 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 ihr Durchsatz nicht geändert.If the specified collection already exists, its throughput won't be modified.

Beim Importieren von Daten in mehrere Sammlungen unterstützt das Importtool Sharding auf Hashbasis.When importing to more than one collection, the import tool supports hash-based sharding. Geben Sie in diesem Szenario die Dokumenteigenschaft an, die als Partitionsschlüssel verwendet werden soll.In this scenario, specify the document property you wish to use as the Partition Key. (Ohne Angabe des Partitionsschlüssels erfolgt das Sharding der Dokumente nach dem Zufallsprinzip über die Zielsammlungen hinweg.)(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.You may optionally specify which field in the import source should be used as the Azure Cosmos DB document ID property during the import. (Falls Dokumente diese Eigenschaft nicht enthalten, generiert das Importtool eine GUID als ID-Eigenschaftswert.)(If documents don't have 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. Disable Automatic Id Generation (Automatische ID-Generierung deaktivieren): Wenn jedes zu importierende Dokument ein ID-Feld enthält, kann die Leistung durch Auswahl dieser Option verbessert werden.Disable Automatic Id Generation: If every document to be imported has 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 aren't imported.
  3. Update Existing Documents (Vorhandene Dokumente aktualisieren): Das Tool ersetzt vorhandene Dokumente mit ID-Konflikten standardmäßig nicht.Update Existing Documents: The tool defaults to not replacing existing documents with ID conflicts. Bei Auswahl dieser Option können bereits vorhandene Dokumente mit übereinstimmenden 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) Die Anzahl von Verbindungsversuchen, die bei einem vorübergehenden Fehler (beispielsweise bei einer Unterbrechung der Netzwerkverbindung) ausgeführt werden, um eine Verbindung mit Azure Cosmos DB herzustellen.Number of Retries on Failure: Specifies how often to retry the connection to Azure Cosmos DB during transient failures (for example, network connectivity interruption).
  5. Wiederholungsintervall: Gibt an, wie lange 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 during 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 ausführen.This policy is best when you perform equality queries against strings. Sie funktioniert auch bei ORDER BY-, Bereichs- und Gleichheitsabfragen für Zahlen.It also works if you use 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 ausführen.This policy is best when you use 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 Indizierungsrichtlinie angeben, wird die Standardrichtlinie verwendet.If you don't 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 von 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 has an array of JSON documents. Das Tool verarbeitet den Export für Sie.The tool handles the export for you. Alternativ können Sie den resultierenden Migrationsbefehl anzeigen und den Befehl selbst ausführen.Alternatively, 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

Optional können Sie die generierte JSON-Datei optimieren.You may optionally choose to prettify the resulting JSON. Dadurch wird die Größe des resultierenden Dokuments reduziert und die Lesbarkeit der Inhalte verbessert.This action will increase the size of the resulting document while making the contents more human readable.

  • Standardmäßiger JSON-ExportStandard 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"}]}]
    
  • Optimierter JSON-ExportPrettified 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"
        }
      ]
      }]
    

Hier ist ein Befehlszeilenbeispiel zum Exportieren der JSON-Datei in Azure-Blobspeicher angegeben:Here is a command-line sample to export the JSON file to Azure Blob storage:

dt.exe /ErrorDetails:All /s:DocumentDB /s.ConnectionString:"AccountEndpoint=<CosmosDB Endpoint>;AccountKey=<CosmosDB Key>;Database=<CosmosDB database_name>" /s.Collection:<CosmosDB collection_name>
/t:JsonFile /t.File:"blobs://<Storage account key>@<Storage account name>.blob.core.windows.net:443/<Container_name>/<Blob_name>"
/t.Overwrite

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 isn't 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 Option zum Anfügen ist nicht verfügbar.If you select an existing file, then the file is overwritten, there's 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

Bestätigen der Importeinstellungen und Anzeigen der BefehlszeileConfirm import settings and view command line

  1. Nachdem Sie die Quell- und Zielinformationen sowie die erweiterte Konfiguration angegeben haben, überprüfen Sie die Migrationszusammenfassung, und zeigen Sie ggf. den resultierenden Migrationsbefehl an, oder kopieren Sie den Befehl.After you specify the source information, target information, and advanced configuration, review the migration summary and view or copy the resulting migration command if you want. (Das Kopieren des Befehls ist hilfreich, wenn Sie Importvorgänge automatisieren möchten.)(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, indem Sie entweder alle Werte zurücksetzen oder die vorhandenen Einstellungen beibehalten.You may also start a new import by either resetting all values or keeping the existing settings. (Sie können beispielsweise die Informationen zur Verbindungszeichenfolge, die Auswahl von Quelle und Ziel usw. beibehalten.)(For example, you may choose to keep connection string information, source and target choice, and more.)

    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.