С помощью данного компонента вы можете быстро и легко развернуть проект Alibaba Cloud Function Compute в продакшн.
Импорт шаблона:
s init python3-http -p alibaba
По умолчанию конфигурация YAML имеет следующий вид:
MyFunctionDemo:
Component: fc
Provider: alibaba
Properties:
Region: cn-hangzhou
Service:
Name: ServerlessToolProject
Description: Добро пожаловать в ServerlessTool
Function:
Name: serverless_demo_python3_http
Description: Это тестовый пример Python3-HTTP
CodeUri: ./
Handler: index.handler
MemorySize: 128
Runtime: python3
Timeout: 5
Triggers:
- Name: TriggerNameHttp
Type: HTTP
Parameters:
AuthType: ANONYMOUS
Methods:
- GET
- POST
- PUT
Domains:
- Domain: AUTO
Стандартный bootstrap контент системы:
Тестовый шаблон соответствия
Шаблоны Event функций для различных языков программирования:nodejs6
,nodejs8
,nodejs10
,nodejs12
,python27
,python3
,php72
Шаблоны Http функций для различных языков программирования:nodejs6-http
,nodejs8-http
,nodejs10-http
,nodejs12-http
,python27-http
,python3-http
,php72-http
### Полный пример YAML файла```yaml MyFunction: Component: fc Provider: alibaba Access: release Properties: Region: cn-huhehaote Service: Name: Название сервиса Description: Описание сервиса InternetAccess: Доступ к интернету # Log: Автоматическое Log: LogStore: имя лог-хранилища в loghub Project: имя проекта в loghub # Role: <Имя роли> или <ARN роли> Role: # Роль RAM с необходимыми правами доступа для функций вычислений Name: <Имя роли> Policies: - AliyunECSNetworkInterfaceManagementAccess - AliyunFCFullAccess # Vpc: Автоматическое Vpc: SecurityGroupId: ID группы безопасности VSwitchIds: - один или несколько ID VSwitch VpcId: ID VPC # Nas: Автоматическое # Nas: # Type: Автоматическое # FcDir: /home/aaaaaa # LocalDir: . /ssss # LocalDir: # - . /ssss Nas: UserId: userID GroupId: groupID # s nas sync MountPoints: - Alias: demo # необязательное поле NasAddr: 3e3544a894-qjf60.cn-shanghai.nas.aliyuncs.com NasDir: /demo FcDir: /home/ssss LocalDir: ./ssss - NasAddr: 3e3544a894-qjf60.cn-shanghai.nas.aliyuncs.com NasDir: /demo FcDir: /home/aaaaaa LocalDir: - path Tags: - Key: Название метки Value: Значение метки - Key: Название метки Value: Значение метки Function: Название функции Name: Название функции Description: Описание функции # CodeUri: локальный путь # CodeUri: # Bucket: bucket name для package функций кода # Object: object name для zip файла кода CodeUri: Bucket: bucket name для package функций кода Src: локальный путь
Excludes:
- path1
- path2
Includes:
- path1
- path2
CAPort: 8080 # Указание порта
CustomContainer:
Dockerfile: ./dockerfile
CrAccount:
User: xx # если указано, будет автоматически выполнен вход
Password: xx # если указано, будет автоматически выполнен вход
Image: 'registry.cn-hangzhou.aliyuncs.com/lvwantest/nahai-repo:latest' # адрес репозитория
Command: '[ "node"]'
Args: '["server.js"]'
Handler: ввод для выполнения функции, конкретный формат зависит от языка
MemorySize: размер памяти функции
InstanceConcurrency: одновременная многопоточность одного экземпляра
```
Runtime: выполнение функции
Окружение:
- Ключ: EnvironmentKey
Значение: EnvironmentValue
Timeout: время ожидания завершения выполнения функции
Initializer:
Handler: входная точка для инициализации функции, конкретный формат зависит от языка
Timeout: время ожидания завершения выполнения инициализирующей функции
Триггеры:
- Название: OSSTrigger
Тип: OSS # тип триггера
Параметры:
Bucket: coco-superme # имя бакета OSS
События:
- oss:ObjectCreated:*
- oss:ObjectRemoved:DeleteObject
Фильтр:
Префикс: source/
Последний элемент: .png
Версия: Prod # версия (необязательно)
- Название: TriggerNameTimer
Тип: Timer
Параметры:
CronExpression: '0 0 8 * * *'
Включено: true
Payload: 'awesome-fc-event-nodejs10'
Версия: Prod # версия (необязательно)
- Название: TriggerNameHttp
``` Тип: HTTP # тип триггера
Параметры:
AuthType: ANONYMOUS
InvocationRole: использование ARN роли RAM для назначения роли выполнения функции
Методы:
- GET
- POST
- PUT
Домены:
- Domain: anycodes.cn
Протокол:
- HTTP
- HTTPS
Конфигурация сертификата:
Сертификат: 'CertName'
Частный ключ: './certificates/privateKey.pem'
Сертификат: './certificates/certificate.pem'
Маршруты:
- Путь: '/a'
Версия: Prod # версия (необязательно)
- Путь: '/b'
Версия: Prod # версия (необязательно)
- Название: TriggerNameLog
Тип: Log
Параметры:
Исходная конфигурация:
Лог стор: logstore1
Конфигурация задачи:
Максимальное количество попыток: 1
Интервал триггера: 30
Конфигурация лога:
Проект: testlog
Лог стор: logstore2
Включено: true
Конфигурация функции: конфигурационные данные используются как event функции службой логов при активации события
InvocationRole: использование ARN роли RAM для назначения роли выполнения функции
Версия: Prod # версия (необязательно)
- Название: TriggerNameRDS
Тип: RDS # тип триггера
Параметры:
InstanceId: rm-12345799xyz
SubscriptionObjects:
- db1.table1
Retry: 2
Concurrency: 1
EventFormat: json InvocationRole: Используйте ARN роли RAM для указания роли выполнения функции
Qualifier: Prod # Версия (необязательно)
- Name: TriggerNameMNS
Type: MNSTopic # тип триггера
Parameters:
TopicName: test-topic
Region: cn-shanghai
NotifyContentFormat: JSON
NotifyStrategy: BACKOFF_RETRY
FilterTag: Описание меток для фильтрации сообщений в подписке
InvocationRole: Используйте ARN роли RAM для указания роли выполнения функции
Qualifier: Prod # Версия (необязательно)
- Name: TriggerNameTableStore
Type: TableStore # тип триггера
Parameters:
InstanceName: test-inst
TableName: test-tbl
InvocationRole: Используйте ARN роли RAM для указания роли выполнения функции
Qualifier: Prod # Версия (необязательно)
- Name: TriggerNameCDN
Type: CDN # тип триггера
Parameters:
EventName: LogFileCreated
EventVersion: '1.0.0'
Notes: тест триггеров событий CDN
Filter:
Domain:
- 'www.taobao.com'
- 'www.tmall.com'
InvocationRole: Используйте ARN роли RAM для указания роли выполнения функции
Qualifier: Prod # Версия (необязательно)
### Подробное руководство по использованию| Название параметра | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Region | true | Перечень значений | Регион |
| Service | false | Структура | Услуга |
| Function | false | Структура | Функция |
#### Region
Допустимые значения параметров: `cn-beijing`, `cn-hangzhou`, `cn-shanghai`, `cn-qingdao`, `cn-zhangjiakou`, `cn-huhehaote`, `cn-shenzhen`, `cn-chengdu`, `cn-hongkong`, `ap-southeast-1`, `ap-southeast-2`, `ap-southeast-3`, `ap-southeast-5`, `ap-northeast-1`, `eu-central-1`, `eu-west-1`, `us-west-1`, `us-east-1`, `ap-south-1`
#### Service
| Название параметра | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Name | false | Строка | Имя сервиса |
| Description | false | Строка | Краткое описание сервиса |
| InternetAccess | false | Логическое значение | Установите в true, чтобы функция могла обращаться к интернету |
| Role | false | Строка/Структура | RAM роль, предоставляющая права доступа для вычислений функций, используется для отправки логов функций в лог-хранилище пользователя и создания токена для доступа к другим облачным ресурсам во время выполнения функции |
| Log | false | Строка/Структура | Конфигурация логов, логи функции будут записываться в указанное лог-хранилище |
| Vpc | false | Строка/Структура | Конфигурация VPC, позволяет функции обращаться к указанному VPC |
| Nas | false | Строка/Структура | Конфигурация NAS, позволяет функции обращаться к указанному NAS |
| Tag | false | Список структур | Теги |
##### Role
Если тип — строка, можно указать ARN, если тип — структура:| Название параметра | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Name | true | Строка | Имя роли |
| Policies | true | Список строк | Список политик |
##### Журнал
Если тип — строка, можно указать Auto, если тип — структура:
| Название параметра | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| LogStore | false | Строка | Имя лог-хранилища в LogHub |
| Project | false | Строка | Имя проекта в LogHub |
##### VPC
Если тип — строка, можно указать Auto, если тип — структура:
| Название параметра | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| SecurityGroupId | false | Строка | ID группы безопасности |
| VSwitchIds | false | Строка | Одно или несколько ID VSwitch |
| VpcId | false | Строка | ID VPC |
##### NAS
Если тип — строка, можно указать Auto, если тип — структура:
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Type | true | Строка | Должно быть равно Auto |
| FcDir | false | Строка | Каталог функциональной вычислительной среды |
| LocalDir | false | Список<Строки>/Строка | Локальный каталог |
---
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| UserId | false | Строка | ID пользователя |
| GroupId | false | Строка | ID группы |
| MountPoints | false | <Структура>Список | Точки монтирования |
Где MountPoints:| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Alias | false | String | Алиас для компонента (не связан с онлайн-ресурсами) |
| NasAddr | false | String | Адрес сервера NAS |
| NasDir | false | String | Каталог NAS |
| FcDir | false | String | Каталог функциональной вычислительной среды |
| LocalDir | false | String | Локальный каталог |##### Тег
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Key | false | String | Ключ тега |
| Value | false | String | Значение тега |
#### Функция
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Name | false | String | Название функции |
| Description | false | String | Короткое описание функции |
| MemorySize | false | String | Размер памяти функции |
| CodeUri | false (по умолчанию ./) | String/Структура | Расположение кода |
| CAPort | false | String | Указанный порт для CustomContainer/Runtime |
| CustomContainer | false | Структура | Конфигурация пользовательского контейнера |
| InstanceConcurrency | false | Число | Одновременная многопоточность одного экземпляра |
| Handler | true | String | Входная точка выполнения функции, формат зависит от языка |
| Runtime | true | String | Выбор времени выполнения функции |
| Initializer | false | Структура | Метод инициализации |
| Environment | false | Структура | Переменные окружения |
| Timeout | false | String | Время ожидания выполнения функции |
| Triggers | false | <Структура>Список | Триггеры |
##### Окружение
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Key | false | String | Ключ окружения |
| Value | false | String | Значение окружения |
##### CodeUri```markdown
-
Прямой ввод пути
-
| Параметр | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Bucket | false | String | Имя бакета для кода функции |
| Object | false | String | Имя объекта архива кода |
| Exclude | false | String список | Исключаемые пути |
| Include | false | String список | Включаемые пути |
| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Bucket | false | String | Имя бакета для пакета кода функции |
| Src | false | String | Локальный путь |
| Exclude | false | String список | Пути для исключения |
| Include | false | String список | Пути для включения |
```##### CustomContainer
| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| CrAccount | false | Struct | информация об аккаунте |
| Image | false | String | адрес репозитория образа |
| Command | false | String | команда |
| Args | false | String | аргументы |
###### CrAccount
| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| User | false | String | имя пользователя аккаунта |
| Password | false | String | пароль аккаунта |
##### Initializer
| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Handler | false | String | входная точка выполнения инициализирующей функции, формат зависит от языка |
| Timeout | false | String | время ожидания выполнения инициализирующей функции |
##### Триггеры
| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| Name | true | String | имя триггера |
| Type | true | Перечисление | тип триггера |
| Parameters | true | Struct | содержание параметров |
###### Type
Значение параметров: `OSS`, `CDN`, `MNSTopic`, `TableStore`, `Timer`, `HTTP`, `RDS`, `LOG`
###### Parameters[HTTP]
---
Также следует отметить, что текст был переведен согласно правилам, но поскольку часть текста была уже на русском языке, изменения минимальны.| Параметры | Обязательность | Тип | Описание параметра |
| --- | --- | --- | --- |
| AuthType | true | Список | тип аутентификации, допустимые значения: ANONYMOUS, AWS_IAM |
| Methods | true | Список | методы доступа, поддерживаемые триггером HTTP |
| Domains | false | String | содержание домена |
| Enable | false | String | указывает, активирован ли этот триггер |
| InvocationRole | false | String | ARN роли IAM для назначения роли выполнения функции, источник события будет использовать эту роль для запуска функции, убедитесь, что эта роль имеет права на вызов функции |
| Qualifier | false | String | версия сервиса |###### AuthType
Перечисление: `ANONYMOUS`, `FUNCTION`
###### Methods
Перечисление: `GET`, `POST`, `PUT`, `DELETE`, `HEAD`
###### Domains
| Параметр | Обязательность | Тип | Описание |
| --- | --- | --- | --- |
| Domain | false | String | Домен |
-
| Параметр | Обязательность | Тип | Описание |
| --- | --- | --- | --- |
| Domain | false | String | Домен |
| Protocol | false | List("HTTP", "HTTPS") | Протокол |
| CertConfig | false | Struct | Настройки сертификата |
| Routes | false | Struct | Конфигурация маршрутов |
###### OSS
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| Bucket | true | String | Название бакета |
| Events | true | <String> List | События |
| Filter | true | Struct | Условия |
| Qualifier | false | String | Prod # Версия (необязательна) |
Где Filter:
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| Prefix | true | String | Префикс |
| Suffix | true | String | Последний символ |
###### Timer
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| CronExpression | true | String | Выражение триггера события, например '0 0 8 * * *' |
| Enable | false (по умолчанию true) | Boolean | Включен ли |
| Payload | false | Struct | Параметры, передаваемые при активации |
| Qualifier | false | String | Prod # Версия (необязательна) |
###### Log| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| SourceConfig | true | String | Конфигурация источника |
| JobConfig | true | Struct | Конфигурация задачи |
| LogConfig | true | Struct | Конфигурация лога |
| InvocationRole | false | String | ARN роли IAM для выполнения функции |
| FunctionParameter | false | String | Конфигурация, используемая службой логов в качестве события функции при активации |
| Enable | false (по умолчанию true) | Boolean | Включено ли |
| Qualifier | false | String | Prod#Версия (необязательна) |Где SourceConfig:
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| LogStore | true | String | Триггер будет регулярно подписываться на данные из этого Logstore |
Где JobConfig:
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| MaxRetryTime | true | Integer | Количество попыток повторной отправки при ошибке |
| TriggerInterval | true | Duration | Интервал между запусками триггера |
Где LogConfig:
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| Project | true | String | Название проекта логов |
| LogStore | true | String | Логи будут записываться в этот Logstore |
| FunctionParameter | false | Map<String, String> | Параметры, передаваемые вместе с событиями |###### RDS| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| InstanceId | true | String | Указывает идентификатор экземпляра базы данных |
| SubscriptionObjects | false | String | Подписанные объекты, поддерживаются до уровня таблицы, только изменения этих таблиц будут запускать выполнение функции |
| Retry | false | String | Количество попыток повторной отправки, допустимые значения: [0, 3], значение по умолчанию — 3. |
| Concurrency | false | String | Уровень параллелизма вызова, допустимые значения: [1, 5], значение по умолчанию — 1 |
| EventFormat | false | String | Формат события, допустимые значения: json, protobuf, значение по умолчанию — protobuf. |
| InvocationRole | false | String | Использует ARN роли RAM для указания роли выполнения функции, источник событий использует эту роль для запуска выполнения функции, убедитесь, что эта роль имеет права на вызов функции. |
| Qualifier | false | String | Версия (необязательный параметр) |##### MNSTopic
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| TopicName | true | String | Название темы MNS |
| Region | false | String | Регион расположения темы MNS; если не указан, используется регион функции по умолчанию |
| NotifyContentFormat | false | String | Формат данных события, который будет передан в качестве входных параметров функции; допустимые значения: STREAM, JSON; значение по умолчанию — STREAM |
| NotifyStrategy | false | String | Стратегия повторной отправки при вызове функции; допустимые значения: BACKOFF_RETRY, EXPONENTIAL_DECAY_RETRY; значение по умолчанию — BACKOFF_RETRY |
| FilterTag | false | String | Тег, используемый для фильтрации сообщений в подписке (только сообщения с совпадающими тегами будут отправлены); строка не более 16 символов; значение по умолчанию — отсутствие фильтрации сообщений, то есть поле не заполняется по умолчанию |
| InvocationRole | false | String | Использует ARN роли RAM для указания роли выполнения функции; источник событий использует эту роль для запуска выполнения функции; убедитесь, что эта роль имеет права на вызов функции |
| Qualifier | false | String | Версия (необязательный параметр) |
##### TableStore| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| InstanceName | true | String | Имя экземпляра Table Store |
| TableName | true | String | Имя таблицы в экземпляре |
| InvocationRole | false | String | Использует ARN роли RAM для указания роли выполнения функции. Исходный источник событий использует эту роль для запуска выполнения функции; убедитесь, что эта роль имеет права на вызов функции. |
| Qualifier | false | String | Версия (необязательный параметр) |###### CDN| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| EventName | true | String | Название события, которое вызывает выполнение функции CDN; после создания не может быть изменено |
| EventVersion | true | String | Версия события, которое вызывает выполнение функции CDN; после создания не может быть изменено |
| Notes | true | String | Примечание |
| Filter | true | Struct | Фильтр (необходим хотя бы один фильтр) |
| InvocationRole | false | String | ARN роли RAM для назначения роли выполнения функции. Источник событий будет использовать эту роль для запуска функции. Убедитесь, что эта роль имеет права на вызов функции. |
| Qualifier | false | String | Версия (# версия, необязательный параметр) |
Где Filter:
| Параметр | Обязательный | Тип | Описание параметра |
| --- | --- | --- | --- |
| Domain | true | <String>Array | Обязательный массив строк, представляющий набор значений для фильтра.|
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )