Облачная платформа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 Информация о коде

Параметр

Описание

*Среда выполнения

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

*Обработчик

  • Для функции 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.

*Code Entry Mode

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

Table 3 Code entry modes

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

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

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

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

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

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

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

Перейти

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

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

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

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

C#(.NET Core)

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

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

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

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

Custom

Edit code inline

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

Upload ZIP file

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

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

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

PHP

Upload ZIP file

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

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

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

Cangjie

Upload ZIP file

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

Upload file from OBS

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

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

Parameter

Description

Memory (MB)

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

*Initializer

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

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

*Initialization Timeout (s)

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

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

*Execution Timeout (s)

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

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

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

Creating a Function Using a Template

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

Creating a Function Using a Container Image

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