Использование языка F# в Azure

F# — это великолепный язык для облачного программирования, который часто используется для создания веб-приложений, облачных служб, размещаемых в облаке микрослужб, а также для масштабируемой обработки данных.

В следующих разделах приведены ресурсы по использованию различных служб Azure с F#.

Примечание

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

Использование виртуальных машин Azure с F#

Azure поддерживает широкий спектр конфигураций виртуальных машин (ВМ), см. статью Linux и виртуальные машины Azure.

Чтобы установить F# на виртуальной машине для выполнения, компиляции кода и/или написания скриптов, см. статьи Использование F# в Linux и Использование F# в Windows.

Использование Функций Azure с F#

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

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

Другие ресурсы, посвященные использованию Функций Azure и F#.

Использование службы хранилища Azure с F#

Служба хранилища Azure является базовым уровнем служб хранения для современных приложений, которым необходима устойчивость, доступность и масштабируемость для удовлетворения потребностей пользователей. Программы на F# могут напрямую взаимодействовать со службами хранилища Azure посредством методик, описанных в следующих статьях.

Службу хранилища Azure также можно использовать совместно с Функциями Azure посредством декларативной конфигурации вместо явных вызовов API. В статье Триггеры и привязки Функций Azure для службы хранилища Azure приведены примеры на F#.

Использование Службы приложений Azure с F#

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

Использование Apache Spark с F# на платформе Azure HDInsight или Azure Databricks

Apache Spark для Azure HDInsight — это платформа обработки с открытым исходным кодом, в которой выполняются крупномасштабные приложения для анализа данных. Azure Databricks — это платформа аналитики на основе Apache Spark, оптимизированная для платформы облачных служб Microsoft Azure. Azure делает развертывание Apache Spark простым и экономичным. Разрабатывайте приложения Spark на языке F# с помощью .NET для Apache Spark, набора привязок .NET для Apache Spark.

Использование Azure Cosmos DB с F#

Azure Cosmos DB — это служба NoSQL для высокодоступных и глобально распределенных приложений.

Azure Cosmos DB можно использовать с F# двумя способами.

  1. Путем создания Функций Azure на F#, которые реагируют на коллекции Azure Cosmos DB или вызывают изменения в них. См. раздел Привязки Azure Cosmos DB для Функций Azure.
  2. С помощью пакета SDK .NET для Azure Cosmos DB для API SQL. Соответствующие примеры написаны на C#.

Использование Центров событий Azure с F#

Центры событий Azure обеспечивают прием телеметрии с веб-сайтов, устройств и из приложений в масштабах облака.

Центры событий Azure можно использовать с F# двумя способами.

  1. Посредством создания Функций Azure на F#, активируемых событиями. См. статью Триггеры Функций Azure для центров событий.
  2. Посредством пакета SDK .NET для Azure. Обратите внимание, что эти примеры написаны на C#.

Использование Центров уведомлений Azure с F#

Концентраторы уведомлений Azure — это многоплатформенная и масштабируемая инфраструктура, позволяющая отправлять мобильные push-уведомления из любой серверной системы (в облаке или локальной среде) для всех мобильных платформ.

Концентраторы уведомлений Azure можно использовать с F# двумя способами.

  1. Посредством создания Функций Azure на F#, которые отправляют результаты в концентратор уведомлений. См. статью Триггеры вывода Функций Azure для концентраторов уведомлений.
  2. Посредством пакета SDK .NET для Azure. Обратите внимание, что эти примеры написаны на C#.

Реализация веб-перехватчиков в Azure с помощью F#

Объект webhook представляет собой обратный вызов, активируемый через веб-запрос. Объекты webhook используются сайтами, например GitHub, для сигнализации о событиях.

Объекты webhook можно реализовать в F# и разместить в Azure с помощью функции Azure в F# с привязкой webhook.

Использование веб-заданий с F#

Веб-задания — это программы, которые можно выполнять в веб-приложении службы приложений тремя способами: по запросу, непрерывно или по расписанию.

Пример веб-задания на F#

Реализация таймеров в Azure с помощью F#

Таймер активирует функции вызова на основе расписания — один раз или регулярно.

Таймеры можно реализовать в F# и разместить в Azure с помощью функции Azure в F# с триггером таймера.

Развертывание ресурсов Azure и управление ими с помощью скриптов F#

Виртуальные машины Azure можно программно развертывать и контролировать из скриптов F# с помощью API и пакетов Microsoft.Azure.Management. Например, см. статьи Приступая к работе с библиотеками управления для .NET и Использование Azure Resource Manager.

Аналогичным образом из скриптов F# можно развернуть и контролировать и другие ресурсы Azure. Например, с помощью скриптов F# вы можете создавать учетные записи хранения, развертывать Облачные службы Azure, создавать экземпляры Azure Cosmos DB и программно управлять Центрами уведомлений Azure.

Использовать скрипты F# для развертывания ресурсов и управления ими в общем случае необязательно. Например, ресурсы Azure также можно развернуть прямо из описаний шаблонов JSON, которые могут быть параметризованы. В статье Шаблоны Azure Resource Manager приведены примеры, например шаблоны быстрого запуска Azure.

Другие источники