Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat menggunakan fitur AWS IoT Device Management perintah untuk mengonfigurasi tindakan jarak jauh yang dapat digunakan kembali atau mengirim instruksi langsung satu kali ke perangkat Anda. Bagian berikut menunjukkan kepada Anda bagaimana Anda dapat membuat dan mengelola perintah dari AWS IoT konsol dan menggunakan AWS CLI.
Membuat dan mengelola operasi perintah
Buat sumber daya perintah
Saat Anda membuat perintah, Anda harus memberikan informasi berikut.
-
Informasi umum
Saat membuat perintah, Anda harus memberikan ID perintah, yang merupakan pengidentifikasi unik untuk membantu Anda mengidentifikasi perintah saat Anda ingin menjalankannya di perangkat target. Secara opsional, Anda juga dapat menentukan nama tampilan, deskripsi, dan tag untuk membantu Anda mengelola perintah lebih lanjut.
-
Muatan
Anda juga harus memberikan muatan yang menentukan tindakan yang harus dilakukan perangkat. Meskipun opsional, kami menyarankan Anda menentukan jenis format payload sehingga perangkat mengintepret muatan dengan benar.
Perintah yang dicadangkan topik menggunakan format yang bergantung pada jenis format payload.
-
Jika Anda menentukan jenis konten payload
application/json
atauapplication/cbor
, maka topik permintaan akan menjadi berikut.$aws/commands/
<devices>
/<DeviceID>
/executions/+/request/<PayloadFormat>
-
Jika Anda menentukan jenis konten payload selain
application/json
atauapplication/cbor
, atau jika Anda tidak menentukan jenis format payload, maka topik permintaan akan menjadi berikut. Dalam hal ini, format payload akan disertakan dalam header MQTT pesan.$aws/commands/
<devices>
/<DeviceID>
/executions/+/request
Topik respons perintah akan mengembalikan format yang menggunakan json
atau cbor
terlepas dari jenis format payload. Topik respons akan menggunakan format berikut di mana <PayloadFormat>
harus json
ataucbor
.
$aws/commands/
<devices>
/<DeviceID>
/executions/<ExecutionId>
/response/<PayloadFormat>
Bagian berikut menunjukkan kepada Anda pertimbangan format payload perintah dan cara membuat perintah dari konsol.
Format muatan perintah
Muatan dapat menggunakan format apa pun pilihan Anda. Ukuran maksimum muatan tidak boleh melebihi 32 KB. Untuk memastikan bahwa perangkat dapat menafsirkan muatan dengan aman dan benar, kami sarankan Anda menentukan jenis format payload.
Anda menentukan jenis format payload menggunakan type/subtype
format, seperti application/json
atauapplication/cbor
. Secara default, itu akan ditetapkan sebagaiapplication/octet-stream
. Untuk informasi tentang format payload yang dapat Anda tentukan, lihat MIMEJenis umum
Cara membuat perintah (konsol)
Untuk membuat perintah dari konsol, buka Command Hub
-
Untuk membuat sumber daya perintah baru, pilih Buat perintah.
-
Tentukan ID perintah unik untuk membantu Anda mengidentifikasi perintah yang ingin Anda jalankan pada perangkat target.
-
(Opsional) Tentukan nama tampilan opsional, deskripsi, dan pasangan nama-nilai sebagai tag untuk perintah Anda.
-
Unggah file payload dari penyimpanan lokal Anda yang berisi tindakan yang perlu dilakukan perangkat. Meskipun opsional, kami menyarankan Anda menentukan jenis format payload sehingga perangkat menafsirkan file dengan benar dan memproses instruksi.
-
Pilih Buat perintah.
Bagian ini menjelaskan API operasi bidang HTTP kontrol, CreateCommand
, dan AWS CLI perintah yang sesuai, create-command
yang dapat Anda jalankan untuk membuat sumber daya perintah.
Muatan perintah
Saat membuat perintah, Anda harus memberikan muatan. Payload yang Anda berikan adalah base64 dikodekan. Saat perangkat Anda menerima perintah, logika sisi perangkat dapat memproses muatan dan melakukan tindakan yang ditentukan. Untuk memastikan bahwa perangkat Anda menerima perintah dan payload dengan benar, kami sarankan Anda menentukan jenis konten payload.
catatan
Setelah Anda membuat perintah, Anda tidak dapat mengubah payload. Untuk memodifikasi payload, Anda harus membuat perintah baru.
IAMKebijakan sampel
Sebelum Anda menggunakan API operasi ini, pastikan IAM kebijakan Anda mengizinkan Anda untuk melakukan tindakan ini di perangkat. Contoh berikut menunjukkan IAM kebijakan yang memungkinkan izin pengguna untuk melakukan CreateCommand
tindakan.
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertiregion
.ap-south-1
-
dengan Akun AWS nomor Anda, sepertiaccount-id
.123456789012
-
dengan pengenal unik untuk ID AWS IoT perintah Anda, seperticommand-id
. Jika Anda ingin mengirim lebih dari satu perintah, Anda dapat menentukan perintah ini di bawah bagian Sumber daya dalam IAM kebijakan.LockDoor
{
"Version": "2012-10-17",
"Statement":
{
"Action": "iot:CreateCommand",
"Effect": "Allow",
"Resource": "arn:aws:iot:<region>
:<account_id>
:command/command-id
"
}
}
Buat contoh perintah
Contoh berikut menunjukkan bagaimana Anda dapat membuat perintah. Tergantung pada aplikasi Anda, ganti:
-
dengan pengidentifikasi unik untuk perintah. Misalnya, untuk mengunci doc-history rumah Anda, Anda dapat menentukan.<command-id>
Kami menyarankan Anda menggunakanUUID. Anda juga dapat menggunakan karakter alfa-numerik, “-”, dan “_”.LockDoor
-
(Opsional)
dan<display-name>
, yang merupakan bidang opsional yang dapat Anda gunakan untuk memberikan nama yang ramah dan deskripsi yang bermakna untuk perintah, seperti<description>
.Lock the doors of my home
-
namespace
, yang dapat Anda gunakan untuk menentukan namespace perintah. Itu pastiAWS-IoT
. -
payload
berisi informasi tentang payload yang ingin Anda gunakan saat menjalankan perintah dan jenis kontennya.
aws iot create-command \ --command-id
<command-id>
\ --display-name\ --description
<display-name>
<description>
\ --namespace AWS-IoT \ --payload '{"content":"eyAibWVzc2FnZSI6ICJIZWxsbyBJb1QiIH0="
,"contentType":"application/json"}'
Menjalankan perintah ini menghasilkan respons yang berisi ID dan ARN (nama sumber daya Amazon) dari perintah. Misalnya, jika Anda menentukan
perintah selama pembuatan, berikut ini menunjukkan contoh output menjalankan perintah.LockDoor
{
"commandId": "LockDoor",
"commandArn": "arn:aws:iot:ap-south-1:123456789012:command/LockDoor"
}
Mengambil informasi tentang perintah
Setelah Anda membuat perintah, Anda dapat mengambil informasi tentang hal itu dari AWS IoT konsol dan menggunakan. AWS CLI Anda dapat memperoleh informasi berikut.
-
ID perintah, nama sumber daya Amazon (ARN), nama tampilan dan deskripsi apa pun yang Anda tentukan untuk perintah tersebut.
-
Status perintah, yang menunjukkan apakah perintah tersedia untuk dijalankan pada perangkat target, atau apakah perintah itu tidak digunakan lagi atau dihapus.
-
Payload yang Anda berikan dan jenis formatnya.
-
Waktu ketika perintah dibuat dan terakhir diperbarui.
Untuk mengambil perintah dari konsol, buka Command Hub
Selain detail perintah, Anda dapat melihat riwayat perintah, yang memberikan informasi tentang eksekusi perintah pada perangkat target. Setelah Anda menjalankan perintah ini pada perangkat, Anda dapat menemukan informasi tentang eksekusi pada tab ini.
Gunakan API operasi bidang GetCommand
HTTPkontrol atau get-command
AWS CLI perintah untuk mengambil informasi tentang sumber daya perintah. Anda harus sudah membuat perintah menggunakan CreateCommand
API permintaan atau create-command
CLI.
IAMKebijakan sampel
Sebelum Anda menggunakan API operasi ini, pastikan IAM kebijakan Anda mengizinkan Anda untuk melakukan tindakan ini di perangkat. Contoh berikut menunjukkan IAM kebijakan yang memungkinkan izin pengguna untuk melakukan GetCommand
tindakan.
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertiregion
ap-south-1
. -
dengan Akun AWS nomor Anda, sepertiaccount-id
.123456789023
-
dengan pengidentifikasi perintah AWS IoT unik Anda, seperticommand-id
. Jika Anda ingin mengambil lebih dari satu perintah, Anda dapat menentukan perintah ini di bawah bagian Sumber daya dalam IAM kebijakan.LockDoor
{
"Version": "2012-10-17",
"Statement":
{
"Action": "iot:GetCommand",
"Effect": "Allow",
"Resource": "arn:aws:iot:<region>
:<account_id>
:command/command-id
"
}
}
Ambil contoh perintah ()AWS CLI
Contoh berikut menunjukkan cara untuk mengambil informasi tentang perintah menggunakan. get-command
AWS CLI Bergantung pada aplikasi Anda, ganti
dengan pengenal untuk perintah yang ingin Anda ambil informasinya. Anda dapat memperoleh informasi ini dari tanggapan <command-id>
create-command
CLI.
aws iot get-command --command-id
<command-id>
Menjalankan perintah ini menghasilkan respons yang berisi informasi tentang perintah, payload, dan waktu ketika itu dibuat dan terakhir diperbarui. Ini juga memberikan informasi yang menunjukkan apakah perintah telah usang atau sedang dihapus.
Misalnya, kode berikut menunjukkan respons sampel.
{
"commandId": "LockDoor",
"commandArn": "arn:aws:iot:<region>:<account>:command/LockDoor",
"namespace": "AWS-IoT",
"payload":{
"content": "eyAibWVzc2FnZSI6ICJIZWxsbyBJb1QiIH0=",
"contentType": "application/json"
},
"createdAt": "2024-03-23T00:50:10.095000-07:00",
"lastUpdatedAt": "2024-03-23T00:50:10.095000-07:00",
"deprecated": false,
"pendingDeletion": false
}
Daftar perintah di Akun AWS
Setelah Anda membuat perintah, Anda dapat melihat perintah yang telah Anda buat di akun Anda. Dalam daftar, Anda dapat menemukan informasi tentang:
-
ID perintah, dan nama tampilan apa pun yang Anda tentukan untuk perintah.
-
Nama sumber daya Amazon (ARN) dari perintah.
-
Status perintah yang menunjukkan apakah perintah tersedia untuk dijalankan pada perangkat target, atau apakah perintah tersebut tidak digunakan lagi.
catatan
Daftar tidak menampilkan yang sedang dihapus dari akun Anda. Jika perintah tertunda penghapusan, Anda masih dapat melihat detail untuk perintah ini menggunakan ID perintah mereka.
-
Waktu ketika perintah dibuat dan terakhir diperbarui.
Di AWS IoT konsol, Anda dapat menemukan daftar perintah yang Anda buat dan detailnya dengan masuk ke Command Hub
Untuk membuat daftar perintah yang Anda buat, gunakan ListCommands
APIoperasi atau list-commands
CLI.
IAMKebijakan sampel
Sebelum Anda menggunakan API operasi ini, pastikan IAM kebijakan Anda mengizinkan Anda untuk melakukan tindakan ini di perangkat. Contoh berikut menunjukkan IAM kebijakan yang memungkinkan izin pengguna untuk melakukan ListCommands
tindakan.
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertiregion
ap-south-1
. -
dengan Akun AWS nomor Anda, sepertiaccount-id
.123456789012
{
"Version": "2012-10-17",
"Statement":
{
"Action": "iot:ListCommands",
"Effect": "Allow",
"Resource": "arn:aws:iot:<region>
:<account_id>
:command/*"
}
}
Daftar perintah dalam contoh akun Anda
Perintah berikut menunjukkan cara membuat daftar perintah di akun Anda.
aws iot list-commands --namespace "AWS-IoT"
Menjalankan perintah ini menghasilkan respons yang berisi daftar perintah yang Anda buat, waktu ketika perintah dibuat dan kapan terakhir diperbarui. Ini juga menyediakan informasi status perintah, yang menunjukkan apakah perintah telah usang atau tersedia untuk dijalankan pada perangkat target. Untuk informasi selengkapnya tentang status dan alasan status yang berbeda, lihatStatus eksekusi perintah.
Perbarui sumber daya perintah
Setelah Anda membuat perintah, Anda dapat memperbarui nama tampilan dan deskripsi perintah.
catatan
Payload untuk perintah tidak dapat diperbarui. Untuk memperbarui informasi ini atau menggunakan payload yang dimodifikasi, Anda harus membuat perintah baru.
Untuk memperbarui perintah dari konsol, buka Command Hub
-
Untuk memperbarui sumber daya perintah yang ada, pilih perintah yang ingin Anda perbarui, lalu di bawah Tindakan, pilih Edit.
-
Tentukan nama tampilan dan deskripsi yang ingin Anda gunakan, dan pasangan nama-nilai apa pun sebagai tag untuk perintah Anda.
-
Pilih Edit untuk menyimpan perintah dengan pengaturan baru.
Gunakan API operasi bidang UpdateCommand
kontrol atau update-command
AWS CLI untuk memperbarui sumber daya perintah. Dengan menggunakan iniAPI, Anda dapat:
-
Edit nama tampilan dan deskripsi perintah yang Anda buat.
-
Menghentikan sumber daya perintah, atau memulihkan perintah yang sudah tidak digunakan lagi.
IAMKebijakan sampel
Sebelum Anda menggunakan API operasi ini, pastikan IAM kebijakan Anda mengizinkan Anda untuk melakukan tindakan ini di perangkat. Contoh berikut menunjukkan IAM kebijakan yang memungkinkan izin pengguna untuk melakukan UpdateCommand
tindakan.
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertiregion
ap-south-1
. -
dengan Akun AWS nomor Anda, sepertiaccount-id
.123456789012
-
dengan pengidentifikasi perintah AWS IoT unik Anda, seperticommand-id
. Jika Anda ingin mengambil lebih dari satu perintah, Anda dapat menentukan perintah ini di bawah bagian Sumber daya dalam IAM kebijakan.LockDoor
{
"Version": "2012-10-17",
"Statement":
{
"Action": "iot:UpdateCommand",
"Effect": "Allow",
"Resource": "arn:aws:iot:<region>
:<account_id>
:command/<command-id>
"
}
}
Perbarui informasi tentang contoh perintah (AWS CLI)
Contoh berikut menunjukkan kepada Anda cara memperbarui informasi tentang perintah menggunakan update-command
AWS CLI perintah. Untuk informasi tentang cara Anda dapat menggunakan ini API untuk menghentikan atau memulihkan sumber daya perintah, lihat. Perbarui sumber daya perintah (CLI)
Contoh menunjukkan bagaimana Anda dapat memperbarui nama tampilan dan deskripsi perintah. Bergantung pada aplikasi Anda, ganti
dengan pengenal untuk perintah yang ingin Anda ambil informasinya.<command-id>
aws iot update-command \ --command-id
<command-id>
--displayname<display-name>
\ --description<description>
Menjalankan perintah ini menghasilkan respons yang berisi informasi terbaru tentang perintah dan waktu terakhir diperbarui. Kode berikut menunjukkan permintaan sampel dan respons untuk memperbarui nama tampilan dan deskripsi perintah yang mematikan AC.
aws iot update-command \ --command-id
<LockDoor>
\ --displayname<Secondary lock door>
\ --description<Locks doors to my home>
Menjalankan perintah ini menghasilkan respons berikut.
{
"commandId": "LockDoor",
"commandArn": "arn:aws:iot:ap-south-1:123456789012:command/LockDoor",
"displayName": "Secondary lock door",
"description": "Locks doors to my home",
"lastUpdatedAt": "2024-05-09T23:15:53.899000-07:00"
}
Menghilangkan atau memulihkan sumber daya perintah
Setelah Anda membuat perintah, jika tidak lagi ingin melanjutkan menggunakan perintah, Anda dapat menandainya sebagai usang. Saat Anda menghentikan perintah, semua eksekusi perintah yang tertunda akan terus berjalan di perangkat target hingga mencapai status terminal. Setelah perintah tidak digunakan lagi, jika Anda ingin menggunakannya seperti untuk mengirim eksekusi perintah baru ke perangkat target, Anda harus memulihkannya.
catatan
Anda tidak dapat mengedit perintah usang, atau menjalankan eksekusi baru untuk itu. Untuk menjalankan perintah baru pada perangkat, Anda harus mengembalikannya sehingga status perintah berubah menjadi Tersedia.
Untuk informasi tambahan tentang menghentikan dan memulihkan perintah, dan pertimbangan untuk itu, lihat. Menghilangkan sumber daya perintah
Hapus sumber daya perintah
Jika Anda tidak lagi ingin menggunakan perintah, Anda dapat menghapusnya secara permanen dari akun Anda. Jika tindakan penghapusan berhasil:
-
Jika perintah tidak digunakan lagi untuk durasi yang lebih lama dari batas waktu maksimum 12 jam, perintah akan segera dihapus.
-
Jika perintah tidak digunakan lagi, atau tidak digunakan lagi untuk durasi yang lebih pendek dari batas waktu maksimum, perintah akan berada dalam status.
pending deletion
Ini akan dihapus secara otomatis dari akun Anda setelah batas waktu maksimum 12 jam.
catatan
Perintah dapat dihapus bahkan jika ada eksekusi perintah yang tertunda. Perintah akan berada dalam status penghapusan tertunda dan akan dihapus dari akun Anda secara otomatis.
Untuk menghapus perintah dari konsol, buka Command Hub
-
Pilih perintah yang ingin Anda hapus, dan kemudian di bawah Tindakan, pilih Hapus.
-
Konfirmasikan bahwa Anda ingin menghapus perintah dan kemudian pilih Hapus.
Perintah akan ditandai untuk dihapus dan akan dihapus secara permanen dari akun Anda setelah 12 jam.
Gunakan API operasi bidang DeleteCommand
HTTP kontrol atau delete-command
AWS CLI perintah untuk menghapus sumber daya perintah. Jika tindakan penghapusan berhasil, Anda akan melihat 204 atau 202, dan perintah akan dihapus dari akun Anda secara otomatis setelah durasi batas waktu maksimum 12 jam. HTTP statusCode
Dalam kasus status 204, ini menunjukkan bahwa perintah telah dihapus.
IAMKebijakan sampel
Sebelum Anda menggunakan API operasi ini, pastikan IAM kebijakan Anda mengizinkan Anda untuk melakukan tindakan ini di perangkat. Contoh berikut menunjukkan IAM kebijakan yang memungkinkan izin pengguna untuk melakukan DeleteCommand
tindakan.
Dalam contoh ini, ganti:
-
dengan Anda Wilayah AWS, sepertiregion
ap-south-1
. -
dengan Akun AWS nomor Anda, sepertiaccount-id
.123456789012
-
dengan pengidentifikasi perintah AWS IoT unik Anda, seperticommand-id
. Jika Anda ingin mengambil lebih dari satu perintah, Anda dapat menentukan perintah ini di bawah bagian Sumber daya dalam IAM kebijakan.LockDoor
{
"Version": "2012-10-17",
"Statement":
{
"Action": "iot:DeleteCommand",
"Effect": "Allow",
"Resource": "arn:aws:iot:<region>
:<account_id>
:command/command-id
"
}
}
Hapus contoh perintah (AWS CLI)
Contoh berikut menunjukkan cara menghapus perintah menggunakan delete-command
AWS CLI perintah. Bergantung pada aplikasi Anda, ganti
dengan pengenal untuk perintah yang Anda hapus.<command-id>
aws iot delete-command --command-id
<command-id>
Jika API permintaan berhasil, maka perintah menghasilkan kode status 202 atau 204. Anda dapat menggunakan GetCommand
API untuk memverifikasi bahwa perintah tidak lagi ada di akun Anda.