Creating a device
Warning
Yandex IoT Core is no longer available to new users.
Current users can create resources until November 1, 2026. Afterwards, the service will go read-only and cease to operate on December 1, 2026. For more information on the timing and procedure, see Service shutdown.
-
In the management console
, select a folder to create a device in. -
Navigate to IoT Core.
-
Select the required registry from the list.
-
Select Devices in the left pane of the window.
-
Click Add device.
-
Under General information, add:
-
Device Name, e.g.,
my-device. -
(Optional) Description with additional information about the device.
-
(Optional) Password that you will use to access the device. To create a password, you can use this password generator
.Note
Make sure to save your password, as you will need it for authentication.
-
-
(Optional) Add aliases:
- Click Add alias.
- Fill out the fields: enter an alias, e.g.,
events, and the topic type after$devices/<device_ID>, e.g.,events. You will be able to use theeventsalias instead of the$devices/<device_ID>/eventstopic.
-
(Optional) Add a certificate:
-
To add a file:
- Select the
Filemethod. - Click Attach file.
- Select the file with the public key of the certificate and click Open.
- Click Add.
- Select the
-
To add text:
- Select the
Textmethod. - Paste the certificate's public key to the Content field.
- Click Add.
- Select the
-
-
Click Create.
If you do not have the Yandex Cloud CLI yet, install and initialize it.
-
Review a list of the registries where you can create a device or create a new registry.
-
Create a device:
yc iot device create \ --registry-name <registry_name> \ --name <device_name>The device naming requirements are as follows:
- Length: between 3 and 63 characters.
- It can only contain lowercase Latin letters, numbers, and hyphens.
- It must start with a letter and cannot end with a hyphen.
Result:
id: b9135goeh********** registry_id: b91ki3851h********** created_at: "2019-05-28T16:08:30.938Z" name: <device_name> status: ACTIVE -
(Optional) Assign the device a password for authentication with a username and password:
yc iot device password add --device-name <device_name>You will be prompted to enter a password. Password requirements:
- The password must contain numbers, upper-case and lower-case letters, and special characters.
- It must be at least 14 characters long.
Result:
device_id: b9135goeh********** id: aoek49ghmk********* created_at: "2019-05-28T16:12:30.938Z" -
(Optional) Add to the registry a certificate for authentication with certificates:
yc iot device certificate add \ --device-name <device_name> \ --certificate-file <certificate>Where:
--device-name: Device name.--certificate-file: Path to the public key of the certificate, e.g.,cert.pem.
Result:
device_id: b9135goeh********** fingerprint: 589ce16050**** certificate_data: | -----BEGIN CERTIFICATE----- MIIE/jCCAuagAwIBAgIJAPRA... -----END CERTIFICATE----- created_at: "2019-05-28T16:15:30.938Z" -
(Optional) Add aliases:
yc iot device add-topic-aliases \ --name <device_name> \ --topic-aliases <alias>='<topic>'Here is an example:
yc iot device add-topic-aliases \ --name my-device \ --topic-aliases events='$devices/are0ej5kpik1********/events'Result:
id: aoek49ghmk********* registry_id: b91ki3851h********** created_at: "2019-05-28T16:17:30.938Z" name: <device_name> topic_aliases: <alias>: <topic> status: ACTIVE
With Terraform
Terraform is distributed under the Business Source License
For more information about the provider resources, see the relevant documentation on the Terraform
If you do not have Terraform yet, install it and configure the Yandex Cloud provider.
To manage infrastructure using Terraform under a service account or user accounts (a Yandex account, a federated account, or a local user), authenticate using the appropriate method.
Note
To add certificates to a device, generate them in advance.
To create a device:
-
Review a list of the registries where you can create a device or create a new registry.
-
In the configuration file, describe the resource you want to create:
-
yandex_iot_core_device: Device properties:registry_id: ID of the registry where the device will be created.name: Device name.description: Device description.aliases: Topic aliases. For more detail, please see Creating an alias.passwords: List of passwords for authentication with a username and password.certificates: List of certificates for authentication with certificates.
Note
Make sure to use only one of the two authentication methods.
Here is an example of the resource structure in the configuration file:
resource "yandex_iot_core_device" "my_device" { registry_id = "<registry_ID>" name = "test-device" description = "test device for terraform provider documentation" aliases = { "some-alias1/subtopic" = "$devices/{id}/events/somesubtopic", "some-alias2/subtopic" = "$devices/{id}/events/aaa/bbb", } passwords = [ "<password>", ] certificates = [ file("<certificate_file_path>") ] }For more information about the resources you can create with Terraform, see this provider guide.
-
-
Make sure the configuration files are correct.
- In the terminal, navigate to the directory where you created your configuration file.
- Run a check using this command:
terraform plan
If the configuration is correct, the terminal will display a list of the resources and their settings. Otherwise, Terraform will show any detected errors.
-
Deploy the cloud resources.
- If the configuration is correct, run this command:
terraform apply - Confirm creating the resources.
This will create all the resources you need in the specified folder. You can check the new resources and their settings using the management console
. - If the configuration is correct, run this command:
To create a device, use the create REST API method for the Device resource or the DeviceService/Create gRPC API call.