Руководство разработчика Функции Azure

В Функции Azure все функции используют некоторые основные технические понятия и компоненты независимо от предпочитаемого языка или среды разработки. Эта статья зависит от языка. Выберите предпочитаемый язык в верхней части статьи.

В этой статье предполагается, что вы уже читали обзор Функции Azure.

Если вы предпочитаете перейти прямо в систему, вы можете выполнить краткое руководство по Visual Studio, Visual Studio Code или из запроса command.

Если вы предпочитаете перейти вправо, вы можете выполнить краткое руководство по руководству по Maven (командная строка), EclipseIntelliJ IDEA, Gradle, Quarkus, Spring Cloud или Visual Studio Code.

Если вы предпочитаете перейти прямо в систему, вы можете выполнить краткое руководство с помощью Visual Studio Code или из запроса command.

Если вы предпочитаете перейти прямо в систему, вы можете выполнить краткое руководство с помощью Visual Studio Code или из запроса command.

Если вы предпочитаете перейти прямо в систему, вы можете выполнить краткое руководство с помощью Visual Studio Code или из запроса command.

Если вы предпочитаете перейти прямо в систему, вы можете выполнить краткое руководство с помощью Visual Studio Code или из запроса command.

Проект кода

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

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Подробные рекомендации по языку см. в руководстве разработчиков C#.

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Инструкции по языку см. в руководстве разработчиков Java.

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Инструкции по языку см. в руководстве разработчиков Node.js.

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Инструкции по языку см. в руководстве разработчиков PowerShell.

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Инструкции по языку см. в руководстве разработчиков Python.

Способ размещения проекта кода и способ указания методов в проекте зависит от языка разработки проекта. Для рекомендаций по языкам смотрите руководство для разработчиков Go.

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

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

Средства разработки

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

Эти средства интегрируются с Функции Azure Core Tools для запуска и отладки на локальном компьютере с помощью среды выполнения функций. Дополнительные сведения см. в разделе Code и тестирование Функции Azure локально.

Также есть редактор в Azure портале, который можно использовать для обновления кода и файлаfunction.json-definition прямо в портале. Используйте этот редактор только для небольших изменений или создания функций proof-of-concept. Всегда развивайте свои функции локально, когда это возможно. Дополнительные сведения см. в разделе Create вашей первой функции на портале Azure.

Редактирование портала поддерживается только для Node.js версии 3, которая использует файл function.json.

Развертывание

При публикации проекта кода в Azure вы фактически развертываете проект в существующем ресурсе приложения-функции. Приложение-функция предоставляет контекст выполнения в Azure, в котором выполняются функции. Таким образом, это единица развертывания и управления для ваших функций. С точки зрения Azure ресурсов приложение-функция эквивалентно ресурсу сайта (Microsoft.Web/sites) в Служба приложений Azure, что эквивалентно веб-приложению.

Функциональное приложение состоит из одной или нескольких отдельных функций, которыми вы управляете, внедряете и масштабируете их вместе. Все функции в приложении-функции используют один и тот же план ценообразования, метод развертывания и версию среды выполнения. Дополнительные сведения см. в статье "Управление приложением-функцией".

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

Помимо публикации на основе инструментов Функции поддерживают другие технологии для развертывания исходного кода в существующем приложении-функции. Дополнительные сведения см. в разделе Deployment в Функции Azure.

Подключение к службам

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

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

Стандартное хранилище хоста

При создании экземпляра приложения Functions Azure требуется учетная запись хранения Azure. Эта стандартная запись хранения используется внутри хоста Functions и некоторых расширений связывающихся.

Чтобы узнать о том, как безопасно определить соединения к учетной записи хранения по умолчанию, смотрите раздел «Определить соединения».

Привязки

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

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

Если возникают проблемы с ошибками, поступающими из привязок, см. документацию по Функции Azure коды ошибок привязки. Чтобы узнать о том, как безопасно определить соединения в привязках к удалёным сервисам, см. раздел «Определить соединения».

Общие свойства подключений на основе удостоверений

Идентификационные соединения для Функции Azure используют управляемые идентичности для аутентификации. Системная идентичность используется по умолчанию, но можно указать пользовательскую идентичность с credential свойствами and clientId . Для полной информации о настройке соединений на основе идентификации, включая обязательные настройки приложения и права RBAC, см. раздел «Определить управляемые идентификационные соединения».

Локальная разработка с использованием подключений на основе удостоверений

При локальной работе подключения на основе идентичности используют вашу идентичность разработчика (например, ваш вход в Azure CLI) вместо управляемой идентичности. Вам не обязательно устанавливать credential объекты clientId недвижимости во время локальной застройки. Дополнительные сведения см. в статье "Локальная разработка с использованием подключений на основе удостоверений".

Клиентские пакеты SDK

Хотя Functions предоставляет привязки для упрощения доступа к данным в вашем функциональном коде, вы также можете использовать клиентский SDK в вашем проекте для прямого доступа к конкретному сервису. Возможно, вам придётся использовать клиентские SDK напрямую, если ваши функции требуют функциональности базового SDK, не поддерживаемой расширением связывания. Код ваших функций не может получить доступ к базовым клиентам, используемым расширениями связывания. Вы должны самостоятельно создавать и управлять любыми клиентскими инстанциями, которые нужно использовать в своих функциях.

Учитывайте следующие вопросы при создании и использовании клиентских SDK в вашем функциональном коде:

  • Когда вы создаёте экземпляр клиентского SDK в своих функциях, получите необходимую клиенту информацию о соединении из переменных окружения.
  • Когда вы создаёте экземпляр клиентского SDK в своих функциях, получите необходимую клиенту информацию о соединении из переменных окружения.
  • Когда вы создаёте экземпляр клиентского SDK в своих функциях, получите необходимую клиенту информацию о соединении из переменных окружения.
  • Когда вы создаёте экземпляр клиентского SDK в своих функциях, получите необходимую клиенту информацию о соединении из переменных окружения.
  • Когда вы создаёте экземпляр клиентского SDK в своих функциях, получите необходимую клиенту информацию о соединении из переменных окружения.

Создание отчетов о проблемах

Позиция Описание Ссылка
Параметры выполнения Сервер сценариев, триггеры и привязки, языковая поддержка Файл проблемы
Шаблоны Проблемы с кодом при использовании шаблона создания Файл проблемы

Репозитории с открытым кодом

Код для Функции Azure является открытый код. Ключевые компоненты можно найти в этих репозиториях GitHub:

Дополнительные сведения см. на следующих ресурсах: