Поделиться через


Руководство. Функция Python с хранилищем очередей Azure в качестве триггера

В этом руководстве описано, как настроить функцию Python с очередью хранилища в качестве триггера, выполнив следующие задачи.

  • Используйте Visual Studio Code для создания проекта функции Python.
  • Используйте Visual Studio Code для локального запуска функции.
  • Используйте Azure CLI для создания подключения между функцией Azure и очередью хранилища с соединителем службы.
  • Используйте Visual Studio для развертывания функции.

Общие сведения о компонентах проекта функции в этом руководстве:

Компонент проекта Выбор или решение
Исходная служба функции Azure;
Целевая служба Очередь службы хранилища Azure
Привязка функции Очередь хранилища в качестве триггера
Тип проверки подлинности локального проекта Строка подключения
Тип проверки подлинности облачной функции Строка подключения

Предупреждение

Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.

Необходимые компоненты

Создание проекта функции Python

Следуйте инструкциям, чтобы создать локальный проект Функции Azure и укажите следующие сведения в запросах:

Prompt Выбор
Выбор языка Выберите Python. (модель языка программирования версии 1)
Выберите интерпретатор Python для создания виртуальной среды Выберите предпочтительный интерпретатор Python. Если нужный вариант не отображается, введите полный путь к двоичному файлу Python.
Выбор шаблона для первой функции проекта Выберите Azure Queue Storage trigger.
Укажите имя функции Введите QueueStorageTriggerFunc.
Select setting from "local.settings.json" (Выберите параметр из файла local.settings.json) Выберите Create new local app settings, который позволяет выбрать учетную запись хранения и указать имя очереди, которая работает в качестве триггера.

Вы создали проект функции Python с служба хранилища Azure очередью в качестве триггера. Локальный проект подключается к служба хранилища Azure с помощью строка подключения, сохраненной local.settings.json в файле. Наконец, функция в __init__.py файле функции может использовать строка подключения с помощью привязки функции, main определенной function.json в файле.

Локальное выполнение функции

Следуйте инструкциям из руководства, чтобы выполнить функцию локально и проверить триггер.

  1. Выберите учетную запись хранения, выбранную при создании ресурса функции Azure, если вам будет предложено подключиться к хранилищу. Это значение используется для среды выполнения функции Azure, и оно не обязательно совпадает с учетной записью хранения, используемой для триггера.
  2. Чтобы запустить функцию локально, нажмите <kbd>клавишу F5 </kbd> или щелкните значок запуска и отладки на панели действий слева.
  3. Чтобы проверить правильность работы триггера, оставьте функцию локальной и откройте область очередей хранилища в портал Azure, выберите "Добавить сообщение" и укажите тестовое сообщение. Вы должны увидеть, что функция активируется и обрабатывается как элемент очереди в терминале Visual Studio Code.

Создание подключения с помощью соединителя службы

На последнем шаге вы проверили проект функции локально. Теперь вы узнаете, как настроить подключение между функцией Azure и очередью служба хранилища Azure в облаке, чтобы ее можно было активировать в очереди хранилища после развертывания в облаке.

  1. function.json Откройте файл в локальном проекте, измените значение connection свойства.bindingsAZURE_STORAGEQUEUE_CONNECTIONSTRING
  2. Выполните следующую команду Azure CLI, чтобы создать подключение между функцией Azure и учетной записью хранения Azure.
az functionapp connection create storage-queue --source-id "<your-function-resource-id>" --target-id "<your-storage-queue-resource-id>" --secret
  • --source-id формат: /subscriptions/{subscription}/resourceGroups/{source_resource_group}/providers/Microsoft.Web/sites/{site}
  • --target-id формат: /subscriptions/{subscription}/resourceGroups/{target_resource_group}/providers/Microsoft.Storage/storageAccounts/{account}/queueServices/default

На этом шаге создается ресурс соединителя служб, который настраивает AZURE_STORAGEQUEUE_CONNECTIONSTRING переменную в параметрах приложения функции. Среда выполнения привязки функции использует ее для подключения к хранилищу, чтобы функция может принимать триггеры из очереди хранилища. Дополнительные сведения см. в статье о том, как соединитель служб помогает Функции Azure подключаться к службам.

Развертывание функции в Azure

Теперь вы можете развернуть функцию в Azure и проверить работу триггера очереди хранилища.

  1. Следуйте инструкциям из этого руководства Функции Azure, чтобы развернуть функцию в Azure.
  2. Откройте область очередей хранилища в портал Azure, выберите "Добавить сообщение" и укажите тестовое сообщение. Вы увидите, что функция активируется и обрабатывается как элемент очереди в журналах функций.

Устранение неполадок

Если возникают ошибки, связанные с узлом хранилища, напримерNo such host is known (<account-name>.queue.core.windows.net:443), проверьте, используется ли строка подключения для подключения к служба хранилища Azure содержит конечную точку очереди или нет. Если это не так, перейдите к служба хранилища Azure в портал Azure, скопируйте строка подключения из Access keys области и замените значения.

Если эта ошибка возникает при локальном запуске проекта, проверьте local.settings.json файл.

Если эта ошибка возникает при развертывании функции в облаке (в данном случае развертывание функции обычно завершается сбоем Syncing triggers ), проверьте параметры приложения функции.

Очистка ресурсов

Если вы не собираетесь продолжать использовать этот проект, удалите ресурс приложения-функции, созданный ранее.

  1. В портал Azure откройте ресурс приложения-функции и нажмите кнопку "Удалить".
  2. Введите имя приложения и нажмите кнопку "Удалить ", чтобы подтвердить.

Следующие шаги

Ознакомьтесь со статьями ниже, чтобы узнать больше о концепциях соединителя служб и о том, как он помогает Функции Azure подключаться к службам.