События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure
Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия Copy в конвейере Фабрики данных Azure или Azure Synapse Analytics копировать данные из базы данных MongoDB Atlas и в нее. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Соединитель MongoDB Atlas поддерживается для следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/приемник) | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в таблице Поддерживаемые хранилища данных.
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
Выполните приведенные ниже действия, чтобы создать связанную службу для MongoDB Atlas с помощью пользовательского интерфейса на портале Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Найдите MongoDB Atlas и выберите соединитель MongoDB Atlas.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Следующие разделы содержат сведения о свойствах, которые используются для определения сущностей Фабрики данных, относящихся к соединителю MongoDB Atlas.
Для связанной службы MongoDB Atlas поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства type необходимо задать значение MongoDbAtlas. | Да |
connectionString | Укажите строку подключения MongoDB Atlas, например mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties> . Строку подключения можно хранить в Azure Key Vault. Дополнительные сведения см. в разделе Хранение учетных данных в Azure Key Vault. |
Да |
database | Имя базы данных, к которой нужно получить доступ. | Да |
driverVersion | Укажите версию драйвера версии 2, которая поддерживает MongoDB версии 3.6 и выше. Дополнительные сведения см. в этой статье. | No |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | No |
Пример:
{
"name": "MongoDbAtlasLinkedService",
"properties": {
"type": "MongoDbAtlas",
"typeProperties": {
"connectionString": "mongodb+srv://<username>:<password>@<clustername>.<randomString>.<hostName>/<dbname>?<otherProperties>",
"database": "myDatabase",
"driverVersion": "<driver version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Полный список разделов и свойств, используемых для определения наборов данных, приведен в статье Наборы данных и связанные службы в фабрике данных Azure. Для набора данных MongoDB Atlas поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type набора данных должно иметь значение MongoDbAtlasCollection. | Да |
collectionName | Имя коллекции в базе данных MongoDB Atlas. | Да |
Пример:
{
"name": "MongoDbAtlasDataset",
"properties": {
"type": "MongoDbAtlasCollection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB Atlas linked service name>",
"type": "LinkedServiceReference"
}
}
}
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником и приемником MongoDB Atlas.
В разделе source действия копирования поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type источника действия копирования должно иметь значение MongoDbAtlasSource. | Да |
Фильтр | Задает фильтр выбора с помощью операторов запросов. Чтобы получить все документы в коллекции, не указывайте этот параметр или передайте пустой документ ({}). | No |
cursorMethods.project | Определяет, какие поля в документах для проекции необходимо получить. Чтобы получить все поля в соответствующих документах, не указывайте этот параметр. | No |
cursorMethods.sort | Определяет, в каком порядке запрос будет возвращать соответствующие документы. См. cursor.sort(). | No |
cursorMethods.limit | Определяет максимальное количество документов, возвращаемых сервером. См. cursor.limit(). | No |
cursorMethods.skip | Определяет, сколько документов нужно пропустить, прежде чем MongoDB Atlas начнет выдавать результаты. См. cursor.skip(). | No |
batchSize | Определяет, сколько документов должно быть выдано в каждом пакете ответа от экземпляра MongoDB Atlas. В большинстве случаев изменение размера пакета не влияет на пользователя или приложение. Azure Cosmos DB ограничивает размер каждого пакета не может превышать 40 МБ, что является суммой размера пакетаSize количества документов, поэтому уменьшите это значение, если размер документа велик. | No (значение по умолчанию — 100) |
Совет
Эта служба поддерживает использование документа BSON в строгом режиме. Убедитесь в том, что запрос фильтра находится в строгом режиме, а не в режиме оболочки. Более подробное описание см. в руководстве MongoDB.
Пример:
"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>"
}
}
}
]
В разделе sink действия копирования поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type приемника действия копирования должно иметь значение MongoDbAtlasSink. | Да |
writeBehavior | Описание процесса записи данных в MongoDB Atlas. Допустимые значения: insert и upsert. Поведение upsert — замена документа, если документ с таким значением _id уже существует. В противном случае выполняется вставка документа.Примечание. Служба автоматически создает _id для документа, если _id не указан в исходном документе или при сопоставлении столбцов. Это означает, что для правильной работы upsert у документа должен быть идентификатор. |
No (По умолчанию используется insert.) |
writeBatchSize | Свойство writeBatchSize определяет размер документов для записи в каждом пакете. Вы можете увеличить значение writeBatchSize для повышения производительности или уменьшить значение, если документ большого размера. | No (Значение по умолчанию — 10 000.) |
writeBatchTimeout | Время ожидания до выполнения операции пакетной вставки, пока не истечет срок ее действия. Разрешенным значением является временной диапазон. | No (по умолчанию используется 00:30:00 — 30 минут) |
Совет
Чтобы импортировать документы JSON без изменений, см. раздел Импорт или экспорт документов JSON; чтобы копировать из данных в табличной форме, см. раздел Сопоставление схем.
Пример
"activities":[
{
"name": "CopyToMongoDBAtlas",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Document DB output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "MongoDbAtlasSink",
"writeBehavior": "upsert"
}
}
}
]
С помощью этого соединителя MongoDB Atlas можно легко:
Для такого независимого от схемы копирования пропустите раздел "структура" (также называемый схема) в наборе данных и сопоставление схемы в действии копирования.
Чтобы скопировать данные из MongoDB Atlas в табличный приемник или наоборот, см. раздел Сопоставление схем.
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.
События
31 мар., 23 - 2 апр., 23
Самое большое событие обучения Fabric, Power BI и SQL. 31 марта – 2 апреля. Используйте код FABINSIDER, чтобы сэкономить $400.
Зарегистрироваться сегодняОбучение
Модуль
Миграция локальных баз данных MongoDB в Cosmos DB - Training
Миграция локальных баз данных MongoDB в Cosmos DB
Сертификация
Сертификация Майкрософт: специальность "Разработчик Azure Cosmos DB" - Certifications
Создавайте эффективные запросы, создавайте политики индексирования, управляйте и подготавливайте ресурсы в API SQL и пакете SDK с помощью Microsoft Azure Cosmos DB.