Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemberitahuan Integrasi Terkelola
Pemberitahuan Integrasi Terkelola memberikan pembaruan dan wawasan utama dari perangkat. Pemberitahuan mencakup peristiwa konektor, perintah perangkat, peristiwa siklus hidup, pembaruan OTA (Over-the-Air), dan laporan kesalahan. Wawasan ini memberikan informasi yang dapat ditindaklanjuti untuk membuat alur kerja otomatis, mengambil tindakan segera, atau menyimpan data peristiwa untuk pemecahan masalah.
Saat ini, hanya aliran data Amazon Kinesis yang didukung sebagai tujuan notifikasi integrasi terkelola. Pertama-tama Anda harus menyiapkan aliran data Amazon Kinesis dan mengizinkan Integrasi Terkelola mengakses aliran data sebelum menyiapkan notifikasi.
Siapkan Amazon Kinesis untuk notifikasi
Langkah-langkah penyiapan Amazon Kinesis
Untuk mengatur notifikasi Amazon Kinesis untuk Integrasi Terkelola, ikuti langkah-langkah berikut:
Langkah 1: Buat aliran data Amazon Kinesis
Amazon Kinesis Data Stream dapat menelan sejumlah besar data secara real time, menyimpan data dengan tahan lama, dan membuat data tersedia untuk dikonsumsi oleh aplikasi.
Untuk membuat aliran data Amazon Kinesis
-
Untuk membuat aliran data Kinesis, ikuti langkah-langkah yang diuraikan dalam Membuat dan mengelola aliran data Kinesis.
Langkah 2: Buat kebijakan izin
Buat kebijakan izin yang memungkinkan Integrasi Terkelola mengakses aliran data Kinesis Anda.
Untuk membuat kebijakan izin
-
Untuk membuat kebijakan izin, salin kebijakan di bawah ini dan ikuti langkah-langkah yang diuraikan dalam Membuat kebijakan menggunakan editor JSON
Langkah 3: Arahkan ke dasbor IAM dan pilih Peran
Buka dasbor IAM dan klik Peran.
Untuk menavigasi ke dasbor IAM
-
Buka dasbor IAM dan klik Peran.
Untuk informasi selengkapnya, lihat Pembuatan peran IAM di Panduan AWS Identity and Access ManagementPengguna.
Langkah 4: Gunakan kebijakan kepercayaan khusus
Anda dapat menggunakan kebijakan kepercayaan khusus untuk memberikan akses Integrasi Terkelola ke aliran data Kinesis.
Untuk menggunakan kebijakan kepercayaan khusus
-
Buat peran baru dan pilih Kebijakan kepercayaan khusus. Klik Berikutnya.
Kebijakan berikut memungkinkan Integrasi Terkelola untuk mengambil peran, dan
Conditionpernyataan tersebut membantu mencegah masalah wakil yang membingungkan.
Langkah 5: Terapkan kebijakan izin Anda
Tambahkan kebijakan izin yang Anda buat di langkah 2 ke peran.
Untuk menambahkan kebijakan izin
-
Pada halaman Tambahkan izin, cari dan tambahkan kebijakan izin yang Anda buat di langkah 2. Klik Berikutnya.
Langkah 6: Masukkan nama peran
-
Masukkan nama peran dan klik Buat peran.
Mengatur notifikasi Integrasi Terkelola
Langkah-langkah pengaturan pemberitahuan
Untuk mengatur notifikasi Integrasi Terkelola, ikuti langkah-langkah berikut:
Langkah 1: Berikan izin pengguna untuk memanggil API CreateDestination
-
Berikan izin pengguna untuk memanggil API
CreateDestinationKebijakan berikut menentukan persyaratan bagi pengguna untuk memanggil CreateDestinationAPI.
Lihat Memberikan izin pengguna untuk meneruskan peran ke AWS layanan di Panduan AWS Identity and Access ManagementPengguna untuk mendapatkan izin peran sandi ke integrasi terkelola.
Langkah 2: Panggil CreateDestination API
-
Panggil
CreateDestinationAPISetelah Anda membuat aliran data Amazon Kinesis dan peran akses streaming, panggil CreateDestinationAPI untuk membuat tujuan notifikasi tempat notifikasi akan diarahkan. Untuk
DeliveryDestinationArnparameternya, gunakanarnaliran data Amazon Kinesis baru Anda.{ "DeliveryDestinationArn": "Your Kinesis arn" "DeliveryDestinationType": "KINESIS" "Name": "DestinationName" "ClientToken":"string""RoleArn": "arn:aws:iam::accountID:role/ROLE_CREATED_IN_PREVIOUS_STEP" }catatan
ClientTokenadalah token idempotensi. Jika Anda mencoba lagi permintaan yang berhasil diselesaikan pada awalnya menggunakan token dan parameter klien yang sama, maka upaya coba lagi akan berhasil tanpa melakukan tindakan lebih lanjut.
Langkah 3: Panggil CreateNotificationConfiguration API
-
Panggil
CreateNotificationConfigurationAPITerakhir, gunakan CreateNotificationConfigurationAPI untuk membuat konfigurasi notifikasi yang merutekan jenis peristiwa yang dipilih ke tujuan yang diwakili oleh aliran data Kinesis. Dalam
DestinationNameparameter, gunakan nama tujuan yang sama seperti ketika Anda awalnya memanggilCreateDestinationAPI.{ "EventType": "DEVICE_EVENT" "DestinationName" // This name has to be identical to the name in createDestination API "ClientToken":"string"}
Jenis acara dipantau dengan Integrasi Terkelola
Berikut ini adalah jenis acara yang dipantau dengan notifikasi Integrasi Terkelola:
-
DEVICE_COMMAND-
Status perintah SendManagedThingCommandAPI. Nilai yang valid adalah
succeededmaupunfailed.{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731623291671", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "traceId":"1234567890abcdef0", "receivedAt":"2017-12-22T18:43:48Z", "executedAt":"2017-12-22T18:43:48Z", "result":"failed" } }
-
-
DEVICE_COMMAND_REQUEST-
Permintaan perintah dari Web Real-Time Communication (WebRTC).
Standar WebRTC memungkinkan komunikasi antara dua rekan. Rekan-rekan ini dapat mengirimkan video real-time, audio, dan data arbitrer. Integrasi Terkelola mendukung WebRTC untuk mengaktifkan jenis streaming antara aplikasi seluler pelanggan dan perangkat pengguna akhir. Untuk informasi selengkapnya tentang standar WebRTC, lihat WebRTC.
{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND_REQUEST", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731623291671", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0" }] }] } }
-
-
DEVICE_DISCOVERY_STATUS-
Status penemuan perangkat.
{ "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_DISCOVERY_STATUS", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"2017-12-22T18:43:48Z", "region":"ca-central-1", "resources":[ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/6a7e8feb-b491-4cf7-a9f1-bf3703467718" ], "payload":{ "deviceCount": 1, "deviceDiscoveryId": "123", "status": "SUCCEEDED" } }
-
-
DEVICE_EVENT-
Pemberitahuan peristiwa perangkat yang terjadi.
{ "version":"1.0", "messageId":"2ed545027bd347a2b855d28f94559940", "messageType":"DEVICE_EVENT", "source":"aws.iotmanagedintegrations", "customerAccountId":"123456789012", "timestamp":"1731630247280", "resources":[ "/quit/1b15b39992f9460ba82c6c04595d1f4f" ], "payload":{ "iotMiArrivalTimestamp":"2026-06-26T21:28:14.697Z", "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0", "properties":[{ "name":"ActuatorEnabled", "value":"true" }] }] }] } }DEVICE_EVENTPayload berisi bidang-bidang berikut:-
iotMiArrivalTimestamp, String (ISO 8601): Stempel waktu yang menunjukkan kapan peristiwa perangkat dipublikasikan oleh perangkat ke Integrasi Terkelola. Gunakan bidang ini untuk menentukan latensi antara saat peristiwa dibuat oleh perangkat dan saat Integrasi Terkelola menerimanya. -
endpoints: Daftar titik akhir perangkat dan properti kemampuannya yang diperbarui.
timestampBidang di amplop pesan luar menunjukkan kapan notifikasi dikirimkan ke Kinesis.iotMiArrivalTimestampDi payload menunjukkan kapan acara tiba ke Integrasi Terkelola. Kedua stempel waktu ini dapat berbeda jika ada latensi pemrosesan antara kedatangan acara dan pengiriman notifikasi. -
-
-
DEVICE_LIFE_CYCLEMencerminkan perubahan status siklus hidup perangkat (ini termasuk status dan connected/disconnected status orientasi).
-
Acara pembaruan status orientasi.
{ "version": "1.0.0", "messageId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "payload": { "deviceDetails": { "id": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "arn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "createdAt": "2024-11-14T19:55:57.515841147Z", "updatedAt": "2024-11-14T19:55:57.515841559Z" }, "status": "UNCLAIMED" } } -
Acara status terhubung perangkat.
{ "version": "1.0", "messageId": "a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "payload": { "managedThingId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "managedThingArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "clientId": "iotmi-example-client-id", "timestamp": "1768000475344", "eventType": "connected", "sessionIdentifier": "q1w2e3r4-t5y6-u7i8-o9p0-a1s2d3f4g5h6", "principalIdentifier": "z1x2c3v4b5n6m7a8s9d0f1g2h3j4k5l6p7o8i9u0y1t2r3e4w5q6a7z8x9c0v1b2", "ipAddress": "192.0.2.100", "versionNumber": "0" } } -
Acara status terputus perangkat.
{ "version": "1.0", "messageId": "b2n3m4a5-s6d7-f8g9-h0j1-k2l3z4x5c6v7", "messageType": "DEVICE_LIFE_CYCLE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "payload": { "managedThingId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "managedThingArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "clientId": "iotmi-example-client-id", "timestamp": "1768000492431", "eventType": "disconnected", "sessionIdentifier": "p9o8i7u6-y5t4-r3e2-w1q0-m9n8b7v6c5x4", "principalIdentifier": "a1s2d3f4g5h6j7k8l9z0x1c2v3b4n5m6q7w8e9r0t1y2u3i4o5p6a7s8d9f0g1h2", "versionNumber": "0", "disconnectReason": "CLIENT_INITIATED_DISCONNECT" } }
-
-
DEVICE_OTA-
Pemberitahuan OTA perangkat.
{ "version": "1.0.0", "messageId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "messageType": "DEVICE_OTA", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2024-11-14T19:55:57.568284645Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8" ], "payload": { "operation": "CREATE_OTA", "otaTaskId": "ota-job-abc123def456", "status": "IN_PROGRESS", "otaType": "ONE_TIME" } }
-
-
DEVICE_STATE-
Pemberitahuan saat status perangkat telah diperbarui.
{ "messageType": "DEVICE_STATE", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "1731623291671", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/61889008880012345678" ], "payload": { "addedStates": { "endpoints": [{ "endpointId": "nonEndpointId", "capabilities": [{ "id": "aws.OnOff", "name": "On/Off", "version": "1.0", "properties": [{ "name": "OnOff", "value": { "propertyValue": "\"onoff\"", "lastChangedAt": "2024-06-11T01:38:09.000414Z" } } ]} ]} ]} } }
-
-
ACCOUNT_ASSOCIATION-
Pemberitahuan saat status asosiasi akun berubah menjadi IN_PROGRESS.
{ "version": "1.0.0", "messageId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "messageType": "ACCOUNT_ASSOCIATION", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2026-01-20T23:59:34.009284802Z", "region": "ca-central-1", "resources": ["arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"], "payload": { "traceId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "logLevel": "INFO", "resourceType": "account-association", "resourceId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "connectorDestinationId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "associationArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "state": "ASSOCIATION_IN_PROGRESS", "isServiceError": false, "isCustomerError": false, "details": "AccountAssociation State is updated to IN_PROGRESS during StartAccountAssociationRefresh" } } -
Pemberitahuan saat asosiasi akun berhasil diselesaikan.
{ "version": "1.0.0", "messageId": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "messageType": "ACCOUNT_ASSOCIATION", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2026-01-20T23:59:44.672304821Z", "region": "ca-central-1", "resources": ["arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7"], "payload": { "traceId": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "logLevel": "INFO", "resourceType": "account-association", "resourceId": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "connectorDestinationId": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "associationArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "state": "ASSOCIATION_SUCCEEDED", "isServiceError": false, "isCustomerError": false, "details": "AccountAssociation has completed successfully" } }
-
-
CONNECTOR_ERROR_REPORT-
Pemberitahuan ini dikirim saat konektor cloud-to-cloud (C2C) melaporkan kesalahan saat memproses permintaan atas nama Anda, seperti perintah atau penemuan perangkat yang menampilkan respons yang tidak berhasil.
{ "version": "1.0.0", "messageId": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6", "messageType": "CONNECTOR_ERROR_REPORT", "source": "aws.iotmanagedintegrations", "customerAccountId": "123456789012", "timestamp": "2026-01-20T23:59:34.009284802Z", "region": "ca-central-1", "resources": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "payload": { "statusCode": 0, "resourceType": "account-association", "resourceId": [ "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "associationArn": [ "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:account-association/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6" ], "connectorDestinationId": "b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7", "connectorDeviceId": "connectorDeviceId11597664a", "operation": "AWS.SendCommand", "operationVersion": "1.0", "traceId": "f4be7a5d55d34cc=_1", "logLevel": "ERROR", "message": "AWS.SendCommand operation failed during asynchronous invocation of the connector: Connector response exception: responseCode=xxx, responseMessage=Mocking a ValidationException with error code xxx", "managedThingId": "c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8" } }managedThingIdBidang disertakan ketika dapat diselesaikan untuk permintaan. Bidang tanpa nilai dihilangkan dari muatan.
-