Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В Azure Functions приложение-функция предоставляет контекст выполнения для отдельных функций. Поведение функционального приложения применяется ко всем функциям, которые оно размещает. Все функции в приложении-функции должны использовать один и тот же язык.
Отдельные функции в приложениях с функциями развертываются и масштабируются одновременно. Все функции в одном и том же функциональном приложении делят ресурсы для каждого экземпляра по мере его масштабирования.
Строки подключения, переменные среды и другие параметры приложения определяются отдельно для каждого приложения-функции. Все данные, которые должны совместно использоваться приложениями-функциями, должны храниться на внешних ресурсах в постоянном хранилище.
Начало работы на портале Azure
Примечание.
Из-за ограничений на редактирование кода функции на портале Azure следует разрабатывать функции локально и публиковать проект кода в приложении-функции в Azure. Дополнительные сведения см. в разделе Ограничения разработки на портале Azure
Чтобы просмотреть параметры приложения в приложении-функции, выполните следующие действия.
Войдите на портал Azure с помощью учетной записи Azure. Найдите ваше функциональное приложение и выберите его.
В левой области вашего приложения функции разверните Параметры, выберите Переменные среды и перейдите на вкладку Параметры приложения.
Работа с параметрами приложения
Помимо стандартных параметров приложения, используемых Azure Functions, можно создать любое количество параметров приложения, как это требуется в коде функции. Дополнительные сведения см. в справочнике по настройкам приложения для Azure Functions.
Эти параметры хранятся в зашифрованном виде. Дополнительные сведения см. в разделе "Безопасность параметров приложения".
Параметры приложения можно управлять на портале
Примечание.
Изменение параметров приложения вызывает перезапуск функционального приложения по умолчанию во всех планах размещения. Для развертываний без простоя при изменении параметров используйте план потребления Flex с последовательными обновлениями в качестве стратегии обновления сайта. Сведения о других планах размещения см. в руководстве по оптимизации развертываний по минимизации простоя.
- портал Azure
- Azure CLI
- Azure PowerShell
Чтобы просмотреть параметры приложения, см. статью Get started in the Azure portal.
Вкладка "Параметры приложения" поддерживает параметры, используемые приложением-функцией:
Использование параметров приложения
Эти значения параметров приложения-функции также могут считываться в коде как переменные среды. Дополнительные сведения см. в разделе "Переменные среды" в следующих справочных статьях, относящихся к языку:
При разработке приложения-функции локально необходимо сохранить локальные копии этих значений в файле проекта local.settings.json . Подробнее см. в разделе Файл локальных параметров.
Параметры развертывания FTPS
Azure Functions поддерживает развертывание кода проекта в приложении-функции с помощью FTPS. Так как этот метод развертывания требует синхронизации триггеров, не рекомендуется. Для безопасной передачи файлов проекта всегда используйте FTPS, а не FTP.
Чтобы получить учетные данные, необходимые для развертывания FTPS, используйте один из следующих методов:
- портал Azure
- Azure CLI
- Azure PowerShell
Учетные данные публикации FTPS можно получить на портале Azure, скачав профиль публикации для функционального приложения.
Внимание
Профиль публикации содержит важные учетные данные безопасности. Всегда защищать скачанный файл на локальном компьютере.
Чтобы скачать профиль публикации приложения-функции, сделайте следующее:
На портале Azure найдите страницу приложения-функции, разверните Settings>Configuration в левом столбце.
На странице "Конфигурация" выберите вкладку "Общие параметры" и убедитесь, что учетные данные публикации SCM Basic Auth включены. Если этот параметр отключен, вы не можете использовать профили публикации, поэтому нажмите кнопку "Вкл ." и " Применить".
Вернитесь на страницу Обзор функционального приложения, а затем выберите Получить профиль публикации.
Сохраните и скопируйте содержимое файла.
- В файле найдите элемент
publishProfile, имеющий атрибутpublishMethod="FTP". В этом элементе атрибутыpublishUrl,userNameиuserPWDсодержат целевой URL-адрес и учетные данные для публикации FTPS.
Тип плана размещения
При создании приложения-функции вы также создаете план размещения, в котором выполняется приложение. План может содержать одно или несколько приложений-функций. Функциональные возможности, масштабирование и цены на функции зависят от типа плана. Дополнительные сведения см. в разделе варианты размещения Azure Functions.
Вы можете определить тип плана, используемого приложением-функцией на портале Azure, или с помощью api Azure CLI или Azure PowerShell.
Тип плана определяется следующими значениями:
| Тип плана | портал Azure | Azure CLI/PowerShell |
|---|---|---|
| Потребление | Потребление | Dynamic |
| Премиум | Эластичный Премиум | ElasticPremium |
| Выделенный (Служба приложений) | Разное | Разное |
- портал Azure
- Azure CLI
- Azure PowerShell
Чтобы определить тип плана, используемого вашим приложением-функцией, см. в разделе План службы приложений в разделе Обзор приложения-функции на портале Azure.
Чтобы просмотреть уровень ценообразования, выберите название плана Службы приложений, а затем выберите Параметры > Свойства в левой области.
Планирование миграции
Вы можете перенести приложение-функцию между планом потребления и планом Premium на Windows.
Подсказка
Мы рекомендуем запустить приложение плана потребления в плане потребления Flex вместо плана Premium. Для приложения плана потребления Linux переход на план потребления Flex является единственным вариантом. Поскольку миграция плана непосредственно в план Flex Consumption и из него не поддерживается, необходимо создать новое приложение-функцию в плане Flex Consumption. Дополнительные сведения см. в разделе "Миграция приложений плана потребления" в план потребления Flex, который описывает создание нового приложения Flex Consumption с теми же параметрами, что и существующее приложение.
При миграции между планами помните следующее:
- Прямая миграция в выделенный план (Служба приложений) не поддерживается.
- Миграция не поддерживается в Linux.
- Исходный план и целевой план должны находиться в одной группе ресурсов и географическом регионе. Дополнительные сведения см. в разделе о перемещении приложения в другой план службы приложений.
- Определенные команды CLI зависят от направления миграции.
- Время простоя в выполнении функции происходит, так как приложение-функция переносится между планами.
- Поддерживается состояние и другое специфическое для приложения содержимое, так как один и тот же общий ресурс Azure Files используется приложением до и после миграции.
- Миграция между планом Flex Consumption и другим планом на месте не поддерживается. Вы должны создать новое функциональное приложение в тарифном плане Flex Consumption.
Вы можете перенести план с помощью следующих средств:
- портал Azure
- Azure CLI
- Azure PowerShell
Вы можете использовать портал Azure для перехода на другой план.
Выберите направление миграции приложения на Windows.
Ограничения разработки на портале Azure
В следующей таблице показаны операционные системы и языки, поддерживающие редактирование на портале:
| Язык | Flex Consumption | Премиум | Dedicated | Потребление |
|---|---|---|---|---|
| C# | ||||
| Java | ||||
| JavaScript (Node.js) | ✔ | ✔ | только Windows | |
| Python | Только для Linux | Только для Linux | Только для Linux | |
| PowerShell | только Windows | только Windows | только Windows | |
| ТайпСкрипт (Node.js) |
Учитывайте эти ограничения при разработке функций на портале Azure:
- Редактирование на портале поддерживается только для созданных или последних измененных функций на портале Azure.
- Редактирование на портале поддерживается только для функций JavaScript, PowerShell, Python и скриптов C# (в процессе).
- В настоящее время редактирование на портале не поддерживается планом потребления Flex.
- Возможность запуска приложений в Linux в плане потребления планируется для выхода на пенсию. Дополнительные сведения см. в разделе Azure Functions размещение плана потребления.
- При развертывании кода в приложении-функции за пределами портала Azure вы больше не сможете изменить любой код для этого приложения-функции на портале. В этом случае просто продолжайте использовать локальную разработку.
- Для Python разработка с пользовательскими модулями в настоящее время не поддерживается на портале. Чтобы добавить пользовательские модули в приложение-функцию, необходимо локально разработать приложение.
- Для скомпилированных функций C# и Java функций можно создать приложение-функцию и связанные ресурсы на портале. Однако необходимо создать проект кода функций локально, а затем опубликовать его в Azure.
По возможности разработайте функции локально и опубликуйте проект кода в приложении-функции в Azure. Дополнительные сведения см. в статье Программирование и тестирование Azure Functions локально.
Установка расширений вручную
Функции библиотеки классов C# могут включать пакеты NuGet для расширений привязки непосредственно в проекте библиотеки классов. Для других языков, отличных от .NET и скрипта C#, следует использовать пакеты расширений. Если необходимо вручную установить расширения, это можно сделать, использовать Azure Functions Core Tools локально. Если вы не можете использовать пакеты расширений и работаете только на портале, необходимо вручную создать файл extensions.csproj непосредственно на сайте с помощью расширенных инструментов (Kudu). Сначала удалите extensionBundle элемент из файла host.json .
Этой же процедурой можно воспользоваться для любого другого файла, который необходимо добавить в приложение.
Внимание
По возможности не изменяйте файлы непосредственно в приложении-функции в Azure. Рекомендуется скачивать файлы приложения локально, использовать Core Tools для установки расширений и других пакетов, проверять изменения, а затем повторно публиковать приложение с помощью Core Tools или другого поддерживаемого метода развертывания.
Редактор функций, встроенный на портале Azure, позволяет обновлять код функции и файлы конфигурации непосредственно на портале:
Выберите приложение-функцию, а затем в разделе "Функции" выберите "Функции".
Выберите функцию и нажмите Код и тестирование в разделе Разработчик.
Выберите файл для изменения и нажмите кнопку "Сохранить " после завершения.
Файлы в корневом каталоге приложения, такие как function.proj или extensions.csproj, необходимо создать и изменить с помощью расширенных средств (Kudu):
Выберите функциональное приложение, разверните Инструменты разработки, а затем выберите Расширенные инструменты>Перейти.
При появлении запроса войдите на веб-сайт системы управления версиями (SCM), используя учётные данные Azure.
В меню консоли отладки выберите CMD.
Перейдите в
.\site\wwwroot, нажмите кнопку "плюс" (+) вверху и выберите Создать файл.Присвойте файлу имя, например
extensions.csproj, и нажмите Enter.Нажмите кнопку редактирования рядом с новым файлом, добавьте или обновите код в файле, а затем нажмите кнопку "Сохранить".
Для файла проекта, например extensions.csproj, выполните следующую команду, чтобы перестроить проект расширений:
dotnet build extensions.csproj
Функции платформы
Приложения-функции выполняются на платформе Azure App Service, которая поддерживает их. Таким образом, ваши приложения-функции имеют доступ к большинству возможностей основной платформы веб-хостинга Azure. При использовании портала Azure в левой области есть доступ ко многим функциям платформы службы приложений, которые можно использовать в приложениях-функциях.
Следующая матрица показывает поддержку функций в портале Azure в зависимости от выбора плана хостинга и операционной системы.
| Функция | План потребления | План потребления Flex | План категории "Премиум" | Специальный тарифный план |
|---|---|---|---|---|
| Дополнительные инструменты (Kudu) | Windows: ✔ Linux: X |
X | ✔ | ✔ |
| Редактор службы приложений | Windows: ✔ Linux: X |
X | Windows: ✔ Linux: X |
Windows: ✔ Linux: X |
| Backups | X | X | X | ✔ |
| Консоль | Windows: командная строка Linux: X |
X | Windows: командная строка Linux: SSH |
Windows: командная строка Linux: SSH |
Остальная часть этой статьи сосредоточена на следующих функциях портала, которые полезны для ваших приложений-функций:
- Редактор службы приложений
- Консоль
- Дополнительные инструменты (Kudu)
- Варианты развертывания
- CORS
- Аутентификация
Дополнительные сведения о работе с параметрами службы приложений см. в разделе Configure Azure App Service Settings.
Редактор службы приложений
Редактор службы приложений — это расширенный редактор на портале, который можно использовать для изменения JSON-файлов конфигурации и файлов с кодом. При выборе этого параметра откроется отдельная вкладка браузера с базовым редактором. Этот редактор позволяет интегрироваться с репозиторием Git, запускать и отлаживать код и изменять параметры приложения-функции. Этот редактор предоставляет расширенную среду разработки для функций по сравнению со встроенным редактором функций.
Мы рекомендуем разрабатывать функции на локальном компьютере. При локальной разработке и публикации в Azure файлы проекта доступны только для чтения на портале Azure. Дополнительные сведения см. в статье Программирование и тестирование Azure Functions локально.
Консоль
Консоль на портале оптимально подходит разработчикам, желающим взаимодействовать с приложением-функцией из командной строки. Стандартные команды включают создание каталогов и файлов и навигацию по ним, а также выполнение пакетных файлов и сценариев.
При разработке локально рекомендуется использовать Azure Functions Основные инструменты и Azure CLI.
Продвинутые инструменты (Kudu)
Расширенные средства для службы приложений (также известные как Kudu) предоставляют доступ к расширенным административным функциям вашего приложения-функции. С помощью Kudu можно управлять системными сведениями, параметрами приложения, переменными среды, заголовками HTTP и переменными сервера. Вы также можете запустить Kudu, перейдя в конечную точку SCM для функционального приложения, например: https://<myfunctionapp>.scm.azurewebsites.net/.
Центр развертывания
Если вы используете систему управления версиями для разработки и сопровождения кода функции, Центр развертывания позволяет выполнять сборку и развертывание из системы управления версиями. Проект создается и развертывается для Azure при внесении обновлений. Для получения дополнительной информации см. раздел Технологии развертывания в Azure Functions.
Предоставление общего доступа к ресурсам независимо от источника
Чтобы предотвратить выполнение вредоносного кода на клиенте, современные браузеры блокируют запросы от веб-приложений к ресурсам, выполняемым в отдельном домене.
Общий доступ к ресурсам независимо от источника (CORS) позволяет заголовку Access-Control-Allow-Origin объявить, какие источники могут вызывать конечные точки в вашем приложении-функции.
- портал Azure
- Azure CLI
- Azure PowerShell
При настройке списка разрешенных источников для приложения-функции ко всем ответам от конечных точек HTTP в приложении-функции автоматически добавляется заголовок Access-Control-Allow-Origin.
Если есть другая запись домена, подстановочный знак (*) игнорируется.
Аутентификация
Если функции используют триггер HTTP, можно настроить обязательную предварительную проверку подлинности для вызовов. Служба приложений поддерживает Microsoft Entra аутентификацию и вход с помощью социальных поставщиков, таких как Facebook, Microsoft и X. Сведения о настройке определенных поставщиков проверки подлинности см. в разделе Azure App Service обзор проверки подлинности.
Связанный контент
- Настройка приложения службы приложений
- Непрерывное развертывание для Azure Functions