Функция — это комбинация кода, runtime, ресурсов и настроек, необходимых для выполнения конкретной задачи. Это минимальная единица, способная работать независимо. Функцию можно запускать с помощью триггеров, которые автоматически планируют требуемые ресурсы и окружения для получения ожидаемых результатов.
Приложение группирует функции как единицу логики сервиса для упрощённого управления. Вы можете создавать несколько функций в рамках app.
FunctionGraph позволяет редактировать код функции так же, как управлять проектом. Вы можете создавать и редактировать файлы и папки. После загрузки ZIP‑пакета кода вы можете просматривать и редактировать код в консоли. Table 1 описывает меню inline editor.
Menu | Description |
|---|---|
File | Создаёт файлы и папки. Вы можете создавать файлы, создавать папки на основе шаблонов и закрывать все файлы. |
Edit | Редактирует код функции. Вы можете выполнить операции undo, edit или comment. |
Find | Ищет и заменяет код. |
Go to | Переходит к определённому месту в коде. Вы можете перейти к указанной строке, скобкам или следующей проблемной строке. |
View | Предоставляет общие функции. Вы можете просмотреть command palette и изменить display theme. |
Test | Тестирует функцию онлайн и отображает результат теста, дайджест и логи. |
После создания функции версия по умолчанию — latest. Каждая функция имеет последнюю версию. Вы можете изменять функцию только на основе её последней версии.
Параметр | Описание |
|---|---|
Обработчик |
|
Инициализатор | Вы можете включить инициализацию функции на вкладке Code после создания функции. Инициализатор должен быть назван так же, как обработчик. Например, для функции Node.js или Python задайте имя инициализатора в формате [file name].[initialization function name]. ПРИМЕЧАНИЕ: Этот параметр не обязателен, если инициализация функции отключена. Подробности о том, как создать функцию инициализации, см. Initializing the Function. |
Зависимости | Требуемые функцией сторонние программные пакеты. Вы можете управлять зависимостями, загружая их в FunctionGraph. Если зависимости слишком велики, загрузите их через OBS. Для получения дополнительной информации см. Dependent Libraries. ПРИМЕЧАНИЕ: Кроме ваших частных зависимостей, FunctionGraph предоставляет некоторые общие зависимости, которые можно выбрать при создании функции. |
Code Entry Mode | Метод ввода кода функции. Подробную информацию о поддерживаемых режимах ввода кода см. в Table 3. |
Runtime | Code Entry Mode | Description |
|---|---|---|
Node.js | Редактировать код непосредственно | Редактировать код в окне кода. Для получения дополнительной информации см. Table 4. |
Upload ZIP file | Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл, используя бакет OBS. | |
Upload file from OBS | Вставьте URL‑ссылку OBS Бакет, в котором хранится файл ZIP с кодом. | |
Python | Редактировать код непосредственно | Редактировать код в code box. Для получения дополнительной информации см. Table 4. |
Загрузить ZIP файл | Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP файл, используя OBS Бакет. | |
Загрузить файл из OBS | Вставьте URL‑ссылку OBS Бакет, в котором хранится файл ZIP с кодом. | |
Java | Загрузить ZIP файл | Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP файл, используя OBS Бакет. |
Загрузить JAR файл | Нажмите Select File и загрузите локальный JAR файл в FunctionGraph. Размер загружаемого JAR файла не может превышать 50 МБ. Если он превышает 50 МБ, преобразуйте его в ZIP файл и загрузите ZIP файл в OBS. | |
Загрузить файл из OBS | Вставьте URL‑ссылку OBS Бакет, в котором хранится файл 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 bucket, в котором хранится ZIP‑файл кода. | |
PHP | Upload ZIP file | Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 MB. Если он превышает 50 MB, загрузите ZIP‑файл, используя OBS bucket. |
Upload file from OBS | Вставьте URL‑ссылку OBS bucket, в котором хранится 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‑файл кода. | |
Cangjie | Upload ZIP file | Нажмите Select File и загрузите локальный пакет кода в FunctionGraph. Размер загружаемого ZIP‑файла не может превышать 50 МБ. Если он превышает 50 МБ, загрузите ZIP‑файл с помощью OBS‑бакета. |
Upload file from OBS | Вставьте URL‑ссылку OBS‑бакета, в котором хранится ZIP‑файл кода. |
Menu | Description |
|---|---|
File | Создает файлы и папки. Вы можете создавать файлы, шаблоны файлов и модули Python, а также закрывать все файлы. |
Edit | Редактирует код функции. Вы можете отменять или повторять изменения, удалять или объединять строки, добавлять комментарии, сворачивать и разворачивать строки, а также сортировать строки по возрастанию или убыванию. |
Find | Ищет и заменяет код. |
Go to | Переходит к определенному месту в коде. Вы можете перейти к указанной строке, скобкам или следующей проблемной строке. |
View | Предоставляет общие функции. Вы можете просмотреть command palette и изменить display theme. |
Test | Тестирует функцию онлайн и отображает результат теста, дайджест и логи. |
Вы можете экспортировать созданные функции, их код и конфигурации.
Вы можете импортировать ZIP‑файл, содержащий конфигурации и код, в FunctionGraph.
Если загружаемый ZIP‑файл содержит конфиденциальную информацию (например, пароли учетных записей), зашифруйте конфиденциальную информацию, чтобы предотвратить утечку.
Figure 1 Resource package

Ниже показан пример файла конфигурации YAML. Поля в этом файле описаны в Table 5.
HcCrmTemplateVersion: v2Resources:HelloWorld:Type: HC::Serverless::FunctionProperties:Handler: index.handlerRuntime: Node.js6.10CodeType: inlineCodeFileName: index.jsDependencyPkg: ""Description: ""MemorySize: 128Timeout: 3Version: latestEnvironment:Variables: {}
Параметр | Описание |
|---|---|
HcCrmTemplateVersion | Фиксированное значение: v2. |
Ресурсы | Подробности функции. |
Тип | Фиксированное значение: HC::Serverless::Function. |
Свойства | Информация о функции. |
Обработчик | Обработчик функции. |
Среда выполнения | Среда выполнения. |
CodeType | Режим ввода кода, который может быть jar, zip или inline. |
CodeFileName | Имя файла кода. |
DependencyPkg | Адрес зависимости. |
Description | Описание функции. |
MemorySize | Размер памяти. |
Timeout | Тайм‑аут выполнения функции. |
Version | Версия функции. |
Окружение | Переменные окружения. |
Отключённые функции более не могут быть выполнены.
Отключённые функции могут быть включены снова по мере необходимости.
Вы можете удалить неиспользуемые функции, чтобы освободить ресурсы.