1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/serverless-devs-awesome-fc-alibaba

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
readme.md

Введение

С помощью данного компонента вы можете быстро и легко развернуть проект 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 )

Вы можете оставить комментарий после Вход в систему

Введение

С помощью этого компонента вы можете легко и быстро развернуть проект вычислительных функций Alibaba Cloud в рабочей среде. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/serverless-devs-awesome-fc-alibaba.git
git@api.gitlife.ru:oschina-mirror/serverless-devs-awesome-fc-alibaba.git
oschina-mirror
serverless-devs-awesome-fc-alibaba
serverless-devs-awesome-fc-alibaba
master