Общие сведения о Функциях AzureAn introduction to Azure Functions

Функции Azure — это решение для быстрого запуска фрагментов кода (функций) в облаке.Azure Functions is a solution for easily running small pieces of code, or "functions," in the cloud. Вы можете быстро написать код для решения своих задач, не беспокоясь о наличии приложения или инфраструктуры для его выполнения.You can write just the code you need for the problem at hand, without worrying about a whole application or the infrastructure to run it. Функции Azure повышают производительность при разработке. Кроме того, вы можете использовать такие языки программирования, как C#, Java, JavaScript, PowerShell и Python.Functions can make development even more productive, and you can use your development language of choice, such as C#, Java, JavaScript, PowerShell, and Python. Оплата взимается только один раз при выполнении кода, а масштабирование в Azure выполняется при необходимости.Pay only for the time your code runs and trust Azure to scale as needed. Функции Azure предоставляют возможность разрабатывать в Microsoft Azure независимые от сервера приложения.Azure Functions lets you develop serverless applications on Microsoft Azure.

В этой статье представлен общий обзор функций Azure.This topic provides a high-level overview of Azure Functions. Чтобы приступить к работе с Функциями Azure сразу, создайте первую функцию Azure.If you want to jump right in and get started with Functions, start with Create your first Azure Function. Дополнительные технические сведения о Функциях см. в статье Справочник разработчика по функциям Azure.If you are looking for more technical information about Functions, see the developer reference.

ФункцииFeatures

Вот несколько ключевых возможностей Функций Azure:Here are some key features of Functions:

  • Выбор языка — возможность написания функций на удобном для вас языке, например C#, Java, Javascript, Python и других.Choice of language - Write functions using your choice of C#, Java, Javascript, Python, and other languages. Полный список см. в статье Supported languages in Azure Functions (Поддерживаемые языки в Функциях Azure).See Supported languages for the complete list.
  • Модель ценообразования с оплатой за использование — оплата только за время, в течение которого выполняется код.Pay-per-use pricing model - Pay only for the time spent running your code. Дополнительные сведения см. в разделе о расценках (план потребления).See the Consumption hosting plan option in the pricing section.
  • Использование собственных зависимостей — Функции поддерживают NuGet и NPM, поэтому можно использовать предпочитаемые библиотеки.Bring your own dependencies - Functions supports NuGet and NPM, so you can use your favorite libraries.
  • Встроенная система безопасности — вы можете защитить функции с HTTP-активацией, которые используют поставщики OAuth (Azure Active Directory, Facebook, Google, Twitter и учетная запись Майкрософт).Integrated security - Protect HTTP-triggered functions with OAuth providers such as Azure Active Directory, Facebook, Google, Twitter, and Microsoft Account.
  • Упрощенная интеграция — вы можете легко пользоваться службами Azure и предложениями SaaS (программное обеспечение как услуга).Simplified integration - Easily leverage Azure services and software-as-a-service (SaaS) offerings. Примеры см. в разделе Интеграция.See the integrations section for some examples.
  • Гибкая разработка — вы можете программировать функции на портале, а также настраивать непрерывную интеграцию и развертывание кода с помощью GitHub, Azure DevOps Services и других поддерживаемых средств разработки.Flexible development - Code your functions right in the portal or set up continuous integration and deploy your code through GitHub, Azure DevOps Services, and other supported development tools.
  • Открытый код — среда выполнения Функций имеет открытый исходный код, доступный на GitHub.Open-source - The Functions runtime is open-source and available on GitHub.

Что можно сделать с помощью функцийWhat can I do with Functions?

Функции Azure — это идеальное решение для обработки данных, интеграции систем, работы с Интернетом вещей (IoT) и создания простых API-интерфейсов и микрослужб.Functions is a great solution for processing data, integrating systems, working with the internet-of-things (IoT), and building simple APIs and microservices. Используйте Функции для обработки изображений или заказов, обслуживания файлов или для любых задач, выполняемых по расписанию.Consider Functions for tasks like image or order processing, file maintenance, or for any tasks that you want to run on a schedule.

Функции содержат шаблоны, которые помогут приступить к работе, и ключевые сценарии, включая следующие:Functions provides templates to get you started with key scenarios, including the following:

  • HTTPTrigger — активация выполнения кода с помощью HTTP-запроса.HTTPTrigger - Trigger the execution of your code by using an HTTP request. Пример см. в статье Создание первой функции на портале Azure.For an example, see Create your first function.
  • TimerTrigger — выполнение очистки или других пакетных задач на основе предопределенного расписания.TimerTrigger - Execute cleanup or other batch tasks on a predefined schedule. Пример см. в статье Создание в Azure функции, активируемой по таймеру.For an example, see Create a function triggered by a timer.
  • CosmosDBTrigger — обработка документов Azure Cosmos DB при их добавлении или обновлении в коллекциях в базе данных, отличной от SQL.CosmosDBTrigger - Process Azure Cosmos DB documents when they are added or updated in collections in a NoSQL database. Ознакомьтесь с дополнительными сведениями о ценах на Azure Cosmos DB.For more information, see Azure Cosmos DB bindings.
  • BlobTrigger — обработка больших двоичных объектов службы хранилища Azure при добавлении в контейнер.BlobTrigger - Process Azure Storage blobs when they are added to containers. Эту функцию можно использовать для изменения размеров изображения.You might use this function for image resizing. Дополнительные сведения см. в статье Привязки хранилища BLOB-объектов для Функций Azure.For more information, see Blob storage bindings.
  • QueueTrigger — обработка сообщений, помещаемых в очереди службы хранилища Azure.QueueTrigger - Respond to messages as they arrive in an Azure Storage queue. Дополнительные сведения см. в статье Привязки очередей службы хранилища для Azure.For more information, see Azure Queue storage bindings.
  • EventGridTrigger — отвечает на события, доставляемые с подпиской в Сетке событий Azure.EventGridTrigger - Respond to events delivered to a subscription in Azure Event Grid. Поддерживает модель на основе подписки для получения событий, включая фильтрацию.Supports a subscription-based model for receiving events, which includes filtering. Отличное решение по созданию архитектуры на основе событий.A good solution for building event-based architectures. Больше примеров см. в статье Руководство. Автоматическое изменение размера переданных изображений с помощью службы "Сетка событий".For an example, see Automate resizing uploaded images using Event Grid.
  • EventHubTrigger — реагирование на события, доставляемые в концентратор событий Azure.EventHubTrigger - Respond to events delivered to an Azure Event Hub. Особенно полезно в сценариях инструментирования приложений, обеспечения удобства работы пользователей или функционирования рабочих процессов, а также Интернета вещей.Particularly useful in application instrumentation, user experience or workflow processing, and internet-of-things (IoT) scenarios. Дополнительные сведения см. в статье о привязках Центров событий.For more information, see Event Hubs bindings.
  • ServiceBusQueueTrigger — подключение кода к другим службам Azure или локальным службам посредством ожидания передачи данных из очередей сообщений.ServiceBusQueueTrigger - Connect your code to other Azure services or on-premises services by listening to message queues. Дополнительные сведения см. в статье Привязки служебной шины в Функциях Azure.For more information, see Service Bus bindings.
  • ServiceBusTopicTrigger — подключение кода к другим службам Azure или локальным службам посредством подписки на разделы.ServiceBusTopicTrigger - Connect your code to other Azure services or on-premises services by subscribing to topics. Дополнительные сведения см. в статье Привязки служебной шины в Функциях Azure.For more information, see Service Bus bindings.

Функции Azure поддерживают триггеры, позволяющие запускать выполнение кода, и привязки, позволяющие упростить программирование входных и выходных данных.Azure Functions supports triggers, which are ways to start execution of your code, and bindings, which are ways to simplify coding for input and output data. Подробное описание триггеров и привязок в Функциях Azure см. в статье Справочник разработчика по триггерам и привязкам в Функциях Azure.For a detailed description of the triggers and bindings that Azure Functions provides, see Azure Functions triggers and bindings developer reference.

ИнтеграцияIntegrations

Функции Azure интегрируются с различными службами Azure, а также службами сторонних поставщиков.Azure Functions integrates with various Azure and 3rd-party services. Эти службы могут активировать функцию и запустить выполнение. Кроме того, их можно использовать в качестве входных и выходных данных кода.These services can trigger your function and start execution, or they can serve as input and output for your code. Функции Azure поддерживают интеграцию со следующими службами:The following service integrations are supported by Azure Functions:

  • Azure Cosmos DBAzure Cosmos DB
  • Центры событий AzureAzure Event Hubs
  • Сетка событий AzureAzure Event Grid
  • Концентраторы уведомлений AzureAzure Notification Hubs
  • служебная шина Azure (очереди и разделы);Azure Service Bus (queues and topics)
  • служба хранилища Azure (большие двоичные объекты, очереди и таблицы);Azure Storage (blob, queues, and tables)
  • локальные службы (с использованием служебной шины).On-premises (using Service Bus)
  • Twilio (SMS-сообщения).Twilio (SMS messages)

Расценки на использование ФункцийHow much does Functions cost?

В службе "Функции Azure" существует два вида тарифных планов.Azure Functions has two kinds of pricing plans. Выберите тот, который лучше всего соответствует вашим потребностям:Choose the one that best fits your needs:

  • План потребления. Когда функция выполняется, Azure предоставляет для нее все необходимые вычислительные ресурсы.Consumption plan - When your function runs, Azure provides all of the necessary computational resources. Вам не нужно беспокоиться об управлении ресурсами. Вы платите только за то время, в течение которого выполняется код.You don't have to worry about resource management, and you only pay for the time that your code runs.
  • План службы приложений — запускает функции таким же образом, как и веб-приложения.App Service plan - Run your functions just like your web apps. Если служба приложений уже используется для других приложений, функции можно запускать в том же плане без дополнительной оплаты.When you are already using App Service for your other applications, you can run your functions on the same plan at no additional cost.

Дополнительные сведения о планах размещения см. в статье Планы потребления и службы приложений Функций Azure.For more information about hosting plans, see Azure Functions hosting plan comparison. Подробные сведения о ценообразовании см. на странице с информацией о ценах на Функции Azure.Full pricing details are available on the Functions Pricing page.

Дальнейшие действияNext Steps