title | description | position | category |
---|---|---|---|
Пособие по проектированию инструмента |
Пособие по проектированию инструмента Serverless Devs |
8 |
Обзор |
Код | Описание |
---|---|
0 | Нормальный выход |
100 | Выход, вызванный ошибкой Serverless Devs |
101 | Выход, вызванный ошибкой компонента Serverless Devs |
Serverless Devs — это инструмент для разработчиков в области безсерверных технологий. Стандартизация и нормализация, внесенные Serverless Devs, оказывают значительное влияние на пользовательский опыт.Для получения дополнительной информации о спецификации дизайна CLI в Serverless Devs, см. cli_design.md
Некоторые параметры и переменные в Serverless Devs имеют значения по умолчанию. В этом разделе описываются приоритеты параметров и переменных. В этом разделе приоритеты элементов указаны в порядке убывания. В качестве примера используется спецификация приоритетов YAML-файлов.
-t/--template
.s.yaml
и s.yml
). Приоритет YAML-файлов s.yaml
выше, чем у YAML-файлов s.yml
.Когда Serverless Devs использует файлы описания ресурсов, Serverless Devs предпочтительно выбирает YAML-файлы, указанные параметром -t
или --template
, перед использованием YAML-файлов по умолчанию (s.yaml
и s.yml
). Приоритет s.yaml
выше, чем у s.yml
.
-t
или --template
.s.yaml
и s.yml
). Приоритет YAML-файлов s.yaml
выше, чем у YAML-файлов s.yml
.edition: 1.0.0 # Версия синтаксиса YAML. Версия соответствует спецификации семантической версионной нумерации. name: FullStack # Название проекта. access: xxx-account1 # Алиас ключа. services: nextjs-portal: # Название службы. component: vue-component # Название компонента. props: # Значение свойств компонента. src: ./frontend_src url: url assets: component: static props: www: "./public" gateway: component: serverless-gateway # Компонент маршрутизации HTTP-URL к службам. props: routes: - url: ${assets.output.url}Вы можете анализировать зависимости для каждой службы в YAML-файле. Анализ зависимостей показывает, что службы
nextjs-portal
иassets
не имеют дополнительных зависимостей. Службаgateway
зависит от службыassets
с помощью магической переменной${assets.output.url}
. В этом случае службаgateway
разворачивается с приоритетом. Затем разворачиваются службыnextjs-portal
иassets
сверху вниз. Таким образом, следующий порядок развертывания применим:gateway
->nextjs-portal
->assets
.### Порядок использования и спецификация ключей
-a/--access
по умолчанию
default_serverless_devs_access
Следующая диаграмма описывает процесс получения информации о ключе.
Serverless Devs позволяет легко настраивать информацию о ключах с помощью переменных окружения. Вы можете использовать следующие методы для настройки ключей с помощью переменных окружения:
ALIBABA_CLOUD_ACCOUNT_ID
, ALIBABA_CLOUD_ACCESS_KEY_ID
, ALIBABA_CLOUD_ACCESS_KEY_SECRET
. Вы можете использовать команду s config add
для добавления ключей:s config add -a default-aliyun -kl AccountID,AccessKeyID,AccessKeySecret -il ${ALIBABA_CLOUD_ACCOUNT_ID},${ALIBABA_CLOUD_ACCESS_KEY_ID},${ALIBABA_CLOUD_ACCESS_KEY_SECRET}.
Настройте ключи с помощью указанных переменных окружения. Например, для следующих пар ключей:
*********_serverless_devs_access
в переменной окружения и установить значение в строку в формате JSON. В следующем примере используется default_serverless_devs_access
.default_serverless_devs_access
{"AccountID":"temp_accountid","AccessKeyID":"temp_accesskeyid","AccessKeySecret":"temp_accesskeysecret"}
В этом случае вы можете указать ключ default_serverless_devs_access
при настройке ключей. Пример: ${env(default_serverless_devs_access)}
.При настройке файла s.yaml
следует придерживаться следующего формата:
edition: 1.0.0 # Версия синтаксиса YAML. Версия соответствует спецификации семантической версии.
name: fcDeployApp # Имя проекта.
access: default_serverless_devs_access # Алиас ключа.
services:
fc-deploy-test:
component: fc-deploy # Имя компонента
props: # Значение свойства компонента
region: cn-shenzhen
service:
name: fc-deploy-service
Serverless Devs предоставляет возможности, основанные на искусственном интеллекте, для устранения неполадок. Если вы столкнулись с ошибкой Serverless Devs, система выполняет маскировку данных и получает решения через API-запросы. Пример:
Если у вас есть проблема с форматом в текущем YAML-файле проекта, выполните команду s deploy
в проекте:
$ s deploy
ERROR:
TypeError: Не удается преобразовать неопределенное или null значение в объект
AI Советы:
Вы можете попробовать решить проблему через: http://qa.devsapp.cn/7867adf78017601dffd8c3611c90cadf.html
```TraceId: a483e74739551640838688289
Environment: @serverless-devs/s: 2.0.96, @serverless-devs/core: 0.1.23, darwin-x64, node-v12.15.0
Документация: https://www.serverless-devs.com
Обсуждения: https://github.com/Serverless-Devs/Serverless-Devs/discussions
Проблемы: https://github.com/Serverless-Devs/Serverless-Devs/issues
```Пожалуйста, скопируйте traceId: a483e74739551640838688289 и присоединитесь к группе Dingding: 33947367 для консультации.
Вы можете запустить 's clean --cache' для очистки Serverless devs.
И запустите снова с опцией '--debug' или 's -h' для получения дополнительных логов.
Исправленный текст:
Вы можете запустить 's clean --cache' для очистки Serverless Devs.
И запустите снова с опцией '--debug' или 's -h' для получения дополнительных логов.
```Показанное ниже содержимое отображается на странице системных уведомлений.

> **Примечание:** При использовании этой функции Serverless Devs собирает и обрабатывает ошибки клиента. На этих ошибках выполняется маскировка данных для обеспечения конфиденциальности. Если вы не хотите использовать эту функцию, запустите команду `s set analysis disable` для отключения этой функции.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )