title | description | position | category |
---|---|---|---|
Пакетная модель - Параметры |
Публикация пакета |
5 |
Модель пакета |
Полное описание:
region:
title: Регион
type: string
default: cn-hangzhou
description: Регион, в котором будет создано приложение
enum:
- 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
enum
представляет собой перечисление значений, которое пользователь может выбрать, не вводя вручную.
Полное описание:
internetAccess:
type: boolean
title: Разрешить доступ к интернету
description: Настройка доступа к интернету для функций в сервисе
default: true
В CLI это выглядит как:
В веб-интерфейсе это выглядит как:
Полное описание:
secret:
type: secret
title: Пароль администратора приложения
description: Состоит из букв, цифр и подчеркивания, длина 8-30 символов
default: 12345678
В CLI отображается как:
В веб-интерфейсе отображается как:
Полное описание:
gpuMemorySize:
title: Размер видеопамяти
type: целое число | int
default: 4096
description: Размер видеопамяти, выделенный для приложения
В CLI отображается как:
В веб-интерфейсе отображается как:
## Пользовательский интерфейс
Пользовательский интерфейс主要用于Web端,使用户能够方便地进行操作。通常以
x-
开头
用于OSS bucket选择
bucketName:
заголовок: Имя OSS-контейнера
тип: строка
по умолчанию: ""
описание: Имя OSS-контейнера (учтите, что он должен находиться в той же области, что и функция)
x-bucket:
зависимость:
- region # зависит от других полей ввода region
required中不包含bucketName时页面UI展示
Включен
Отключен
Поле | Тип | Описание |
---|---|---|
dependency | list<string > |
Зависимые поля |
Используется для выбора роли
triggerRoleArn:
заголовок: ARN роли RAM триггера
тип: строка
по умолчанию: ''
pattern: '^acs:ram::[0-9]*:role/.*$'
описание: OSS использует эту роль для отправки событий уведомления для вызова функции
обязательный: true
x-role:
имя: aliyunosseventnotificationrole # имя роли
сервис: OSS # имя сервиса
права:
- AliyunFCInvocationAccess
pattern представляет собой регулярное выражение, которое должно соответствовать значению текущего поля.
Поле | Тип | Описание |
---|---|---|
name | string |
Имя системы |
service | string |
Учетная запись сервиса, поддерживаемые системы: OSS, FC, LOG |
authorities | list<string > |
Системные политики |
Используется для выбора NAS-точек монтирования, VPC, свитчей, групп безопасности
mountPointsServerAddr:
заголовок: Адрес точки монтирования NAS
тип: строка
по умолчанию: ""
описание: Адрес точки монтирования NAS, можно проверить в <a href="https://nasnext.console.aliyun.com" target="_blank">консоли управления NAS</a>
x-nas:
dependency:
- region
Поле | Тип | Описание |
---|---|---|
dependency | list<string > |
Зависимые поля |
vpcId:
title: ID VPC
type: string
default: ""
description: ID VPC, в котором находится точка монтирования NAS, например vpc-bp1lynmabizqdgt4308dt
vswitchId:
title: ID свитча
type: string
default: ""
description: ID виртуального свитча VSW, в котором находится точка монтирования NAS, свитч лучше всего находится в поддерживаемом регионе FC
securityGroupId:
title: ID группы безопасности
type: string
default: ""
description: Проверьте в <a href="https://ecs.console.aliyun.com/#/securityGroup/region/cn-hangzhou" target="_blank">группе безопасности</a>, обычно достаточно стандартной группы безопасности (не забудьте указать соответствующий регион), например sg-bp1cd2w08t3dy7nhrvtx
Используется для выбора и создания образов контейнерного репозитория Alibaba Cloud
acrRegistry:
title: Репозиторий образов
type: string
examples: ['registry.cn-hangzhou.aliyuncs.com/fc-demo/custom-nodejs14-event-function:v0.1']
description: Адрес репозитория образов, необходимо активировать сервис, создать репозиторий и настроить учетные данные доступа на <a href="https://cr.console.aliyun.com/" target="_blank">консоли управления ACR</a>
x-acr:
type: select
Поле | Тип | Описание |
---|---|---|
type | String | select: выбор образа, tag: создание тега |
kafkaInstanceID: title: kafka instance id type: string default: '' description: ID экземпляра Kafka x-kafka: dependency: - region related: - kafkaEndpoint - vpcId - vswitchId - securityGroupId
##### Поля описания
| Поле | Тип | Описание |
| ---------- | -------------- | ------------ |
| dependency | list<`string`> | Зависимые поля |
| related | list<`string`> | Связанные поля |
> Обратите внимание, что x-kafka используется вместе с полями 'kafkaEndpoint', 'vpcId', 'vswitchId', 'securityGroupId'
kafkaEndpoint: title: kafka endpoint type: string default: '' description: конечная точка Kafka, которую можно получить из консоли управления Kafka vpcID: title: VPC ID для Kafka экземпляра type: string default: '' description: ID VPC. Пожалуйста, убедитесь, что вы указали поддерживаемую зону доступности для функций вычисления vswitchID: title: vswitchID type: string default: '' description: ID свитча VPC, используемый для внутреннего доступа к Kafka securityGroupID: title: ID группы безопасности type: string default: '' description: ID группы безопасности VPC, используемый для внутреннего доступа к Kafka

#### x-domain
Для настройки конфигурируемого домена для доступа к вашим функциям
domainName: title: конфигурация домена type: string default: auto required: false x-domain: true
##### Поля описания
| Поле | Тип | Описание |
| ---------- | -------------- | ------------ |
| x-domain | Boolean | x-domain: true, чтобы отображать конфигурацию домена в веб-интерфейсе |##### Автоматическая конфигурация UI

##### Пользовательская конфигурация домена UI

# советы
### Случайный суффикс default-suffix
Используется для генерации случайного суффикса для полей, чтобы гарантировать, что каждый раз при инициализации будут получены разные значения. Например, для имени сервиса.
serviceName: title: имя сервиса type: string default: web-framework-${default-suffix} pattern: "^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$" description: имя сервиса, которое может содержать только буквы, цифры, подчеркивание и дефис. Не может начинаться с цифры или дефиса. Длина от OnClickListener 1 до 128 символов
- Вывод в командной строке имеет следующий вид:

- Визуализация на веб-странице:

### Шаблонный движок
При запуске приложения используется [art-template](https://aui.github.io/art-template/zh-cn/docs/) для парсинга шаблонов.
Например, при написании шаблонов для приложения, пользователи могут указать конфигурацию VPC, если указана, то используется пользовательская конфигурация, если нет, то используется значение по умолчанию (auto).
- publish.yaml```
vpcConfigType:
title: Конфигурация сети VPC
type: string
description: Конфигурация сети, используемой функциями в сервисе, например, доступ к интернету, доступ к ресурсам VPC и т. д.
enum:
- auto
- пользовательская_конфигурация
```- s.yaml
```yaml
# ...другие
service:
name: "{{ serviceName }}"
description: Добро пожаловать в ServerlessTool
{{if vpcConfigType === 'auto'}}
vpcConfig: auto
{{else}}
vpcConfig: # Конфигурация VPC, после настройки функция может получить доступ к указанному VPC
vpcId: "{{ vpcID }}" # ID VPC
securityGroupId: "{{ securityGroupID }}" # ID группы безопасности
vswitchIds: # Список ID свитчей
- "{{ vswitchID }}"
{{/if}}
Подробную информацию о поддерживаемых синтаксических конструкциях можно найти в документации art-template
При запуске приложения можно использовать пользовательские фильтры для парсинга шаблонов.
Сначала необходимо определить фильтры в файле hook/filter.js
Пример содержимого файла hook/filter.js
function timestamp(value) {
return `ваш код: ${value}`
}
module.exports = {
timestamp,
};
Затем можно использовать определенные фильтры в шаблонах
Пример использования фильтров в файле s.yaml
# ...другие
time: "{{ time | timestamp }}"
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )