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