Copiar dados do Atlas do MongoDB usando o Azure Data FactoryCopy data from MongoDB Atlas using Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Este artigo descreve como usar a atividade de cópia no Azure Data Factory para copiar dados de um banco de dado do Atlas do MongoDB.This article outlines how to use the Copy Activity in Azure Data Factory to copy data from a MongoDB Atlas database. Ele amplia o artigo Visão geral da atividade de cópia que apresenta uma visão geral da atividade de cópia.It builds on the copy activity overview article that presents a general overview of copy activity.

Funcionalidades com suporteSupported capabilities

Você pode copiar dados de um banco de dados do Atlas do MongoDB para qualquer armazenamento de dado de coletor com suporte.You can copy data from MongoDB Atlas database to any supported sink data store. Para obter uma lista de armazenamentos de dados com suporte como origens/coletores da atividade de cópia, confira a tabela Armazenamentos de dados com suporte.For a list of data stores that are supported as sources/sinks by the copy activity, see the Supported data stores table.

Especificamente, esse conector do Atlas do MongoDB dá suporte a versões de até 4,2.Specifically, this MongoDB Atlas connector supports versions up to 4.2.

Pré-requisitosPrerequisites

Se você usar Azure Integration Runtime para cópia, certifique-se de adicionar os IPs de Azure Integration Runtime da região efetiva à lista de acesso IP do Atlas do MongoDB.If you use Azure Integration Runtime for copy, make sure you add the effective region's Azure Integration Runtime IPs to the MongoDB Atlas IP Access List.

IntroduçãoGetting started

Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:To perform the Copy activity with a pipeline, you can use one of the following tools or SDKs:

As seções a seguir fornecem detalhes sobre as propriedades que são usadas para definir Data Factory entidades específicas ao conector do Atlas do MongoDB.The following sections provide details about properties that are used to define Data Factory entities specific to MongoDB Atlas connector.

Propriedades do serviço vinculadoLinked service properties

As propriedades a seguir têm suporte para o serviço vinculado do Atlas do MongoDB:The following properties are supported for MongoDB Atlas linked service:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade Type deve ser definida como: MongoDbAtlasThe type property must be set to: MongoDbAtlas SimYes
connectionStringconnectionString Especifique a cadeia de conexão do Atlas do MongoDB, por exemplo mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties> ,.Specify the MongoDB Atlas connection string e.g. mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>.

Você também pode colocar uma cadeia de conexão em Azure Key Vault.You can also put a connection string in Azure Key Vault. Consulte armazenar credenciais em Azure Key Vault com mais detalhes.Refer to Store credentials in Azure Key Vault with more details.
SimYes
Banco de Dadosdatabase O nome do banco de dados que você deseja criar.Name of the database that you want to access. SimYes
connectViaconnectVia O Integration Runtime a ser usado para se conectar ao armazenamento de dados.The Integration Runtime to be used to connect to the data store. Saiba mais na seção Pré-requisitos.Learn more from Prerequisites section. Se não for especificado, ele usa o Integration Runtime padrão do Azure.If not specified, it uses the default Azure Integration Runtime. NãoNo

Exemplo:Example:

{
    "name": "MongoDbAtlasLinkedService",
    "properties": {
        "type": "MongoDbAtlas",
        "typeProperties": {
            "connectionString": "mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>",
            "database": "myDatabase"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Propriedades do conjunto de dadosDataset properties

Para obter uma lista completa de seções e propriedades disponíveis para definição de conjuntos de dados, consulte Conjuntos de dados e serviços vinculados.For a full list of sections and properties that are available for defining datasets, see Datasets and linked services. As propriedades a seguir têm suporte para o conjunto de itens do Atlas do MongoDB:The following properties are supported for MongoDB Atlas dataset:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade Type do conjunto de conjuntos deve ser definida como: MongoDbAtlasCollectionThe type property of the dataset must be set to: MongoDbAtlasCollection SimYes
collectionNamecollectionName Nome da coleção no banco de dados do Atlas do MongoDB.Name of the collection in MongoDB Atlas database. SimYes

Exemplo:Example:

{
    "name": "MongoDbAtlasDataset",
    "properties": {
        "type": "MongoDbAtlasCollection",
        "typeProperties": {
            "collectionName": "<Collection name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<MongoDB Atlas linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Propriedades da atividade de cópiaCopy activity properties

Para obter uma lista completa das seções e propriedades disponíveis para definir atividades, confia o artigo Pipelines.For a full list of sections and properties available for defining activities, see the Pipelines article. Esta seção fornece uma lista das propriedades com suporte pela origem do Atlas do MongoDB.This section provides a list of properties supported by MongoDB Atlas source.

Atlas do MongoDB como fonteMongoDB Atlas as source

As propriedades a seguir têm suporte na seção source da atividade de cópia:The following properties are supported in the copy activity source section:

PropriedadeProperty DescriçãoDescription ObrigatórioRequired
typetype A propriedade Type da fonte da atividade de cópia deve ser definida como: MongoDbAtlasSourceThe type property of the copy activity source must be set to: MongoDbAtlasSource SimYes
filterfilter Especifica o filtro de seleção usando operadores de consulta.Specifies selection filter using query operators. Para retornar todos os documentos em uma coleção, omita esse parâmetro ou passe um documento vazio ({}).To return all documents in a collection, omit this parameter or pass an empty document ({}). NãoNo
cursorMethods.projectcursorMethods.project Especifica os campos a serem retornados nos documentos para projeção.Specifies the fields to return in the documents for projection. Para retornar todos os campos nos documentos correspondentes, omita este parâmetro.To return all fields in the matching documents, omit this parameter. NãoNo
cursorMethods.sortcursorMethods.sort Especifica a ordem na qual a consulta retorna documentos correspondentes.Specifies the order in which the query returns matching documents. Consulte cursor.sort().Refer to cursor.sort(). NãoNo
cursorMethods.limitcursorMethods.limit Especifica o número máximo de documentos que o servidor retorna.Specifies the maximum number of documents the server returns. Consulte cursor.limit().Refer to cursor.limit(). NãoNo
cursorMethods.skipcursorMethods.skip Especifica o número de documentos a serem ignorados e de onde o Atlas do MongoDB começa a retornar os resultados.Specifies the number of documents to skip and from where MongoDB Atlas begins to return results. Consulte cursor.skip().Refer to cursor.skip(). NãoNo
batchSizebatchSize Especifica o número de documentos a serem retornados em cada lote de resposta da instância do Atlas do MongoDB.Specifies the number of documents to return in each batch of the response from MongoDB Atlas instance. Na maioria dos casos, modificar o tamanho do lote não afetará o usuário ou o aplicativo.In most cases, modifying the batch size will not affect the user or the application. O Cosmos DB limita cada lote para que ele não exceda 40 MB, que é a soma do tamanho do número de documentos do batchSize, portanto, diminua esse valor se o tamanho do documento for grande.Cosmos DB limits each batch cannot exceed 40MB in size, which is the sum of the batchSize number of documents' size, so decrease this value if your document size being large. NãoNo
(o padrão é 100)(the default is 100)

Dica

Suporte do ADF consumindo o documento BSON em Modo estrito.ADF support consuming BSON document in Strict mode. Verifique se sua consulta de filtro está em Modo estrito em vez do modo Shell.Make sure your filter query is in Strict mode instead of Shell mode. Veja mais descrições no manual do MongoDB.More description can be found at MongoDB manual.

Exemplo:Example:

"activities":[
    {
        "name": "CopyFromMongoDbAtlas",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<MongoDB Atlas input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "MongoDbAtlasSource",
                "filter": "{datetimeData: {$gte: ISODate(\"2018-12-11T00:00:00.000Z\"),$lt: ISODate(\"2018-12-12T00:00:00.000Z\")}, _id: ObjectId(\"5acd7c3d0000000000000000\") }",
                "cursorMethods": {
                    "project": "{ _id : 1, name : 1, age: 1, datetimeData: 1 }",
                    "sort": "{ age : 1 }",
                    "skip": 3,
                    "limit": 3
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Exportar documentos JSON no estado em que se encontraExport JSON documents as-is

Você pode usar este conector do Atlas do MongoDB para exportar documentos JSON como estão de uma coleção do Atlas do MongoDB para vários repositórios baseados em arquivo ou para Azure Cosmos DB.You can use this MongoDB Atlas connector to export JSON documents as-is from a MongoDB Atlas collection to various file-based stores or to Azure Cosmos DB. Para efetuar essa cópia independente de esquema, ignore a seção da "estrutura" (também chamada de esquema) no conjunto de dados e mapeamento de esquema na atividade de cópia.To achieve such schema-agnostic copy, skip the "structure" (also called schema) section in dataset and schema mapping in copy activity.

Mapeamento de esquemaSchema mapping

Para copiar dados do Atlas do MongoDB para o coletor tabular, consulte mapeamento de esquema.To copy data from MongoDB Atlas to tabular sink, refer to schema mapping.

Próximas etapasNext steps

Para obter uma lista de armazenamentos de dados com suporte como origens e coletores pela atividade de cópia no Azure Data Factory, consulte Armazenamentos de dados com suporte.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.