Spec-Zone.ru › AWS CLI v2

[ aws . greengrass ]

создание версии определения устройства

Описание

Создаёт версию определения устройства, которое уже было определено.

См. также: Документацию API AWS

Синтаксис

  create-device-definition-version
[--amzn-client-token <value>]
--device-definition-id <value>
[--devices <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]

Параметры

--amzn-client-token (строка) Маркер клиента, используемый для корреляции запросов и ответов.

--device-definition-id (строка) Идентификатор определения устройства.

--devices (список) Список устройств в версии определения. (структура)

Информация об устройстве.

CertificateArn -> (строка)

ARN сертификата, связанного с устройством.

Id -> (строка)

Дескриптивный или произвольный идентификатор устройства. Это значение должно быть уникальным в рамках версии определения устройства. Максимальная длина составляет 128 символов с шаблоном ‘’[a-zA-Z0-9:_-]+’’.

SyncShadow -> (булево)

Если true, локальное shadow устройства будет автоматически синхронизировано с облаком.

ThingArn -> (строка)

ARN устройства.

Сокращённый синтаксис:

CertificateArn=string,Id=string,SyncShadow=boolean,ThingArn=string ...

Синтаксис JSON:

[
  {
    "CertificateArn": "string",
    "Id": "string",
    "SyncShadow": true|false,
    "ThingArn": "string"
  }
  ...
]

--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 (строка)

Использовать определённый профиль из вашего файла creds.

--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-auto-prompt (булево)

Автоматически запрашивать параметры ввода CLI.

--no-cli-auto-prompt (булево)

Отключить автоматическое запросы параметров ввода CLI.

Примеры

Примечание

Чтобы использовать следующие примеры, у вас должен быть установлен и настроен AWS CLI. Подробнее см. руководство по началу работы в Руководстве пользователя AWS CLI.

Если не указано иное, все примеры используют правила цитирования Unix-подобных терминалов. Эти примеры необходимо адаптировать к правилам цитирования вашего терминала. Подробнее см. Использование кавычек со строками в Руководстве пользователя AWS CLI.

Для создания версии определения устройства

Следующий create-device-definition-version пример создаёт версию определения устройства и связывает её с указанным определением устройства. Версия определяет два устройства. Прежде чем вы сможете создать устройство Greengrass, вы должны сначала создать и настроить соответствующее AWS IoT устройство. Этот процесс включает в себя следующие iot команды, которые необходимо выполнить, чтобы получить необходимую информацию для команды Greengrass:

  • Создайте AWS IoT устройство, соответствующее устройству:

    aws iot create-thing \
        --thing-name "InteriorTherm"
    

Вывод:

{
    "thingArn": "arn:aws:iot:us-west-2:123456789012:thing/InteriorTherm",
    "thingName": "InteriorTherm",
    "thingId": "01d4763c-78a6-46c6-92be-7add080394bf"
}
  • Создайте открытые и закрытые ключи, а также сертификат устройства для устройства. В этом примере используется команда create-keys-and-certificate и требуются права записи в текущую директорию. В качестве альтернативы, вы можете использовать команду create-certificate-from-csr:

    aws iot create-keys-and-certificate \
        --set-as-active \
        --certificate-pem-outfile "myDevice.cert.pem" \
        --public-key-outfile "myDevice.public.key" \
        --private-key-outfile "myDevice.private.key"
    

Вывод:

{
    "certificateArn": "arn:aws:iot:us-west-2:123456789012:cert/66a415ec415668c2349a76170b64ac0878231c1e21ec83c10e92a18bd568eb92",
    "certificatePem": "-----BEGIN CERTIFICATE-----\nMIIDWTCAkGgAwIBATgIUCgq6EGqou6zFqWgIZRndgQEFW+gwDQYJKoZIhvc...KdGewQS\n-----END CERTIFICATE-----\n",
    "keyPair": {
        "PublicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBzrqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqKpRgnn6yq26U3y...wIDAQAB\n-----END PUBLIC KEY-----\n",
        "PrivateKey": "-----BEGIN RSA PRIVATE KEY-----\nMIIEowIABAKCAQEAqKpRgnn6yq26U3yt5YFZquyukfRjbMXDcNOK4rMCxDR...fvY4+te\n-----END RSA PRIVATE KEY-----\n"
    },
    "certificateId": "66a415ec415668c2349a76170b64ac0878231c1e21ec83c10e92a18bd568eb92"
}
  • Создайте политику AWS IoT, которая разрешает iot и greengrass действия. Для простоты, следующая политика разрешает действия по всем ресурсам, но ваша политика может быть более ограниченной:

    aws iot create-policy \
        --policy-name "GG_Devices" \
        --policy-document "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"iot:Publish\",\"iot:Subscribe\",\"iot:Connect\",\"iot:Receive\"],\"Resource\":[\"*\"]},{\"Effect\":\"Allow\",\"Action\":[\"iot:GetThingShadow\",\"iot:UpdateThingShadow\",\"iot:DeleteThingShadow\"],\"Resource\":[\"*\"]},{\"Effect\":\"Allow\",\"Action\":[\"greengrass:*\"],\"Resource\":[\"*\"]}]}"
    

Вывод:

{
    "policyName": "GG_Devices",
    "policyArn": "arn:aws:iot:us-west-2:123456789012:policy/GG_Devices",
    "policyDocument": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Effect\":\"Allow\",\"Action\":[\"iot:Publish\",\"iot:Subscribe\",\"iot:Connect\",\"iot:Receive\"],\"Resource\":[\"*\"]},{\"Effect\":\"Allow\",\"Action\":[\"iot:GetThingShadow\",\"iot:UpdateThingShadow\",\"iot:DeleteThingShadow\"],\"Resource\":[\"*\"]},{\"Effect\":\"Allow\",\"Action\":[\"greengrass:*\"],\"Resource\":[\"*\"]}]}",
    "policyVersionId": "1"
}
  • Прикрепите политику к сертификату:

    aws iot attach-policy \
        --policy-name "GG_Devices" \
        --target "arn:aws:iot:us-west-2:123456789012:cert/66a415ec415668c2349a76170b64ac0878231c1e21ec83c10e92a18bd568eb92"
    
  • Прикрепите устройство к сертификату:

    aws iot attach-thing-principal \
        --thing-name "InteriorTherm" \
        --principal "arn:aws:iot:us-west-2:123456789012:cert/66a415ec415668c2349a76170b64ac0878231c1e21ec83c10e92a18bd568eb92"
    

После создания и настройки IoT устройства, как показано выше, используйте ThingArn и CertificateArn из первых двух команд в следующем примере.

aws greengrass create-device-definition-version \
    --device-definition-id "f9ba083d-5ad4-4534-9f86-026a45df1ccd" \
    --devices "[{\"Id\":\"InteriorTherm\",\"ThingArn\":\"arn:aws:iot:us-west-2:123456789012:thing/InteriorTherm\",\"CertificateArn\":\"arn:aws:iot:us-west-2:123456789012:cert/66a415ec415668c2349a76170b64ac0878231c1e21ec83c10e92a18bd568eb92\",\"SyncShadow\":true},{\"Id\":\"ExteriorTherm\",\"ThingArn\":\"arn:aws:iot:us-west-2:123456789012:thing/ExteriorTherm\",\"CertificateArn\":\"arn:aws:iot:us-west-2:123456789012:cert/6c52ce1b47bde88a637e9ccdd45fe4e4c2c0a75a6866f8f63d980ee22fa51e02\",\"SyncShadow\":true}]"

Вывод:

{
    "Arn": "arn:aws:greengrass:us-west-2:123456789012:/greengrass/definition/devices/f9ba083d-5ad4-4534-9f86-026a45df1ccd/versions/83c13984-6fed-447e-84d5-5b8aa45d5f71",
    "Version": "83c13984-6fed-447e-84d5-5b8aa45d5f71",
    "CreationTimestamp": "2019-09-11T00:15:09.838Z",
    "Id": "f9ba083d-5ad4-4534-9f86-026a45df1ccd"
}

Вывод

Arn -> (строка)

ARN версии.

CreationTimestamp -> (строка)

Время в миллисекундах с начала эпохи, когда была создана версия.

Id -> (строка)

Идентификатор родительского определения, с которым связана версия.

Version -> (строка)

Идентификатор версии.

© Copyright 2025, Amazon Web Services. Created using Sphinx.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API