Обработка и создание документов Azure Cosmos DB с помощью Azure Logic Apps
Мақала
Область применения: Azure Logic Apps (Потребление + Стандартный)
Из рабочего процесса в Azure Logic Apps вы можете подключиться к Azure Cosmos DB и работать с документами с помощью соединителя Azure Cosmos DB. Этот соединитель предоставляет триггеры и действия, которые рабочий процесс может использовать для операций Azure Cosmos DB. Например, действия включают создание или обновление, чтение, запрос и удаление документов.
Вы можете подключиться к Azure Cosmos DB из типов ресурсов приложения логики (потребления) и приложения логики (стандартная версия) с помощью операций управляемого соединителя . Для приложения логики (стандартный) Azure Cosmos DB также предоставляет встроенные операции, которые в настоящее время находятся в предварительной версии и предлагают различные функциональные возможности, более высокую производительность и более высокую пропускную способность. Например, если вы работаете с типом ресурсов приложения логики (стандартный), можно использовать встроенный триггер для реагирования на изменения в контейнере Azure Cosmos DB. Вы можете объединить операции Azure Cosmos DB с другими действиями и триггерами в рабочих процессах приложения логики, чтобы обеспечить такие сценарии, как источник событий и общая обработка данных.
Ограничения
В настоящее время только рабочие процессы с отслеживанием состояния в ресурсе приложения логики (стандартный) могут использовать как управляемые операции соединителя, так и встроенные операции. Рабочие процессы без отслеживания состояния могут использовать только встроенные операции.
Соединитель Azure Cosmos DB поддерживает только учетные записи Azure Cosmos DB, созданные с помощью Azure Cosmos DB для NoSQL.
Рабочий процесс приложения логики, из которого требуется получить доступ к учетной записи Azure Cosmos DB. Чтобы использовать триггер Azure Cosmos DB, необходимо создать приложение логики с помощью типа ресурса Приложения логики (стандартный) и добавить пустой рабочий процесс.
Добавление триггера Azure Cosmos DB
В Azure Logic Apps каждый рабочий процесс должен начинаться с триггера, который запускается, когда происходит определенное событие или когда выполняется определенное условие.
Если вы работаете с типом ресурса приложения логики (стандартный ), встроенный триггер, вызываемый при создании или изменении элемента (предварительная версия), доступен и основан на шаблоне канала изменений Azure Cosmos DB. Этот триггер недоступен для типа ресурса приложения логики (потребления ).
На вкладке "Параметры" укажите необходимые сведения для триггера.
Свойство
Обязательное поле
значение
Описание
Идентификатор базы данных
Да
<
имя базы данных>
Имя базы данных с контейнером, который требуется отслеживать. Эта база данных также должна иметь контейнер аренды. Если у вас еще нет контейнера аренды, соединитель создаст его для вас на следующем шаге.
Отслеживаемый идентификатор контейнера
Да
<
имя_контейнера>
Имя контейнера, который требуется отслеживать. Этот контейнер уже должен существовать в указанной базе данных.
Идентификатор контейнера аренды
Да
<
lease-container-name>
Имя существующего контейнера аренды или нового контейнера, созданного для вас. Триггер предварительно заполняется leases как общее имя по умолчанию.
Создание контейнера аренды
No
Нет или да
Если контейнер аренды уже существует в указанной базе данных, выберите "Нет". Если вы хотите создать этот контейнер, нажмите кнопку "Да". Если вы выберете "Да " и используете ручную пропускную способность для каждого контейнера, откройте список "Добавить новый параметр ", чтобы выбрать свойство пропускной способности контейнера аренды. Введите количество единиц запросов (ЕЗ), которые требуется подготовить для этого контейнера.
На следующем рисунке показан пример триггера:
Ескерім
Триггер создаст несколько выполнения рабочих процессов для каждого элемента, созданного или измененного в Azure Cosmos DB, поэтому динамические выходные данные содержимого этого триггера всегда являются одним элементом.
Добавьте другие действия, которые вы хотите выполнить в рабочий процесс.
На панели инструментов конструктора выберите Сохранить.
Добавление действия Azure Cosmos DB
В Azure Logic Apps действие — это шаг в рамках рабочего процесса, выполняемый после срабатывания триггера или другого действия. Соединитель Azure Cosmos DB предлагает действия для типов ресурсов приложения логики (потребления) и приложения логики (стандартный ). В следующих примерах для каждого типа ресурса показано, как использовать действие, которое создает или обновляет документ.
Выберите " Использовать параметры подключения" (<Azure-Cosmos-DB-account-name>)или введите имя вручную.
Имя учетной записи Azure Cosmos DB.
Идентификатор базы данных
Да
<
идентификатор базы данных>
База данных, которую требуется подключить.
Идентификатор контейнера
Да
<
идентификатор контейнера>
Контейнер, который требуется запрашивать.
Документ
Да
<
JSON-document>
Документ JSON, который требуется создать. В этом примере используется текст запроса из выходных данных триггера.
Совет. Если маркер текста триггера HTTP не отображается в списке динамического содержимого для добавления, рядом с именем триггера нажмите кнопку "Дополнительные сведения".
Примечание. Убедитесь, что текст хорошо сформирован JSON, а как минимум содержит id свойство и свойство ключа секции для документа. Если документ с указанным id ключом секции уже существует, документ обновляется. В противном случае создается новый документ.
На следующем рисунке показан пример действия:
При необходимости настройте любые другие параметры действия.
На панели инструментов конструктора выберите Сохранить.
Проверьте приложение логики, чтобы убедиться, что рабочий процесс создает документ в указанном контейнере.
Чтобы добавить действие Azure Cosmos DB в рабочий процесс приложения логики в одном клиенте Azure Logic Apps, выполните следующие действия.
Если рабочий процесс пуст, добавьте любой нужный триггер.
В этом примере начинается триггер получения HTTP-запроса, который использует базовое определение схемы для представления создаваемого элемента.
В разделе триггера или действия, в котором требуется добавить действие Azure Cosmos DB, выберите "Вставить новый шаг " (+) >Добавить действие.
В конструкторе убедитесь, что выбрана операция "Добавить".В открывающемся окне "Добавление действия" в поле "Выбор операции" выберите "Встроенный", чтобы найти действия Azure Cosmos DB.
Ескерім
Если у вас есть рабочий процесс с отслеживанием состояния, действия управляемых соединителей также доступны на вкладке Azure, но используйте их только в том случае, если нужные действия недоступны.
В поле поиска введите Azure Cosmos DB. Выберите действие Azure Cosmos DB, которое вы хотите использовать.
В этом примере используется действие с именем Create or update item (preview), которое создает новый элемент или обновляет существующий элемент.
Документ JSON, который требуется создать. В этом примере используется текст запроса из выходных данных триггера.
Совет. Если маркер текста триггера HTTP не отображается в списке динамического содержимого для добавления, рядом с именем триггера нажмите кнопку "Дополнительные сведения".
Примечание. Убедитесь, что текст хорошо сформирован JSON, а как минимум содержит id свойство и свойство ключа секции для документа. Если документ с указанным id ключом секции уже существует, документ обновляется. В противном случае создается новый документ.
Ключ секции
No
<
ключ секции>
Значение ключа секции для создаваемого документа.
На следующем рисунке показан пример действия:
При необходимости настройте любые другие параметры действия.
На панели инструментов конструктора выберите Сохранить.
Проверьте приложение логики, чтобы убедиться, что рабочий процесс создает документ в указанном контейнере.
Подключение к Azure Cosmos DB
При добавлении триггера или действия, которое подключается к службе или системе, и у вас нет существующего или активного подключения, Azure Logic Apps предложит предоставить сведения о подключении, которые зависят от типа подключения, например:
Учетные данные учетной записи
Имя, используемое для подключения
Имя сервера или системы
Тип проверки подлинности
Строка подключения
Прежде чем настроить триггер Azure Cosmos DB или действие Azure Cosmos DB, необходимо подключиться к учетной записи базы данных.
В рабочем процессе приложения логики (потребления) подключение Azure Cosmos DB требует следующих значений свойств:
Свойство
Обязательное поле
значение
Описание
Имя подключения
Да
<
имя_соединения>
Имя, используемое для подключения.
Тип проверки подлинности
Да
<
тип подключения>
Тип аутентификации, который будет использоваться. В этом примере используется ключ доступа.
— Если выбрать ключ доступа, укажите оставшиеся необходимые значения свойств для создания соединения.
— Если выбрана встроенная служба Microsoft Entra, другие значения свойств не требуются, но необходимо настроить подключение, выполнив действия по проверке подлинности Microsoft Entra и соединителю Azure Cosmos DB.
Ключ доступа к учетной записи Azure Cosmos DB
Да
<
ключ доступа>
Ключ доступа для учетной записи Azure Cosmos DB, используемой для этого подключения. Это значение является ключом для чтения и записи или ключом только для чтения.
Примечание. Чтобы найти ключ, перейдите на страницу учетной записи Azure Cosmos DB. В меню навигации в разделе "Параметры" выберите "Ключи". Скопируйте одно из доступных значений ключей.
Идентификатор учетной записи
Да
<
идентификатор учетной записи>
Имя учетной записи Azure Cosmos DB, используемой для этого подключения.
На следующем рисунке показан пример подключения:
Ескерім
После создания подключения, если у вас есть другое существующее подключение Azure Cosmos DB, которое вы хотите использовать, или если вы хотите создать другое подключение, выберите "Изменить подключение" в редакторе сведений о триггере или действии.
В рабочем процессе приложения логики (стандартный) подключение Azure Cosmos DB требует следующих значений свойств:
Свойство
Обязательное поле
значение
Описание
Имя подключения
Да
<
имя_соединения>
Имя, используемое для подключения.
Строка подключения
Да
<
connection-string>
Строка подключения Azure Cosmos DB для подключения.
Примечание. Чтобы найти строка подключения, перейдите на страницу учетной записи Azure Cosmos DB. В меню навигации в разделе "Параметры" выберите "Ключи". Скопируйте одно из доступных значений строка подключения.
На следующем рисунке показан пример подключения:
Ескерім
После создания подключения, если у вас есть другое существующее подключение Azure Cosmos DB, которое вы хотите использовать, или если вы хотите создать другое подключение, выберите "Изменить подключение" в редакторе сведений о триггере или действии.
Справочник по соединителям
Справочные сведения об операциях управляемого соединителя Azure Cosmos DB, таких как триггеры, действия и ограничения, просмотрите справочную страницу соединителя.
Для встроенных операций Azure Cosmos DB не существует соответствующей справочной страницы. Вместо этого ознакомьтесь со следующей таблицей для получения дополнительных сведений:
Тип
Имя.
Параметры
Триггер
При создании или изменении элемента
-
Идентификатор базы данных: обязательный. Имя базы данных с отслеживаемых и арендных контейнеров.
-
Отслеживаемый идентификатор контейнера: обязательный. Имя отслеживаемого контейнера.
-
Идентификатор контейнера аренды: обязательный. Имя контейнера, используемого для хранения аренды.
-
Создание контейнера аренды: обязательный. Если задано значение true, создайте контейнер аренды, если он еще не существует.
-
Пропускная способность контейнера аренды: необязательно. Количество единиц запросов, назначаемых при создании контейнера аренды.
Действие
Создание или обновление элемента
-
Идентификатор базы данных: обязательный. Имя базы данных.
-
Идентификатор контейнера: обязательный. Имя контейнера.
-
Элемент: обязательный. Элемент для создания или обновления.
-
Ключ секции: необязательный. Значение ключа секции для запрошенного элемента.
-
Является Upsert: необязательный. Если значение true, замените элемент, если он существует. В противном случае создайте элемент.
Действие
Создание или обновление множества элементов в массовом режиме
Это действие оптимизировано для сценариев высокой пропускной способности и имеет дополнительную обработку перед отправкой элементов, которые будут созданы в контейнере Azure Cosmos DB. Для большого количества элементов эта дополнительная обработка ускоряет общее время запроса. Для небольших чисел элементов эта дополнительная нагрузка может привести к замедлению производительности, чем при использовании нескольких действий создания одного элемента.
-
Идентификатор базы данных: обязательный. Имя базы данных.
-
Идентификатор контейнера: обязательный. Имя контейнера.
-
Элементы: обязательный. Массив элементов для создания или обновления.
-
Является Upsert: необязательный. Если значение true, замените элемент, если он существует. В противном случае создайте элемент.
Действие
Чтение элемента
-
Идентификатор базы данных: обязательный. Имя базы данных.
-
Идентификатор контейнера: обязательный. Имя контейнера.
-
Идентификатор элемента: обязательный.
id Значение запрошенного элемента.
-
Ключ секции: обязательный. Значение ключа секции для запрошенного элемента.
Действие
Удаление элемента
-
Идентификатор базы данных: обязательный. Имя базы данных.
-
Обязательный идентификатор контейнера. Имя контейнера.
-
Идентификатор элемента: обязательный.
id Значение запрошенного элемента.
-
Ключ секции: обязательный. Значение ключа секции для запрошенного элемента.
Действие
Элементы запроса
-
Идентификатор базы данных: обязательный. Имя базы данных.
-
Идентификатор контейнера: обязательный. Имя контейнера.
-
Sql Query: обязательный. Текст sql-запроса Azure Cosmos DB.
-
Ключ секции: необязательный. Значение ключа секции для запроса, если таковой имеется.
-
Токен продолжения: необязательный. Маркер продолжения для этого запроса, предоставленный службой Azure Cosmos DB, если таковой есть.
-
Максимальное число элементов: необязательно. Максимальное количество элементов для возвращаемого запроса.
Рекомендации по встроенным операциям Azure Cosmos DB
Получение итерируемых результатов из действия "Элементы запроса"
Встроенное действие "Элементы запроса" в рабочем процессе приложения логики (стандартный) содержит множество динамических выходных данных содержимого, доступных для использования в последующих действиях. Чтобы получить элементы результатов запроса или метаданные элемента в качестве итерируемого объекта, выполните следующие действия.
В разделе триггера или действия, в котором требуется добавить действие Azure Cosmos DB, выберите "Вставить новый шаг " (+) >Добавить действие.
В конструкторе убедитесь, что выбрана операция "Добавить".В открывающемся окне "Добавление действия" в поле "Выбор операции" выберите "Встроенный", чтобы найти действия Azure Cosmos DB.
В поле поиска введите Azure Cosmos DB.
Выберите действие "Запрос" (предварительная версия).
При необходимости настройте любые другие параметры действия.
В разделе действия выберите "Вставить новый шаг " (+) >Добавить действие.
В открывающейся области "Добавление действия" выберите действие, которое требуется выполнить во всех элементах результатов запроса.
В этом примере используется встроенное действие Azure Cosmos DB с именем Delete an item (preview).
В добавленном ранее действии можно получить доступ к данным из выходных данных действия запроса. Щелкните внутри любого из полей входных данных в этом действии, чтобы появится динамический список содержимого. Выберите любой из доступных элементов ответа или выберите дополнительные варианты.
В этом примере идентификатор элемента ответа в поле "Идентификатор элемента" используется для заполнения идентификаторов на основе результатов запроса.
После выбора элемента ответа каждое действие автоматически добавляется для итерации всех результатов запроса. Для каждого цикла содержится действие, которое вы ранее добавили. Вы можете добавить любые другие действия, которые вы хотите выполнить в цикл.
На панели инструментов конструктора выберите Сохранить.
Проверьте приложение логики, чтобы убедиться, что рабочий процесс возвращает ожидаемые выходные данные.
Создавайте эффективные запросы, создавайте политики индексирования, управляйте и подготавливайте ресурсы в API SQL и пакете SDK с помощью Microsoft Azure Cosmos DB.