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

OSCHINA-MIRROR/serverless-devs-Serverless-Devs

Клонировать/Скачать
publish_model.md 16 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.05.2025 16:44 c46f8bb
title description position category
Пакетная модель - Параметры
Публикация пакета
5
Модель пакета

Параметры UI

По умолчанию типы данных

string

Полное описание:

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 представляет собой перечисление значений, которое пользователь может выбрать, не вводя вручную.

  • В CLI это выглядит как: - В веб-интерфейсе это выглядит как:

логический тип

Полное описание:

internetAccess:
  type: boolean
  title: Разрешить доступ к интернету
  description: Настройка доступа к интернету для функций в сервисе
  default: true
  • В CLI это выглядит как:

  • В веб-интерфейсе это выглядит как:

секрет

Полное описание:

secret:
  type: secret
  title: Пароль администратора приложения
  description: Состоит из букв, цифр и подчеркивания, длина 8-30 символов
  default: 12345678
  • В CLI отображается как:

  • В веб-интерфейсе отображается как:

целое число | int

Полное описание:

gpuMemorySize:
  title: Размер видеопамяти
  type: целое число | int
  default: 4096
  description: Размер видеопамяти, выделенный для приложения
  • В CLI отображается как:

  • В веб-интерфейсе отображается как: ## Пользовательский интерфейс Пользовательский интерфейс主要用于Web端,使用户能够方便地进行操作。通常以x-开头

x-bucket

用于OSS bucket选择

bucketName:
  заголовок: Имя OSS-контейнера
  тип: строка
  по умолчанию: ""
  описание: Имя OSS-контейнера (учтите, что он должен находиться в той же области, что и функция)
  x-bucket:
    зависимость:
      - region # зависит от других полей ввода region

required中不包含bucketName时页面UI展示

Включен

Отключен

Описание полей
Поле Тип Описание
dependency list<string> Зависимые поля

x-role

Используется для выбора роли

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> Системные политики

x-nas

Используется для выбора 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

x-acr

Используется для выбора и создания образов контейнерного репозитория 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: создание тега

x-kafkaИспользуется для выбора ID Kafka, KafkaEndpoint, VPC, свитчей, групп безопасности```

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


![](https://img.alicdn.com/imgextra/i3/O1CN01wwZp7m1sSsUeXvXDI_!!6000000005766-2-tps-2324-766.png)

#### x-domain
Для настройки конфигурируемого домена для доступа к вашим функциям

domainName: title: конфигурация домена type: string default: auto required: false x-domain: true


##### Поля описания

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

![](https://img.alicdn.com/imgextra/i2/O1CN01XZFXdd1NIZWVVKHit_!!6000000001547-2-tps-2576-212.png)

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

![](https://img.alicdn.com/imgextra/i2/O1CN01iPn9PR1V1doJEP4Y5_!!6000000002593-2-tps-2366-290.png)

# советы

### Случайный суффикс 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 символов


- Вывод в командной строке имеет следующий вид:
![](https://img.alicdn.com/imgextra/i1/O1CN01GfWUYG1tP2mjNMScE_!!6000000005893-2-tps-1178-140.png)

- Визуализация на веб-странице:
![](https://img.alicdn.com/imgextra/i3/O1CN01DwxGgH205XDzjlOjo_!!6000000006798-2-tps-1616-380.png)

### Шаблонный движок
При запуске приложения используется [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

Пользовательские фильтры filter

При запуске приложения можно использовать пользовательские фильтры для парсинга шаблонов.

  • Сначала необходимо определить фильтры в файле hook/filter.js

    Пример содержимого файла hook/filter.js

    function timestamp(value) {
      return `ваш код: ${value}`
    }
    module.exports = {
      timestamp,
    };
  • Затем можно использовать определенные фильтры в шаблонах

    Пример использования фильтров в файле s.yaml

    # ...другие
    time: "{{ time | timestamp }}"

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/serverless-devs-Serverless-Devs.git
git@api.gitlife.ru:oschina-mirror/serverless-devs-Serverless-Devs.git
oschina-mirror
serverless-devs-Serverless-Devs
serverless-devs-Serverless-Devs
master