Создание алиаса в Yandex IoT Core
Алиас привязан к конкретному устройству, поэтому для создания алиаса вам надо узнать идентификатор или имя устройства.
Примечание
Для топика $monitoring/<идентификатор_устройства>/json
можно использовать только системный алиас $me
.
Чтобы создать алиас:
- В консоли управления
выберите каталог, в котором вы хотите создать алиас. - Выберите сервис IoT Core.
- Выберите в списке нужный реестр.
- В левой части окна выберите раздел Устройства.
- Нажмите значок
справа от имени нужного устройства, в выпадающем списке выберите Редактировать. - Добавьте алиас:
- Нажмите кнопку Добавить алиас.
- Заполните поля: введите алиас (например,
events
) и тип топика после$devices/<идентификатор_устройства>
(например,events
).
Вы сможете использовать алиасevents
вместо топика$devices/<идентификатор_устройства>/events
. - Повторите действия для каждого добавляемого алиаса.
- Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Создайте алиас:
yc iot device add-topic-aliases arenak5ciqss********
--topic-aliases commands='$devices/arenak5ciqss********/commands'
Результат:
id: arenak5ciqss********
registry_id: arenou2oj4ct********
created_at: "2019-09-16T12:32:48.911Z"
name: second
topic_aliases:
commands: $devices/arenak5ciqss********/commands
Также вы можете добавить алиас при создании устройства. Для этого вместо уникального идентификатора в топике устройства указывается {id}
, так как уникальный идентификатор еще неизвестен:
yc iot device create
--registry-name <имя_реестра>
--name <имя_устройства>
--topic-aliases <имя_алиаса>='$devices/{id}/<events,_state,_commands_или_config>'
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы добавить алиас устройству, созданному с помощью Terraform:
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
yandex_iot_core_device
— параметры устройства:registry_id
— идентификатор реестра, в котором создано устройство.name
— имя устройства.description
— описание устройства.aliases
— алиасы топиков.
Пример структуры ресурса в конфигурационном файле:
resource "yandex_iot_core_device" "my_device" { registry_id = "<идентификатор_реестра>" name = "<имя_устройства>" description = "test device for terraform provider documentation" aliases = { "some-alias1/subtopic" = "$devices/{id}/events/somesubtopic", "some-alias2/subtopic" = "$devices/{id}/events/aaa/bbb", } ... }
Более подробную информацию о параметрах ресурса
yandex_iot_core_device
в Terraform, см. в документации провайдера . -
В командной строке перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.Проверить алиасы устройства можно в консоли управления
или с помощью команды CLI:yc iot device get <имя_устройства>
Чтобы создать алиас, воспользуйтесь методом REST API create для ресурса Device или вызовом gRPC API DeviceService/Create.