[ aws . greengrassv2 ]
create-deployment
Описание
Создает непрерывное развертывание для целевого объекта, который представляет собой устройство Greengrass Core или группу устройств Core. При добавлении нового устройства Core в группу устройств Core, имеющую развертывание, IoT Greengrass развертывает развертывание этой группы на новое устройство.
Вы можете определить одно развертывание для каждого целевого объекта. Когда вы создаете новое развертывание для целевого объекта, имеющего существующее развертывание, вы заменяете предыдущее развертывание. IoT Greengrass применяет новое развертывание к целевым устройствам.
Каждое развертывание имеет номер версии, который указывает, сколько версий развертывания вы определяете для целевого объекта. Используйте эту операцию для создания новой версии существующего развертывания.
Для получения дополнительной информации см. раздел Создание развертываний в руководстве Разработчика IoT Greengrass V2.
См. также: Документацию API AWS
Синтаксис
create-deployment
--target-arn <value>
[--deployment-name <value>]
[--components <value>]
[--iot-job-configuration <value>]
[--deployment-policies <value>]
[--parent-target-arn <value>]
[--tags <value>]
[--client-token <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
Параметры
--target-arn (строка)
--deployment-name (строка)
--components (массив)
Компоненты для развёртывания. Это словарь, где каждый ключ — имя компонента, а значение ключа — версия и конфигурация для развёртывания этого компонента.
ключ -> (строка)
значение -> (структура)
Содержит информацию о компоненте для развёртывания.
componentVersion -> (строка)
configurationUpdate -> (структура)
Обновления конфигурации для развёртывания компонента. Можно определять обновления reset и merge. Обновление reset устанавливает указанные ключи в значения по умолчанию для компонента. Обновление merge обновляет конфигурацию компонента целевого устройства значениями, которые вы указали. Программное обеспечение IoT Greengrass Core применяет обновления reset до применения обновлений merge. Дополнительную информацию см. в разделе Обновление конфигураций компонентов в руководстве разработчика IoT Greengrass V2.
merge -> (строка)
reset -> (список)
Список узлов конфигурации, которые следует сбросить до значений по умолчанию на целевых устройствах. Используйте JSON-указатели для указания каждого узла для сброса. JSON-указатели начинаются с косой черты (/ ) и используют косые черты для разделения ключей каждого уровня в объекте. Дополнительную информацию см. в спецификации JSON-указателя и разделе Сброс обновлений конфигурации в руководстве разработчика IoT Greengrass V2.
(строка)
runWith -> (структура)
Пользователь и группа системы, которые использует программное обеспечение IoT Greengrass Core для запуска процессов компонентов на ядре устройства. Если этот параметр опущен, программное обеспечение IoT Greengrass Core использует системного пользователя и группу, которые вы настраиваете для ядра устройства. Дополнительную информацию см. в разделе Настройка пользователя и группы для запуска компонентов в руководстве разработчика IoT Greengrass V2.
posixUser -> (строка)
Системный пользователь POSIX и, необязательно, группа для использования для запуска этого компонента на устройствах ядра Linux. Пользователь и группа (если указаны) должны существовать на каждом устройстве ядра Linux. Укажите пользователя и группу, разделенные двоеточием (: ), в следующем формате: user:group . Группа необязательна. Если вы не указываете группу, программное обеспечение IoT Greengrass Core использует основного пользователя для группы.
Если этот параметр опущен, программное обеспечение IoT Greengrass Core использует значения по умолчанию системного пользователя и группы, которые вы настраиваете в компоненте ядра Greengrass. Дополнительную информацию см. в разделе Настройка пользователя и группы для запуска компонентов.
systemResourceLimits -> (структура)
Пределы системных ресурсов, которые необходимо применить к процессу этого компонента на устройстве ядра. В настоящее время IoT Greengrass поддерживает эту функцию только на устройствах ядра Linux.
Если этот параметр опущен, программное обеспечение IoT Greengrass Core использует значения по умолчанию системных пределов ресурсов, которые вы настраиваете в компоненте ядра Greengrass. Дополнительную информацию см. в разделе Настройка пределов системных ресурсов для компонентов.
memory -> (целое)
cpus -> (вещественное число)
2 , чтобы ограничить использование процессора процессами компонента до 50 процентов каждого ядра процессора. На устройстве с 1 ядром процессора вы можете установить это значение в 0.25 , чтобы ограничить использование процессора процессами компонента до 25 процентов. Если вы установите это значение больше, чем количество ядер процессора, программное обеспечение IoT Greengrass Core не ограничивает использование процессора компонента.windowsUser -> (строка)
Пользователь Windows, который будет использоваться для запуска этого компонента на устройствах ядра Windows. Пользователь должен существовать на каждом устройстве ядра Windows, а его имя и пароль должны быть в экземпляре диспетчера учетных данных учетной записи LocalSystem.
Если этот параметр опущен, программное обеспечение IoT Greengrass Core использует значение по умолчанию для пользователя Windows, которое вы настраиваете в компоненте ядра Greengrass. Дополнительную информацию см. в разделе Настройка пользователя и группы для запуска компонентов.
Краткая запись:
KeyName1=componentVersion=string,configurationUpdate={merge=string,reset=[string,string]},runWith={posixUser=string,systemResourceLimits={memory=long,cpus=double},windowsUser=string},KeyName2=componentVersion=string,configurationUpdate={merge=string,reset=[string,string]},runWith={posixUser=string,systemResourceLimits={memory=long,cpus=double},windowsUser=string}
Синтаксис JSON:
{"string": {
"componentVersion": "string",
"configurationUpdate": {
"merge": "string",
"reset": ["string", ...]
},
"runWith": {
"posixUser": "string",
"systemResourceLimits": {
"memory": long,
"cpus": double
},
"windowsUser": "string"
}
}
...}
--iot-job-configuration (структура)
Конфигурация задания для конфигурации развёртывания. Конфигурация задания определяет развёртывание, таймаут и параметры остановки для конфигурации развёртывания.
jobExecutionsRolloutConfig -> (структура)
Конфигурация развёртывания для задания. Эта конфигурация определяет скорость развёртывания задания для флота целевых устройств.
exponentialRate -> (структура)
Экспоненциальная скорость увеличения скорости развёртывания задания.
baseRatePerMinute -> (целое число)
incrementFactor -> (вещественное число)
Экспоненциальный множитель для увеличения скорости развёртывания задания.
Этот параметр поддерживает до одной цифры после десятичной точки (например, вы можете указать 1.5 , но не 1.55 ).
rateIncreaseCriteria -> (структура)
Критерии увеличения скорости развёртывания задания.
numberOfNotifiedThings -> (целое число)
numberOfSucceededThings -> (целое число)
maximumPerMinute -> (целое число)
abortConfig -> (структура)
Конфигурация остановки для задания. Эта конфигурация определяет, когда и как остановить развёртывание задания.
criteriaList -> (список)
Список критериев, определяющих, когда и как отменить развёртывание конфигурации.
(структура)
Содержит критерии, определяющие, когда и как отменить задание.
Развёртывание останавливается, если выполняются следующие условия:
- Количество устройств, получивших развёртывание, превысило
minNumberOfExecutedThings. - Процент сбоев типа
failureTypeпревысилthresholdPercentage.
failureType -> (строка)
action -> (строка)
thresholdPercentage -> (вещественное число)
Минимальный процент failureType сбоев, которые должны произойти, прежде чем задание можно будет отменить.
Этот параметр поддерживает до двух цифр после десятичной точки (например, можно указать 10.9 или 10.99 , но не 10.999 ).
minNumberOfExecutedThings -> (целое число)
timeoutConfig -> (структура)
Конфигурация таймаута для задания. Эта конфигурация определяет время, которое у каждого устройства есть на завершение задания.
inProgressTimeoutInMinutes -> (целое число)
Время в минутах, которое у устройств есть на завершение задания. Таймер запускается, когда статус задания установлен в IN_PROGRESS . Если статус задания не изменится на конечное состояние до истечения времени, то статус задания будет установлен в TIMED_OUT .
Интервал таймаута должен составлять от 1 минуты до 7 дней (10080 минут).
Синтаксис JSON:
{
"jobExecutionsRolloutConfig": {
"exponentialRate": {
"baseRatePerMinute": integer,
"incrementFactor": double,
"rateIncreaseCriteria": {
"numberOfNotifiedThings": integer,
"numberOfSucceededThings": integer
}
},
"maximumPerMinute": integer
},
"abortConfig": {
"criteriaList": [
{
"failureType": "FAILED"|"REJECTED"|"TIMED_OUT"|"ALL",
"action": "CANCEL",
"thresholdPercentage": double,
"minNumberOfExecutedThings": integer
}
...
]
},
"timeoutConfig": {
"inProgressTimeoutInMinutes": long
}
}
--deployment-policies (структура)
Политики развёртывания для развёртывания. Эти политики определяют, как развёртывание обновляет компоненты и обрабатывает сбои.
failureHandlingPolicy -> (строка)
Политика обработки сбоев для развёртывания конфигурации. Эта политика определяет, что делать в случае сбоя развёртывания.
По умолчанию: ROLLBACK
componentUpdatePolicy -> (структура)
Политика обновления компонента для развёртывания конфигурации. Эта политика определяет, когда безопасно развёртывать конфигурацию на устройствах.
timeoutInSeconds -> (целое число)
Время в секундах, которое у каждого компонента на устройстве есть на сообщение о безопасности обновления. Если компонент ждёт дольше, чем этот таймаут, то развёртывание происходит на устройстве.
По умолчанию: 60
action -> (строка)
Уведомлять компоненты и ожидать, пока компоненты станут безопасными для обновления. Выберите один из следующих вариантов:
-
NOTIFY_COMPONENTS— развёртывание уведомляет каждый компонент перед остановкой и обновляет этот компонент. Компоненты могут использовать операцию IPC SubscribeToComponentUpdates для получения этих уведомлений. Затем компоненты могут ответить операцией IPC DeferComponentUpdate. Дополнительную информацию см. в разделе Создание развёртываний в руководстве разработчика IoT Greengrass V2. -
SKIP_NOTIFY_COMPONENTS— развёртывание не уведомляет компоненты и не ожидает, пока они станут безопасными для обновления.
По умолчанию: NOTIFY_COMPONENTS
configurationValidationPolicy -> (структура)
Политика проверки конфигурации для развёртывания конфигурации. Эта политика определяет, сколько времени у каждого компонента есть на проверку обновлений конфигурации.
timeoutInSeconds -> (целое число)
Время в секундах, которое у компонента есть на проверку обновлений конфигурации. Если время проверки превышает этот таймаут, развёртывание происходит для устройства.
По умолчанию: 30
Краткая запись:
failureHandlingPolicy=string,componentUpdatePolicy={timeoutInSeconds=integer,action=string},configurationValidationPolicy={timeoutInSeconds=integer}
Синтаксис JSON:
{
"failureHandlingPolicy": "ROLLBACK"|"DO_NOTHING",
"componentUpdatePolicy": {
"timeoutInSeconds": integer,
"action": "NOTIFY_COMPONENTS"|"SKIP_NOTIFY_COMPONENTS"
},
"configurationValidationPolicy": {
"timeoutInSeconds": integer
}
}
--parent-target-arn (строка)
--tags (массив)
Список пар ключ-значение, содержащих метаданные для ресурса. Дополнительную информацию см. в разделе Проставьте метки для ресурсов в руководстве разработчика IoT Greengrass V2.
ключ -> (строка)
значение -> (строка)
Краткая синтаксическая запись:
KeyName1=string,KeyName2=string
Синтаксис JSON:
{"string": "string"
...}
--client-token (строка)
--cli-input-json | --cli-input-yaml (строка) Читает аргументы из предоставленной JSON-строки. JSON-строка соответствует формату, предоставленному --generate-cli-skeleton. Если другие аргументы предоставлены в командной строке, эти значения будут переопределять значения, предоставленные JSON. Невозможно передать произвольные двоичные значения, используя значение, предоставленное в JSON, так как строка будет взята буквально. Это может не быть указано вместе с --cli-input-yaml.
--generate-cli-skeleton (строка) Выводит JSON-скелет в стандартный вывод без отправки запроса API. Если предоставлено значение без значения или значение input, выводит пример JSON-ввода, который может быть использован в качестве аргумента для --cli-input-json. Аналогично, если предоставлено yaml-input, будет выведен пример YAML-ввода, который можно использовать с --cli-input-yaml. Если предоставлено значение output, оно валидирует входные данные команды и возвращает пример выходного JSON для этой команды. Сгенерированный JSON-скелет не является стабильным между версиями AWS CLI, и нет гарантий обратной совместимости в сгенерированном JSON-скелете.
Глобальные параметры
--debug (булево)
Включить отладочную регистрацию.
--endpoint-url (строка)
Переопределить значение по умолчанию URL команды на предоставленный URL.
--no-verify-ssl (булево)
По умолчанию AWS CLI использует SSL при общении с AWS-сервисами. Для каждого SSL-соединения AWS CLI будет проверять сертификаты SSL. Этот параметр переопределяет поведение по умолчанию проверки сертификатов SSL.
--no-paginate (булево)
Отключить автоматическую постраничную навигацию. Если автоматическая постраничная навигация отключена, AWS CLI будет выполнять только один вызов для первой страницы результатов.
--output (строка)
Стиль форматирования для вывода команды.
- json
- текст
- таблица
- yaml
- yaml-поток
--query (строка)
Запрос JMESPath для использования в фильтрации данных ответа.
--profile (строка)
Использовать определенный профиль из вашего файла учетных данных.
--region (строка)
Регион для использования. Переопределяет настройки конфигурации/среды.
--version (строка)
Отобразить версию этого инструмента.
--color (строка)
Включить/выключить цветной вывод.
- вкл
- выкл
- авто
--no-sign-request (булево)
Не подписывать запросы. Учетные данные не будут загружены, если этот аргумент предоставлен.
--ca-bundle (строка)
Файл с набором сертификатов CA для проверки SSL-сертификатов. Переопределяет настройки конфигурации/среды.
--cli-read-timeout (целое число)
Максимальное время чтения сокета в секундах. Если значение установлено в 0, чтение сокета будет выполняться без блокировки и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-connect-timeout (целое число)
Максимальное время подключения сокета в секундах. Если значение установлено в 0, подключение сокета будет выполняться без блокировки и без таймаута. Значение по умолчанию составляет 60 секунд.
--cli-binary-format (строка)
Стиль форматирования, используемый для двоичных блоков. Формат по умолчанию — base64. Формат base64 ожидает, что двоичные блоки будут предоставлены как строка, закодированная в base64. Формат raw-in-base64-out сохраняет совместимость с поведением AWS CLI V1, и двоичные значения должны передаваться буквально. При предоставлении содержимого из файла, отображающего двоичный блок, fileb:// всегда будет обрабатываться как двоичный и будет использовать содержимое файла непосредственно независимо от параметра cli-binary-format. При использовании file:// содержимое файла должно быть правильно отформатировано для настроенного cli-binary-format.
- base64
- raw-in-base64-out
--no-cli-pager (булево)
Отключить пейджер CLI для вывода.
--cli-auto-prompt (булево)
Автоматически запрашивать параметры ввода CLI.
--no-cli-auto-prompt (булево)
Отключить автоматическое запросы параметров ввода CLI.
Примеры
Примечание
Для использования следующих примеров необходимо установить и настроить AWS CLI. Дополнительную информацию см. в руководстве по началу работы в Руководстве пользователя AWS CLI.
Если не указано иное, все примеры используют правила цитирования Unix-подобных систем. Эти примеры необходимо адаптировать к правилам цитирования вашей терминальной оболочки. См. Использование кавычек со строками в Руководстве пользователя AWS CLI.
Пример 1: Создание развертывания
Следующий create-deployment пример развертывает AWS IoT Greengrass Command Line Interface на устройстве ядра.
aws greengrassv2 create-deployment \
--cli-input-json file://cli-deployment.json
Содержимое cli-deployment.json:
{
"targetArn": "arn:aws:iot:us-west-2:123456789012:thing/MyGreengrassCore",
"deploymentName": "Deployment for MyGreengrassCore",
"components": {
"aws.greengrass.Cli": {
"componentVersion": "2.0.3"
}
},
"deploymentPolicies": {
"failureHandlingPolicy": "DO_NOTHING",
"componentUpdatePolicy": {
"timeoutInSeconds": 60,
"action": "NOTIFY_COMPONENTS"
},
"configurationValidationPolicy": {
"timeoutInSeconds": 60
}
},
"iotJobConfiguration": {}
}
Вывод:
{
"deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
}
Дополнительную информацию см. в разделе Создание развертываний в Руководстве разработчика AWS IoT Greengrass V2.
Пример 2: Создание развертывания, обновляющего конфигурации компонентов
Следующий create-deployment пример развертывает компонент ядра AWS IoT Greengrass на группе устройств ядра. Это развертывание применяет следующие обновления конфигурации для компонента ядра:
- Сброс настроек прокси-сервера целевых устройств до их значений по умолчанию (без прокси).
- Сброс настроек MQTT целевых устройств до значений по умолчанию.
- Установка параметров JVM для JVM ядра.
- Установка уровня регистрации для ядра.
aws greengrassv2 create-deployment \
--cli-input-json file://nucleus-deployment.json
Содержимое nucleus-deployment.json:
{
"targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup",
"deploymentName": "Deployment for MyGreengrassCoreGroup",
"components": {
"aws.greengrass.Nucleus": {
"componentVersion": "2.0.3",
"configurationUpdate": {
"reset": [
"/networkProxy",
"/mqtt"
],
"merge": "{\"jvmOptions\":\"-Xmx64m\",\"logging\":{\"level\":\"WARN\"}}"
}
}
},
"deploymentPolicies": {
"failureHandlingPolicy": "ROLLBACK",
"componentUpdatePolicy": {
"timeoutInSeconds": 60,
"action": "NOTIFY_COMPONENTS"
},
"configurationValidationPolicy": {
"timeoutInSeconds": 60
}
},
"iotJobConfiguration": {}
}
Вывод:
{
"deploymentId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
"iotJobId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
"iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222"
}
Дополнительную информацию см. в разделах Создание развертываний и Обновление конфигураций компонентов в Руководстве разработчика AWS IoT Greengrass V2.
Вывод
deploymentId -> (строка)
iotJobId -> (строка)
iotJobArn -> (строка)
© Copyright 2025, Amazon Web Services. Created using Sphinx.