Облачная платформаAdvanced

Создание Function

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

FunctionGraph управляет вычислительными ресурсами, необходимыми для выполнения функции. После редактирования кода вашей функции настройте вычислительные ресурсы в консоли FunctionGraph.

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

Создание Function с нуля

При создании функции с нуля настройте базовую и кодовую информацию в соответствии с Table 1 и Table 2. Параметры, отмеченные звездочкой (*), являются обязательными.

Для информации об окружении оставьте значения по умолчанию, как показано в Table 4.

Table 1 Базовая информация

Parameter

Description

*Function Name

Имя функции.

*App

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

*Enterprise Project

Выберите enterprise project, чтобы добавить в него функцию.

ПРИМЕЧАНИЕ:

Если служба Enterprise Project Management Service (EPS) не включена, этот параметр недоступен.

Агентство

Используется для делегирования FunctionGraph доступа к другим облачным сервисам. Например, агентство требуется, когда FunctionGraph обращается к облачным сервисам, таким как OBS или SMN.

Описание

Описание функции.

Note
  • Для получения подробной информации о том, как создать агентство, см. Creating an Agency.
  • Чтобы обеспечить оптимальную производительность, выберите Specify an exclusive agency for function execution и задайте разные агентства для конфигурации функции и её выполнения. Вы также можете не использовать агентство или указать одно и то же агентство для обеих целей.

    Агентство выполнения функции: после указания такого агентства вы можете получить токен и AK/SK из контекста в обработчике функции для доступа к другим облачным сервисам.

Table 2 Информация о коде

Параметр

Описание

*Runtime

В настоящее время поддерживаются Python, Node.js, Java, Go, C# (.NET Core), Cangjie, PHP и пользовательские среды выполнения.

*Handler

  • Для функции Node.js, Python или PHP обработчик должен быть назван в формате [file name].[function name], который должен содержать точку (.).

    Пример: myfunction.handler

  • Для функции Java обработчик должен быть назван в формате [package name].[file name].[function name].

    Пример: com.xxxxx.exp.Myfunction.myHandler

  • Для функции Go обработчик должен быть назван в формате [plug-in name].[function name]. Имя функции должно начинаться с заглавной буквы. Имя обработчика может содержать не более 128 символов.

    Пример: function.Handler

  • Для функции C# обработчик должен быть назван в формате [.NET assembly file name]::[namespace and class of the handler function]::[handler function name].

    Пример: HelloCsharp::Example.Hello::Handler

  • Для функции Cangjie обработчик должен быть назван в формате [Dynamic dependency library name].so. Имя может содержать не более 128 символов.

    Пример: libuser_func_test_success.so.

*Режим ввода кода

Метод ввода кода функции. Подробную информацию о поддерживаемых режимах ввода кода см. в Table 3.

Table 3 Режимы ввода кода

Runtime

Code Entry Mode

Описание

Node.js

Edit code inline

Редактировать код в поле кода. Для получения дополнительной информации см. Table 1.

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑бакета.

Upload file from OBS

Вставьте URL‑ссылку OBS‑бакета, в котором хранится ZIP‑файл кода.

Python

Edit code inline

Редактировать код в поле кода. Для получения дополнительной информации см. Table 1.

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑бакета.

Upload file from OBS

Вставьте URL‑ссылку OBS‑бакета, в котором хранится ZIP‑файл кода.

Java

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 MB. Если он превышает 50 MB, загрузите ZIP‑файл с помощью OBS bucket.

Upload JAR file

Нажмите Select File и загрузите локальный JAR‑файл в FunctionGraph. JAR‑файл должен содержать как минимум один .class файл. Размер загружаемого JAR‑файла не может превышать 50 MB. Если он превышает 50 MB, преобразуйте его в ZIP‑файл и загрузите ZIP‑файл в OBS.

Upload file from OBS

Вставьте URL‑ссылку OBS bucket, в котором хранится ZIP‑файл кода.

Go

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 MB. Если он превышает 50 MB, загрузите ZIP‑файл с помощью OBS bucket.

Upload file from OBS

Вставьте URL‑ссылку OBS bucket, в котором хранится ZIP‑файл кода.

C#(.NET Core)

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 MB. Если он превышает 50 MB, загрузите ZIP‑файл с помощью OBS bucket.

Upload file from OBS

Вставьте URL‑ссылку на OBS‑бакет, в котором хранится ZIP‑файл кода.

Custom

Edit code inline

Редактировать код в поле кода. Для получения дополнительной информации см. Table 1.

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑бакета.

Upload file from OBS

Вставьте URL‑ссылку на OBS‑бакет, в котором хранится ZIP‑файл кода.

PHP

Upload ZIP file

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑бакета.

Upload file from OBS

Вставьте URL‑ссылку на OBS‑бакет, в котором хранится ZIP‑файл кода.

Cangjie

Загрузить ZIP‑файл

Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑bucket.

Загрузить файл из OBS

Вставьте URL‑ссылку OBS‑bucket, в котором хранится ZIP‑файл кода.

Notice
  • При написании кода на Python не называйте ваш пакет с тем же суффиксом, что и стандартная библиотека Python, например json, lib и os. В противном случае будет выдана ошибка, указывающая на сбой загрузки модуля.
  • Если загружаемый код содержит конфиденциальную информацию (например пароли учётных записей), зашифруйте её, чтобы предотвратить утечку.
Table 4 Информация о среде

Параметр

Описание

Память (МБ)

Установите объём памяти, необходимый для выполнения функции, на странице вкладки Configuration.

*Initializer

Установите этот параметр на странице вкладки Code, если вы включили инициализацию функции.

Для всех сред выполнения правила именования инициализаторов функций совпадают с правилами именования обработчиков функций. Например, для функции Node.js, Python или PHP задайте имя инициализатора в формате [file name].[initialization function name].

*Initialization Timeout (s)

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

Значение может принимать значения от 1 s до 300 s.

*Execution Timeout (s)

Максимальная продолжительность выполнения функции. Вы можете установить этот параметр на странице вкладки Configuration. Используйте асинхронный вызов для функций, которые работают более 90 s.

Значение может принимать значения от 3 s до 900 s.

Note
  • При создании функции вы можете оставить значения по умолчанию для памяти, времени выполнения, настроек шифрования и переменных среды. После создания функции вы можете изменить эти параметры.
  • После создания функции версия по умолчанию — latest. Каждая функция имеет последнюю версию.
  • Оплата функций производится на основе количества запросов на выполнение функций и продолжительности их выполнения. Пожалуйста, задайте память и время выполнения в соответствии с требованиями сервиса.

Создание функции с использованием шаблона

FunctionGraph предоставляет встроенные шаблоны функций для типовых сценариев. Эти шаблоны включают код, конфигурации, среду и информацию о триггерах. После выбора шаблона FunctionGraph автоматически загружает информацию о функции, позволяя быстро создавать функции. Подробнее см. Creating a Function Using a Template.

Создание функции с использованием образа контейнера

Упакуйте свои образы контейнеров в соответствии со стандартом Open Container Initiative (OCI) и загрузите их в FunctionGraph. Образы будут загружены и запущены FunctionGraph. В отличие от режима загрузки кода, вы можете использовать пользовательский пакет кода, что обеспечивает гибкость и снижает затраты на миграцию. Подробнее см. Deploying a Function Using a Container Image.