Usar a ferramenta de migração de dados para migrar seus dados para o Azure Cosmos DBUse Data migration tool to migrate your data to Azure Cosmos DB

Este tutorial fornece instruções sobre como usar a ferramenta Migração de Dados do Azure Cosmos DB, que pode importar dados de várias fontes para contêineres e tabelas do Azure Cosmos.This tutorial provides instructions on using the Azure Cosmos DB Data Migration tool, which can import data from various sources into Azure Cosmos containers and tables. Você pode importar de arquivos JSON, arquivos CSV, SQL, MongoDB, Armazenamento de Tabelas do Azure, Amazon DynamoDB e até mesmo coleções da API de SQL do Azure Cosmos DB.You can import from JSON files, CSV files, SQL, MongoDB, Azure Table storage, Amazon DynamoDB, and even Azure Cosmos DB SQL API collections. Migre dados para coleções e tabelas para uso com o Azure Cosmos DB.You migrate that data to collections and tables for use with Azure Cosmos DB. A ferramenta de Migração de Dados também pode ser usada ao migrar de uma coleção de partição única para uma coleção de várias partições na API do SQL.The Data Migration tool can also be used when migrating from a single partition collection to a multi-partition collection for the SQL API.

Qual API você vai usar com o Azure Cosmos DB?Which API are you going to use with Azure Cosmos DB?

Este tutorial cobre as seguintes tarefas:This tutorial covers the following tasks:

  • Instalação da ferramenta de Migração de DadosInstalling the Data Migration tool
  • Importação de dados de diferentes fontes de dadosImporting data from different data sources
  • Exportação do Azure Cosmos DB para o JSONExporting from Azure Cosmos DB to JSON

Pré-requisitosPrerequisites

Antes de seguir as instruções deste artigo, realize as seguintes etapas:Before following the instructions in this article, ensure that you do the following steps:

  • Instale o Microsoft .NET Framework 4.51 ou superior.Install Microsoft .NET Framework 4.51 or higher.

  • Aumentar a taxa de transferência: A duração da sua migração de dados depende da taxa de transferência que você configurar para uma coleção individual ou um conjunto de coleções.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. Certifique-se de aumentar a taxa de transferência para migrações de dados maiores.Be sure to increase the throughput for larger data migrations. Depois de concluir a migração, diminua a taxa de transferência para economizar custos.After you've completed the migration, decrease the throughput to save costs. Para obter mais informações sobre como aumentar a produtividade no portal do Azure, confira níveis de desempenho e tipos de preço no Azure Cosmos DB.For more information about increasing throughput in the Azure portal, see performance levels and pricing tiers in Azure Cosmos DB.

  • Criar recursos do Azure Cosmos DB: Antes de começar a migrar dados, crie previamente todas as suas coleções no portal do Azure.Create Azure Cosmos DB resources: Before you start the migrating data, pre-create all your collections from the Azure portal. Para migrar para uma conta do Azure Cosmos DB que tenha produtividade de nível de banco de dados, forneça uma chave de partição ao criar os contêineres do Azure Cosmos.To migrate to an Azure Cosmos DB account that has database level throughput, provide a partition key when you create the Azure Cosmos containers.

Visão geralOverview

A ferramenta de Migração de Dados é uma solução de software livre que importa dados para o Azure Cosmos DB de uma variedade de fontes, incluindo:The Data Migration tool is an open-source solution that imports data to Azure Cosmos DB from a variety of sources, including:

  • Arquivos JSONJSON files
  • MongoDBMongoDB
  • SQL ServerSQL Server
  • Arquivos CSVCSV files
  • Armazenamento da tabela do AzureAzure Table storage
  • Amazon DynamoDBAmazon DynamoDB
  • HBaseHBase
  • Contêineres do Azure CosmosAzure Cosmos containers

Embora a ferramenta de importação inclua uma interface gráfica do usuário (dtui.exe), ela também pode ser controlada pela linha de comando (dt.exe).While the import tool includes a graphical user interface (dtui.exe), it can also be driven from the command-line (dt.exe). Na verdade, há uma opção de extrair o comando associado depois de configurar uma importação por meio da interface do usuário.In fact, there's an option to output the associated command after setting up an import through the UI. É possível transformar os dados de origem tabulares, como SQL Server ou arquivos CSV para criar relações hierárquicas (subdocumentos) durante a importação.You can transform tabular source data, such as SQL Server or CSV files, to create hierarchical relationships (subdocuments) during import. Continue lendo para saber mais sobre as opções de origem, comandos de exemplo para importar de cada origem, opções de destino e resultados de importação de visualização.Keep reading to learn more about source options, sample commands to import from each source, target options, and viewing import results.

InstalaçãoInstallation

O código-fonte da ferramenta de migração está disponível no GitHub neste repositório.The migration tool source code is available on GitHub in this repository. É possível baixar e compilar a solução localmente ou baixar um binário pré-compilado e, em seguida, executar:You can download and compile the solution locally, or download a pre-compiled binary, then run either:

  • Dtui.exe: Versão da interface gráfica da ferramentaDtui.exe: Graphical interface version of the tool
  • Dt.exe: Versão de linha de comando da ferramentaDt.exe: Command-line version of the tool

Selecione uma fonte de dadosSelect data source

Depois de instalar a ferramenta, é hora de importar os dados.Once you've installed the tool, it's time to import your data. Que tipo de dados você deseja importar?What kind of data do you want to import?

Importar arquivos JSONImport JSON files

A opção de importador de origem de arquivo JSON permite importar um ou mais arquivos JSON de documento único ou arquivos JSON que tenham uma matriz de documentos JSON.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. Ao adicionar pastas que tenham arquivos JSON para importar, você tem a opção de pesquisar recursivamente arquivos em subpastas.When adding folders that have JSON files to import, you have the option of recursively searching for files in subfolders.

Captura de tela das opções de origem do arquivo JSON — ferramentas de migração de banco de dados

A cadeia de conexão está no seguinte formato:The connection string is in the following format:

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

  • <CosmosDB Endpoint> é o URI do ponto de extremidade.The <CosmosDB Endpoint> is the endpoint URI. Você pode obter esse valor no portal do Azure.You can get this value from the Azure portal. Navegue até a conta do Azure Cosmos.Navigate to your Azure Cosmos account. Abra o painel Visão geral e copie o valor do URI.Open the Overview pane and copy the URI value.
  • <AccountKey> é a "Senha" ou a CHAVE PRIMÁRIA.The <AccountKey> is the "Password" or PRIMARY KEY. Você pode obter esse valor no portal do Azure.You can get this value from the Azure portal. Navegue até a conta do Azure Cosmos.Navigate to your Azure Cosmos account. Abra o painel Cadeias de Conexão ou Chaves e copie o valor da "Senha" ou da CHAVE PRIMÁRIA.Open the Connection Strings or Keys pane, and copy the "Password" or PRIMARY KEY value.
  • <CosmosDB Database> é o nome do banco de dados do Cosmos DB.The <CosmosDB Database> is the CosmosDB database name.

Exemplo: AccountEndpoint=https://myCosmosDBName.documents.azure.com:443/;AccountKey=wJmFRYna6ttQ79ATmrTMKql8vPri84QBiHTt6oinFkZRvoe7Vv81x9sn6zlVlBY10bEPMgGM982wfYXpWXWB9w==;Database=myDatabaseNameExample: AccountEndpoint=https://myCosmosDBName.documents.azure.com:443/;AccountKey=wJmFRYna6ttQ79ATmrTMKql8vPri84QBiHTt6oinFkZRvoe7Vv81x9sn6zlVlBY10bEPMgGM982wfYXpWXWB9w==;Database=myDatabaseName

Observação

Use o comando Verify para garantir que a conta do Cosmos DB especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the Cosmos DB account specified in the connection string field can be accessed.

Aqui estão alguns exemplos de linha de comando para importar os arquivos JSON: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

Importar do MongoDBImport from MongoDB

Importante

Caso esteja importando para uma conta do Cosmos configurada com a API do MongoDB do Azure Cosmos DB, siga estas instruções.If you're importing to a Cosmos account configured with Azure Cosmos DB's API for MongoDB, follow these instructions.

Com a opção de importador de origem do MongoDB, é possível importar de uma coleção do MongoDB individual e, como opção, filtrar documentos usando uma consulta e modificar a estrutura do documento usando uma projeção.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.

Captura de tela das opções de fonte do MongoDB

A cadeia de conexão está no formato padrão do MongoDB:The connection string is in the standard MongoDB format:

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

Observação

Use o comando Verify para garantir que a instância do MongoDB especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the MongoDB instance specified in the connection string field can be accessed.

Digite o nome da coleção por meio da qual os dados serão importados.Enter the name of the collection from which data will be imported. Como opção, é possível especificar ou fornecer um arquivo para uma consulta, como {pop: {$gt:5000}}, ou uma projeção, como {loc:0}, para o filtro e a forma dos dados sendo importados.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.

Aqui estão alguns exemplos de linha de comando para importar por meio do 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

Importar arquivos de exportação do MongoDBImport MongoDB export files

Importante

Caso esteja importando para uma conta do Azure Cosmos DB com suporte para o MongoDB, siga estas instruções.If you're importing to an Azure Cosmos DB account with support for MongoDB, follow these instructions.

A opção do importador de origem de arquivo JSON de exportação do MongoDB permite que você importe um ou mais arquivos JSON produzidos por meio do utilitário mongoexport.The MongoDB export JSON file source importer option allows you to import one or more JSON files produced from the mongoexport utility.

Captura de tela das opções de fonte de exportação do MongoDB

Ao adicionar pastas que tenham arquivos JSON de exportação do MongoDB, você tem a opção de pesquisar recursivamente arquivos em subpastas.When adding folders that have MongoDB export JSON files for import, you have the option of recursively searching for files in subfolders.

Aqui está um exemplo de linha de comando para importar de arquivos de JSON de exportação do MongoDB: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

Importar do SQL ServerImport from SQL Server

A opção do importador de origem do SQL permite importar de um banco de dados do SQL Server individual e, opcionalmente, filtrar os registros a serem importados usando uma consulta.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. Além disso, você pode modificar a estrutura do documento, especificando um separador de aninhamento (falaremos mais sobre isso em instantes).In addition, you can modify the document structure by specifying a nesting separator (more on that in a moment).

Captura de tela das opções de origem do SQL — ferramentas de migração de banco de dados

O formato da cadeia de conexão é o formato da cadeia de conexão SQL padrão.The format of the connection string is the standard SQL connection string format.

Observação

Use o comando Verify para garantir que a instância do SQL Server especificada no campo Cadeia de conexão pode ser acessada.Use the Verify command to ensure that the SQL Server instance specified in the connection string field can be accessed.

A propriedade de separador de aninhamento é usada para criar relacionamentos hierárquicos (sub-documentos) durante a importação.The nesting separator property is used to create hierarchical relationships (sub-documents) during import. Considere a seguinte consulta SQL: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'

Que retorna os seguintes resultados (parciais):Which returns the following (partial) results:

Captura de tela dos resultados de consulta do SQL

Observe os aliases como Address.AddressType e Address.Location.StateProvinceName.Note the aliases such as Address.AddressType and Address.Location.StateProvinceName. Especificando um separador de aninhamento de '.', a ferramenta de importação cria os subdocumentos Address e Address.Location durante a importação.By specifying a nesting separator of '.', the import tool creates Address and Address.Location subdocuments during the import. Este é um exemplo de um documento resultante no 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" } }

Aqui estão alguns exemplos de linha de comando para importar do 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

Importar arquivos CSV e converter CSV em JSONImport CSV files and convert CSV to JSON

A opção de importador de origem de arquivo CSV permite que você importe um ou mais arquivos CSV.The CSV file source importer option enables you to import one or more CSV files. Ao adicionar pastas que tenham arquivos CSV para importar, você tem a opção de pesquisar recursivamente arquivos em subpastas.When adding folders that have CSV files for import, you have the option of recursively searching for files in subfolders.

Captura de tela das opções de origem do CSV — CVS em JSON

De forma semelhante à origem de SQL, a propriedade de separador de aninhamento pode ser usada para criar relacionamentos hierárquicos (sub-documentos) durante a importação.Similar to the SQL source, the nesting separator property may be used to create hierarchical relationships (sub-documents) during import. Considere a seguinte linha de cabeçalho CSV e linhas de dados:Consider the following CSV header row and data rows:

Captura de tela dos registros de exemplo do CSV — CVS em JSON

Observe os aliases como DomainInfo.Domain_Name e RedirectInfo.Redirecting.Note the aliases such as DomainInfo.Domain_Name and RedirectInfo.Redirecting. Especificando um separador de aninhamento de '.', a ferramenta de importação cria os sub-documentos DomainInfo e RedirectInfo durante a importação.By specifying a nesting separator of '.', the import tool will create DomainInfo and RedirectInfo subdocuments during the import. Este é um exemplo de um documento resultante no 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" }

A ferramenta de importação tenta deduzir informações de tipo para valores sem aspas em arquivos CSV (valores entre aspas são tratados sempre como cadeias de caracteres).The import tool tries to infer type information for unquoted values in CSV files (quoted values are always treated as strings). Os tipos são identificados na seguinte ordem: número, datetime, booliano.Types are identified in the following order: number, datetime, boolean.

Há duas outras coisas a observar sobre a importação de CSV:There are two other things to note about CSV import:

  1. Por padrão, os valores sem aspas sempre são cortados para tabulações e espaços, enquanto os valores entre aspas são preservados como estão.By default, unquoted values are always trimmed for tabs and spaces, while quoted values are preserved as-is. Esse comportamento pode ser substituído pela caixa de seleção com valores entre aspas de corte ou pela opção de linha de comando /s.TrimQuoted.This behavior can be overridden with the Trim quoted values checkbox or the /s.TrimQuoted command-line option.
  2. Por padrão, um nulo sem aspas é tratado como um valor nulo.By default, an unquoted null is treated as a null value. Esse comportamento pode ser substituído (ou seja, tratar um nulo sem aspas como uma cadeia de caracteres "null") com o NULL de tratamento sem aspas como caixa de seleção da cadeia de caracteres ou a opção de linha de comando /s.NoUnquotedNulls.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.

Aqui está um exemplo de linha de comando para importação de CSV: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

Importar por meio do armazenamento de tabela do AzureImport from Azure Table storage

A opção de importador de origem de armazenamento de tabela do Azure permite importar de uma tabela de armazenamento de uma tabela individual do Azure.The Azure Table storage source importer option allows you to import from an individual Azure Table storage table. Como outra opção, você pode filtrar as entidades da tabela a serem importadas.Optionally, you can filter the table entities to be imported.

Você pode gerar dados que foram importados do Armazenamento de Tabelas do Azure para tabelas do Azure Cosmos DB e entidades para uso com a API de Tabela.You may output data that was imported from Azure Table Storage to Azure Cosmos DB tables and entities for use with the Table API. Dados importados também podem ser a saída para coleções e documentos para uso com a API do SQL.Imported data can also be output to collections and documents for use with the SQL API. No entanto, a API de Tabela só está disponível como um destino no utilitário de linha de comando.However, Table API is only available as a target in the command-line utility. É possível exportar para API de Tabela usando a interface de usuário da ferramenta de Migração de Dados.You can't export to Table API by using the Data Migration tool user interface. Para obter mais informações, consulte Importar dados para uso com a API de tabela do Azure Cosmos DB.For more information, see Import data for use with the Azure Cosmos DB Table API.

Captura de tela das opções de origem de armazenamento da tabela do Azure

O formato da cadeia de conexão de armazenamento de tabela do Azure é:The format of the Azure Table storage connection string is:

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

Observação

Use o comando Verify para garantir que a instância de armazenamento da tabela do Azure especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the Azure Table storage instance specified in the connection string field can be accessed.

Digite o nome da tabela do Azure da qual os dados serão importados.Enter the name of the Azure table from to import from. Opcionalmente, você pode especificar um filtro.You may optionally specify a filter.

A opção de importador de origem de armazenamento de tabela do Azure tem as seguintes opções adicionais:The Azure Table storage source importer option has the following additional options:

  1. Incluir campos internosInclude Internal Fields
    1. Todos - incluir todos os campos internos (PartitionKey, RowKey e Timestamp)All - Include all internal fields (PartitionKey, RowKey, and Timestamp)
    2. Nenhum - excluir todos os campos internosNone - Exclude all internal fields
    3. RowKey - incluir somente o campo RowKeyRowKey - Only include the RowKey field
  2. Selecionar colunasSelect Columns
    1. Filtros de armazenamento de tabela do Azure não dão suporte a projeções.Azure Table storage filters don't support projections. Se você quiser importar somente propriedades específicas de entidade da tabela do Azure, adicione-as à lista Selecionar colunas.If you want to only import specific Azure Table entity properties, add them to the Select Columns list. Todas as outras propriedades da entidade são ignoradas.All other entity properties are ignored.

Aqui está um exemplo de linha de comando para importar por meio do armazenamento de tabela do Azure: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

Importar do Amazon DynamoDBImport from Amazon DynamoDB

A opção do importador de origem do Amazon DynamoDB permite a importação de uma única tabela do Amazon DynamoDB.The Amazon DynamoDB source importer option allows you to import from a single Amazon DynamoDB table. Como opção, é possível filtrar as entidades a serem importadas.It can optionally filter the entities to be imported. Vários modelos são fornecidos para que a configuração de uma importação seja tão fácil quanto possível.Several templates are provided so that setting up an import is as easy as possible.

Captura de tela das opções de origem do Amazon DynamoDB — ferramentas de migração de banco de dados

Captura de tela das opções de origem do Amazon DynamoDB — ferramentas de migração de banco de dados

O formato da cadeia de conexão do Amazon DynamoDB é:The format of the Amazon DynamoDB connection string is:

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

Observação

Use o comando Verify para garantir que a instância do Amazon DynamoDB especificada no campo de cadeia de conexão possa ser acessada.Use the Verify command to ensure that the Amazon DynamoDB instance specified in the connection string field can be accessed.

Aqui está um exemplo de linha de comando para importar do 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 database>;" /t.Collection:catalogCollection /t.CollectionThroughput:2500

Importar do armazenamento de Blob do AzureImport from Azure Blob storage

O arquivo JSON, arquivo de exportação do MongoDB e opções de importador de origem do arquivo CSV permitem que você importe um ou mais arquivos de Armazenamento de Blob do Azure.The JSON file, MongoDB export file, and CSV file source importer options allow you to import one or more files from Azure Blob storage. Depois de especificar uma URL do contêiner de Blob e a chave de conta, forneça uma expressão regular para selecionar os arquivos a serem importados.After specifying a Blob container URL and Account Key, provide a regular expression to select the file(s) to import.

Captura de tela das opções de origem de arquivo de blob

Eis um exemplo de linha de comando para importar arquivos JSON do Armazenamento de Blob do Azure: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

Importar de uma coleção de API do SQLImport from a SQL API collection

A opção de importador de origem do Azure Cosmos DB permite importar dados de um ou mais contêineres do Azure Cosmos e, opcionalmente, filtrar documentos usando uma consulta.The Azure Cosmos DB source importer option allows you to import data from one or more Azure Cosmos containers and optionally filter documents using a query.

Captura de tela das opções de fonte do Azure Cosmos DB

O formato da cadeia de conexão do Azure Cosmos DB é:The format of the Azure Cosmos DB connection string is:

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

É possível recuperar a cadeia de conexão da conta do Azure Cosmos DB na página Chaves do portal do Azure, conforme descrito em Como gerenciar uma conta do Azure Cosmos DB.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. No entanto, o nome do banco de dados deve ser acrescentado à cadeia de conexão no seguinte formato:However, the name of the database needs to be appended to the connection string in the following format:

Database=<CosmosDB Database>;

Observação

Use o comando Verify para garantir que a instância do Azure Cosmos DB especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Para importar de um único contêiner do Azure Cosmos, insira o nome da coleção da qual os dados serão importados.To import from a single Azure Cosmos container, enter the name of the collection to import data from. Para importar de mais de um contêiner do Azure Cosmos, forneça uma expressão regular para encontrar a correspondência de um ou mais nomes de coleções (por exemplo, collection01 | collection02 | collection03).To import from more than one Azure Cosmos container, provide a regular expression to match one or more collection names (for example, collection01 | collection02 | collection03). Outra opção é especificar ou fornecer um arquivo para uma consulta para filtrar e moldar os dados sendo importados.You may optionally specify, or provide a file for, a query to both filter and shape the data that you're importing.

Observação

Como o campo de coleção aceita expressões regulares, se você estiver importando de uma única coleção cujo nome tenha caracteres de expressão regular, esses caracteres devem ser substituídos adequadamente.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.

A opção de importador de origem do Azure Cosmos DB tem as seguintes opções avançadas:The Azure Cosmos DB source importer option has the following advanced options:

  1. Incluir Campos Internos: Especifica se as propriedades do sistema de documentos do Azure Cosmos DB devem ou não ser incluídas na exportação (por exemplo, _rid, _ts).Include Internal Fields: Specifies whether or not to include Azure Cosmos DB document system properties in the export (for example, _rid, _ts).
  2. Número de repetições em caso de falha: Especifica o número de vezes para tentar a conexão novamente com o Azure Cosmos DB em caso de falhas transitórias (por exemplo, interrupção da conectividade de rede).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. Intervalo de Repetição: Especifica o tempo de espera para tentar a conexão novamente com o Azure Cosmos DB em caso de falhas transitórias (por exemplo, interrupção da conectividade de rede).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. Modo de Conexão: especifica o modo de conexão a ser usado com o Azure Cosmos DB.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. As opções disponíveis são DirectTcp, DirectHttps e Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Os modos de conexão direta são mais rápidos, enquanto que o modo de gateway é mais amigável ao firewall, uma vez que só usa a porta 443.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Captura de tela das opções avançadas de fonte do Azure Cosmos DB

Dica

A ferramenta de importação usa como padrão o modo de conexão DirectTcp.The import tool defaults to connection mode DirectTcp. Se você enfrentar problemas de firewall, alterne para o modo de conexão Gateway, uma vez que ele só requer a porta 443.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Estes são alguns exemplos de linha de comando para importar do Azure Cosmos DB:Here are some command-line samples to import from Azure Cosmos DB:

#Migrate data from one Azure Cosmos container to another Azure Cosmos containers
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 container to a single Azure Cosmos container
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 container 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

Dica

A ferramenta de Importação de Dados do Azure Cosmos DB também dá suporte à importação de dados do Emulador do Azure Cosmos DB.The Azure Cosmos DB Data Import Tool also supports import of data from the Azure Cosmos DB Emulator. Ao importar dados de um emulador local, defina o ponto de extremidade como https://localhost:<port>.When importing data from a local emulator, set the endpoint to https://localhost:<port>.

Importar do HBaseImport from HBase

A opção de importador de origem do HBase permite importar dados de uma tabela do HBase e, opcionalmente, filtrar os dados.The HBase source importer option allows you to import data from an HBase table and optionally filter the data. Vários modelos são fornecidos para que a configuração de uma importação seja tão fácil quanto possível.Several templates are provided so that setting up an import is as easy as possible.

Captura de tela das opções de origem do HBase

Captura de tela das opções de origem do HBase

O formato da cadeia de conexão HBase Stargate é:The format of the HBase Stargate connection string is:

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

Observação

Use o comando Verify para garantir que a instância do HBase especificada no campo de cadeia de conexão possa ser acessada.Use the Verify command to ensure that the HBase instance specified in the connection string field can be accessed.

Aqui está um exemplo de linha de comando para importar do HBase: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

Importar para a API do SQL (importação em massa)Import to the SQL API (Bulk Import)

O importador em Massa do Azure Cosmos DB permite importar de qualquer uma das opções de origem disponíveis, usando um procedimento armazenado do Azure Cosmos DB para maior eficiência.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. A ferramenta dá suporte à importação para um contêiner de partição única do Azure Cosmos.The tool supports import to one single-partitioned Azure Cosmos container. Ela também dá suporte à importação fragmentada, na qual os dados são particionados em mais de um contêiner de partição única do Azure Cosmos.It also supports sharded import whereby data is partitioned across more than one single-partitioned Azure Cosmos container. Para obter mais informações sobre o particionamento de dados, consulte Particionamento e escala no Azure Cosmos DB.For more information about partitioning data, see Partitioning and scaling in Azure Cosmos DB. A ferramenta cria, executa e depois exclui o procedimento armazenado das coleções de destino.The tool creates, executes, and then deletes the stored procedure from the target collection(s).

Captura de tela das opções em massa do Azure Cosmos DB

O formato da cadeia de conexão do Azure Cosmos DB é:The format of the Azure Cosmos DB connection string is:

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

A cadeia de conexão da conta do Azure Cosmos DB pode ser recuperada na página Chaves do portal do Azure, conforme descrito em Como gerenciar uma conta do Azure Cosmos DB; no entanto, o nome do banco de dados deve ser acrescentado à cadeia de conexão no seguinte formato: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>;

Observação

Use o comando Verify para garantir que a instância do Azure Cosmos DB especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Para importar para uma única coleção, digite o nome da coleção da qual importar os dados e clique no botão Adicionar.To import to a single collection, enter the name of the collection to import data from and click the Add button. Para importar para mais de uma coleção, insira o nome de cada coleção individualmente ou use a seguinte sintaxe para especificar mais de uma coleção: collection_prefix[start index - end index].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]. Ao especificar mais de uma coleção usando a sintaxe mencionada anteriormente, mantenha as seguintes diretrizes em mente:When specifying more than one collection using the aforementioned syntax, keep the following guidelines in mind:

  1. Somente padrões de nome de intervalo inteiro têm suporte.Only integer range name patterns are supported. Por exemplo, a especificação de coleção [0-3] cria as seguintes coleções: collection0, collection1, collection2, collection3.For example, specifying collection[0-3] creates the following collections: collection0, collection1, collection2, collection3.
  2. Você pode usar uma sintaxe abreviada: collection[3] cria o mesmo conjunto de coleções mencionado na etapa 1.You can use an abbreviated syntax: collection[3] creates the same set of collections mentioned in step 1.
  3. Mais de uma substituição pode ser fornecida.More than one substitution can be provided. Por exemplo, a coleção [0-1] [0-9] gera 20 nomes de coleção com zeros à esquerda (collection01... 02,... 03).For example, collection[0-1] [0-9] generates 20 collection names with leading zeros (collection01, ..02, ..03).

Depois de especificar o(s) nome(s) de coleção, escolha a taxa de transferência desejada da(s) coleção(ões) (de 400 a 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). Para uma importação com melhor desempenho, escolha uma taxa de transferência maior.For best import performance, choose a higher throughput. Para obter mais informações sobre níveis de desempenho, consulte Níveis de desempenho no Azure Cosmos DB.For more information about performance levels, see Performance levels in Azure Cosmos DB.

Observação

A configuração de taxa de transferência de desempenho só se aplica à criação da coleção.The performance throughput setting only applies to collection creation. Se a coleção especificada já existir, a taxa de transferência não será modificada.If the specified collection already exists, its throughput won't be modified.

Ao importar para mais de uma coleção, a ferramenta de importação oferece suporte à fragmentação baseada em hash.When you import to more than one collection, the import tool supports hash-based sharding. Nesse cenário, especifique a propriedade de documento que você deseja usar como a Chave de Partição.In this scenario, specify the document property you wish to use as the Partition Key. (Se a Chave de Partição for deixada em branco, os documentos são fragmentados aleatoriamente em coleções de destino.)(If Partition Key is left blank, documents are sharded randomly across the target collections.)

Como opção, é possível especificar qual campo na fonte de importação deve ser usado como a propriedade de ID do documento do Azure Cosmos DB durante a importação.You may optionally specify which field in the import source should be used as the Azure Cosmos DB document ID property during the import. Se documentos não tiverem essa propriedade, a ferramenta de importação gera um GUID como o valor da propriedade de ID.If documents don't have this property, then the import tool generates a GUID as the ID property value.

Há uma série de opções avançadas disponíveis durante a importação.There are a number of advanced options available during import. Em primeiro lugar, embora a ferramenta inclua um procedimento armazenado de importação em massa padrão (BulkInsert.js), você pode optar por especificar seu próprio procedimento armazenado de importação:First, while the tool includes a default bulk import stored procedure (BulkInsert.js), you may choose to specify your own import stored procedure:

Captura de tela da opção de sproc de inserção em massa do Azure Cosmos DB

Além disso, ao importar tipos de dados (por exemplo, do SQL Server ou do MongoDB), você pode escolher entre três opções de importação:Additionally, when importing date types (for example, from SQL Server or MongoDB), you can choose between three import options:

Captura de tela das opções de importação de data e hora do Azure Cosmos DB

  • Cadeia de caracteres: persistir como um valor de cadeia de caracteresString: Persist as a string value
  • Época: persistir como um valor de número de épocaEpoch: Persist as an Epoch number value
  • Ambos: persistir com os valores de número de cadeia de caracteres e de época.Both: Persist both string and Epoch number values. Esta opção cria um subdocumento, por exemplo: "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 }

O importador em Massa do Azure Cosmos DB tem as seguintes opções avançadas adicionais:The Azure Cosmos DB Bulk importer has the following additional advanced options:

  1. Tamanho do Lote: A ferramenta usa como padrão um tamanho de lote de 50.Batch Size: The tool defaults to a batch size of 50. Se os documentos a serem importados forem grandes, considere reduzir o tamanho do lote.If the documents to be imported are large, consider lowering the batch size. Da mesma forma, se os documentos a serem importados forem pequenos, considere aumentar o tamanho do lote.Conversely, if the documents to be imported are small, consider raising the batch size.
  2. Tamanho Máximo de Script (bytes): A ferramenta usa como padrão um tamanho máximo de script de 512 KB.Max Script Size (bytes): The tool defaults to a max script size of 512 KB.
  3. Desabilitar a Geração Automática de ID: Se todos os documentos a serem importados tiverem um campo de ID, selecionar essa opção poderá aumentar o desempenho.Disable Automatic Id Generation: If every document to be imported has an ID field, then selecting this option can increase performance. Documentos que não tenham um campo de ID exclusiva não são importados.Documents missing a unique ID field aren't imported.
  4. Atualizar documentos existentes: a ferramenta usa como padrão não substituir os documentos existentes com conflitos de ID.Update Existing Documents: The tool defaults to not replacing existing documents with ID conflicts. Essa opção permite substituir documentos existentes por IDs correspondentes.Selecting this option allows overwriting existing documents with matching IDs. Esse recurso é útil para migrações de dados agendadas que atualizam documentos existentes.This feature is useful for scheduled data migrations that update existing documents.
  5. Número de repetições em caso de falha: Especifica quantas vezes se tenta refazer a conexão com o Azure Cosmos DB durante falhas transitórias (por exemplo, interrupção da conectividade de rede).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. Intervalo de Repetição: Especifica o tempo de espera para tentar a conexão novamente com o Azure Cosmos DB em caso de falhas transitórias (por exemplo, interrupção da conectividade de rede).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. Modo de Conexão: especifica o modo de conexão a ser usado com o Azure Cosmos DB.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. As opções disponíveis são DirectTcp, DirectHttps e Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Os modos de conexão direta são mais rápidos, enquanto que o modo de gateway é mais amigável ao firewall, uma vez que só usa a porta 443.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Captura de tela das opções avançadas de importação em massa do Azure Cosmos DB

Dica

A ferramenta de importação usa como padrão o modo de conexão DirectTcp.The import tool defaults to connection mode DirectTcp. Se você enfrentar problemas de firewall, alterne para o modo de conexão Gateway, uma vez que ele só requer a porta 443.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Importar para a API do SQL (Importação de Registro Sequencial)Import to the SQL API (Sequential Record Import)

O importador de registro sequencial do Azure Cosmos DB permite a importação a partir de uma opção de origem disponível com base em cada registro.The Azure Cosmos DB sequential record importer allows you to import from an available source option on a record-by-record basis. Você pode escolher esta opção se estiver importando para uma coleção existente que já atingiu a cota de procedimentos armazenados.You might choose this option if you’re importing to an existing collection that has reached its quota of stored procedures. A ferramenta dá suporte à importação para um único contêiner (partição única e várias partições) do Azure Cosmos.The tool supports import to a single (both single-partition and multi-partition) Azure Cosmos container. Ela também dá suporte à importação fragmentada, pela qual os dados são particionados em mais de um contêiner de partição única ou de várias partições do Azure Cosmos.It also supports sharded import whereby data is partitioned across more than one single-partition or multi-partition Azure Cosmos container. Para obter mais informações sobre o particionamento de dados, consulte Particionamento e escala no Azure Cosmos DB.For more information about partitioning data, see Partitioning and scaling in Azure Cosmos DB.

Captura de tela das opções de importação de registro sequencial do Azure Cosmos DB

O formato da cadeia de conexão do Azure Cosmos DB é:The format of the Azure Cosmos DB connection string is:

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

É possível recuperar a cadeia de conexão da conta do Azure Cosmos DB na página Chaves do portal do Azure, conforme descrito em Como gerenciar uma conta do Azure Cosmos DB.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. No entanto, o nome do banco de dados deve ser acrescentado à cadeia de conexão no seguinte formato:However, the name of the database needs to be appended to the connection string in the following format:

Database=<Azure Cosmos database>;

Observação

Use o comando Verify para garantir que a instância do Azure Cosmos DB especificada no campo de cadeia de conexão pode ser acessada.Use the Verify command to ensure that the Azure Cosmos DB instance specified in the connection string field can be accessed.

Para importar para uma única coleção, digite o nome da coleção para a qual os dados serão importados, depois clique no botão Adicionar.To import to a single collection, enter the name of the collection to import data into, and then click the Add button. Para importar para mais de uma coleção, insira o nome de cada coleção individualmente.To import to more than one collection, enter each collection name individually. Também é possível usar a sintaxe a seguir para especificar mais de uma coleção: collection_prefix[start index - end index].You may also use the following syntax to specify more than one collection: collection_prefix[start index - end index]. Ao especificar mais de uma coleção por meio da sintaxe mencionada anteriormente, mantenha as seguintes diretrizes em mente:When specifying more than one collection via the aforementioned syntax, keep the following guidelines in mind:

  1. Somente padrões de nome de intervalo inteiro têm suporte.Only integer range name patterns are supported. Por exemplo, a especificação de coleção [0-3] cria as seguintes coleções: collection0, collection1, collection2, collection3.For example, specifying collection[0-3] creates the following collections: collection0, collection1, collection2, collection3.
  2. Você pode usar uma sintaxe abreviada: collection[3] cria o mesmo conjunto de coleções mencionado na etapa 1.You can use an abbreviated syntax: collection[3] creates the same set of collections mentioned in step 1.
  3. Mais de uma substituição pode ser fornecida.More than one substitution can be provided. Por exemplo, a coleção [0-1] [0-9] cria 20 nomes de coleção com zeros à esquerda (collection01... 02,... 03).For example, collection[0-1] [0-9] creates 20 collection names with leading zeros (collection01, ..02, ..03).

Depois de especificar o(s) nome(s) de coleção, escolha a taxa de transferência desejada da(s) coleção(ões) (de 400 a 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). Para uma importação com melhor desempenho, escolha uma taxa de transferência maior.For best import performance, choose a higher throughput. Para obter mais informações sobre níveis de desempenho, consulte Níveis de desempenho no Azure Cosmos DB.For more information about performance levels, see Performance levels in Azure Cosmos DB. Qualquer importação para coleções com taxa de transferência acima de 10.000 RUs exige uma chave de partição.Any import to collections with throughput >10,000 RUs require a partition key. Se optar por ter mais de 250.000 RUs, você precisa fazer uma solicitação no portal para aumento da conta.If you choose to have more than 250,000 RUs, you need to file a request in the portal to have your account increased.

Observação

A configuração de taxa de transferência só se aplica à criação da coleção ou do banco de dados.The throughput setting only applies to collection or database creation. Se a coleção especificada já existir, a taxa de transferência não será modificada.If the specified collection already exists, its throughput won't be modified.

Ao importar para mais de uma coleção, a ferramenta de importação oferece suporte à fragmentação baseada em hash.When importing to more than one collection, the import tool supports hash-based sharding. Nesse cenário, especifique a propriedade de documento que você deseja usar como a Chave de Partição.In this scenario, specify the document property you wish to use as the Partition Key. (Se a Chave de Partição for deixada em branco, os documentos são fragmentados aleatoriamente em coleções de destino.)(If Partition Key is left blank, documents are sharded randomly across the target collections.)

Como opção, é possível especificar qual campo na fonte de importação deve ser usado como a propriedade de ID do documento do Azure Cosmos DB durante a importação.You may optionally specify which field in the import source should be used as the Azure Cosmos DB document ID property during the import. (Se documentos não tiverem essa propriedade, a ferramenta de importação gera um GUID como o valor da propriedade de ID.)(If documents don't have this property, then the import tool generates a GUID as the ID property value.)

Há uma série de opções avançadas disponíveis durante a importação.There are a number of advanced options available during import. Primeiro, ao importar tipos de dados (por exemplo, do SQL Server ou do MongoDB), você pode escolher entre três opções de importação:First, when importing date types (for example, from SQL Server or MongoDB), you can choose between three import options:

Captura de tela das opções de importação de data e hora do Azure Cosmos DB

  • Cadeia de caracteres: persistir como um valor de cadeia de caracteresString: Persist as a string value
  • Época: persistir como um valor de número de épocaEpoch: Persist as an Epoch number value
  • Ambos: persistir com os valores de número de cadeia de caracteres e de época.Both: Persist both string and Epoch number values. Esta opção cria um subdocumento, por exemplo: "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 }

O importador de Registro sequencial do Azure Cosmos DB tem as seguintes opções avançadas adicionais:The Azure Cosmos DB - Sequential record importer has the following additional advanced options:

  1. Número de Solicitações Paralelas: A ferramenta usa como padrão duas solicitações paralelas.Number of Parallel Requests: The tool defaults to two parallel requests. Se os documentos a serem importados forem pequenos, considere aumentar o número de solicitações paralelas.If the documents to be imported are small, consider raising the number of parallel requests. Se este número for muito elevado, a importação poderá sofrer limitação.If this number is raised too much, the import may experience rate limiting.
  2. Desabilitar a Geração Automática de ID: Se todos os documentos a serem importados tiverem um campo de ID, selecionar essa opção poderá aumentar o desempenho.Disable Automatic Id Generation: If every document to be imported has an ID field, then selecting this option can increase performance. Documentos que não tenham um campo de ID exclusiva não são importados.Documents missing a unique ID field aren't imported.
  3. Atualizar documentos existentes: a ferramenta usa como padrão não substituir os documentos existentes com conflitos de ID.Update Existing Documents: The tool defaults to not replacing existing documents with ID conflicts. Essa opção permite substituir documentos existentes por IDs correspondentes.Selecting this option allows overwriting existing documents with matching IDs. Esse recurso é útil para migrações de dados agendadas que atualizam documentos existentes.This feature is useful for scheduled data migrations that update existing documents.
  4. Número de repetições em caso de falha: Especifica quantas vezes se tenta refazer a conexão com o Azure Cosmos DB durante falhas transitórias (por exemplo, interrupção da conectividade de rede).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. Intervalo de Repetição: Especifica o tempo de espera para tentar a conexão novamente com o Azure Cosmos DB durante falhas transitórias (por exemplo, interrupção da conectividade de rede).Retry Interval: Specifies how long to wait between retrying the connection to Azure Cosmos DB during transient failures (for example, network connectivity interruption).
  6. Modo de Conexão: especifica o modo de conexão a ser usado com o Azure Cosmos DB.Connection Mode: Specifies the connection mode to use with Azure Cosmos DB. As opções disponíveis são DirectTcp, DirectHttps e Gateway.The available choices are DirectTcp, DirectHttps, and Gateway. Os modos de conexão direta são mais rápidos, enquanto que o modo de gateway é mais amigável ao firewall, uma vez que só usa a porta 443.The direct connection modes are faster, while the gateway mode is more firewall friendly as it only uses port 443.

Captura de tela das opções avançadas de importação de registro sequencial do Azure Cosmos DB

Dica

A ferramenta de importação usa como padrão o modo de conexão DirectTcp.The import tool defaults to connection mode DirectTcp. Se você enfrentar problemas de firewall, alterne para o modo de conexão Gateway, uma vez que ele só requer a porta 443.If you experience firewall issues, switch to connection mode Gateway, as it only requires port 443.

Especificar uma política de indexaçãoSpecify an indexing policy

Quando você permite que a ferramenta de migração crie coleções da API do SQL do Azure Cosmos DB durante a importação, é possível especificar a política de indexação das coleções.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. Na seção de opções avançadas das opções de Importação em massa e Registro sequencial do Azure Cosmos DB, navegue para a seção Política de indexação.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.

Captura de tela das opções avançadas de Política de indexação do Azure Cosmos DB

Usando a opção avançada de política de indexação, você pode selecionar um arquivo de política de indexação, inserir manualmente uma política de indexação ou selecionar a partir um conjunto de modelos padrão (clicando com o botão direito do mouse na caixa de texto da política indexação).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).

Os modelos de política que a ferramenta fornece são:The policy templates the tool provides are:

  • Padrão.Default. Essa política é a melhor ao executar consultas de igualdade em cadeias de caracteres.This policy is best when you perform equality queries against strings. Ela também funciona se você usar consultas de ORDER BY, intervalo e igualdade para números.It also works if you use ORDER BY, range, and equality queries for numbers. Essa política tem uma sobrecarga de armazenamento de índice menor que Intervalo.This policy has a lower index storage overhead than Range.
  • Intervalo.Range. Essa política será mais útil ao usar consultas de ORDER BY, intervalo e igualdade em números e cadeias de caracteres.This policy is best when you use ORDER BY, range, and equality queries on both numbers and strings. Essa política tem uma sobrecarga de armazenamento de índice maior do que Padrão ou Hash.This policy has a higher index storage overhead than Default or Hash.

Captura de tela das opções avançadas de Política de indexação do Azure Cosmos DB

Observação

Se você não especificar uma política de indexação, a política padrão é aplicada.If you don't specify an indexing policy, then the default policy is applied. Para obter mais informações sobre políticas de indexação, consulte Políticas de indexação do Azure Cosmos DB.For more information about indexing policies, see Azure Cosmos DB indexing policies.

Exportar para arquivo JSONExport to JSON file

O exportador de JSON do Azure Cosmos DB permite exportar uma das opções de origem disponíveis para um arquivo JSON que tenha uma matriz de documentos JSON.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. A ferramenta lida com a exportação para você.The tool handles the export for you. Como alternativa, é possível optar por exibir o comando de migração resultante e executar o comando por conta própria.Alternatively, you can choose to view the resulting migration command and run the command yourself. O arquivo JSON resultante pode ser armazenado localmente ou no Armazenamento de Blob do Azure.The resulting JSON file may be stored locally or in Azure Blob storage.

Captura de tela da opção de exportação de arquivo local JSON do Azure Cosmos DB

Captura de tela da opção de exportação de JSON do Armazenamento de blobs do Azure no Azure Cosmos DB

Como opção, é possível escolher melhorar a aparência do JSON resultante.You may optionally choose to prettify the resulting JSON. Essa ação aumentará o tamanho do documento resultante e deixará o conteúdo mais legível.This action will increase the size of the resulting document while making the contents more human readable.

  • Exportação JSON padrãoStandard 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"}]}]
    
  • Exportação JSON com aparência melhorPrettified 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"
        }
      ]
      }]
    

Eis um exemplo de linha de comando para exportar o arquivo JSON para o Armazenamento de Blobs do Azure: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

Configuração avançadaAdvanced configuration

Na tela de Configuração avançada, especifique a localização do arquivo de log do qual você gostaria que os erros fossem gravados.In the Advanced configuration screen, specify the location of the log file to which you would like any errors written. As seguintes regras se aplicam a esta página:The following rules apply to this page:

  1. Se não for fornecido um nome de arquivo, todos os erros são retornados na página Resultados.If a file name isn't provided, then all errors are returned on the Results page.

  2. Se for fornecido um nome de arquivo sem um diretório, o arquivo é criado (ou substituído) no diretório atual do ambiente.If a file name is provided without a directory, then the file is created (or overwritten) in the current environment directory.

  3. Se você selecionar um arquivo existente, o arquivo é substituído; não há nenhuma opção de acréscimo.If you select an existing file, then the file is overwritten, there's no append option.

  4. Em seguida, escolha se deseja registrar, todas as mensagens de erro, nenhuma mensagem ou as mensagens críticas.Then, choose whether to log all, critical, or no error messages. Finalmente, decida com que frequência a mensagem de transferência na tela é atualizada com seu progresso.Finally, decide how frequently the on-screen transfer message is updated with its progress.

    Captura da tela Configuração avançada

Confirme as configurações de importação e de linha de comando de exibiçãoConfirm import settings and view command line

  1. Depois de especificar as informações de origem, de destino e as configurações avançadas, analise o resumo da migração e exiba ou copie o comando de migração resultante se preferir.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. (Copiar o comando é útil para automatizar as operações de importação.)(Copying the command is useful to automate import operations.)

    Captura de tela da tela de resumo

    Captura de tela da tela de resumo

  2. Quando estiver satisfeito com suas opções de origem e de destino, clique em Importar.Once you’re satisfied with your source and target options, click Import. O tempo decorrido, a contagem transferida e as informações de falha (se você não tiver fornecido um nome de arquivo na Configuração avançada) são atualizados enquanto a importação está em andamento.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. Uma vez concluída, você pode exportar os resultados (por exemplo, para lidar com as falhas de importação).Once complete, you can export the results (for example, to deal with any import failures).

    Captura de tela da opção de exportação de JSON do Azure Cosmos DB

  3. Também é possível iniciar uma nova importação por meio da redefinição de todos os valores ou mantendo as configurações existentes.You may also start a new import by either resetting all values or keeping the existing settings. (Por exemplo, você pode optar por manter as informações da cadeia de conexão, a escolha de origem e destino e muito mais.)(For example, you may choose to keep connection string information, source and target choice, and more.)

    Captura de tela da opção de exportação de JSON do Azure Cosmos DB

Próximas etapasNext steps

Neste tutorial, você fez as seguintes tarefas:In this tutorial, you've done the following tasks:

  • Instalou a ferramenta de Migração de DadosInstalled the Data Migration tool
  • Importou dados de diferentes fontes de dadosImported data from different data sources
  • Exportou do Azure Cosmos DB para o JSONExported from Azure Cosmos DB to JSON

Agora, você pode seguir para o próximo tutorial e saber como consultar dados usando o Azure Cosmos DB.You can now proceed to the next tutorial and learn how to query data using Azure Cosmos DB.