Pemberitahuan integrasi terkelola - Integrasi terkelola untuk AWS IoT Device Management

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 akses integrasi terkelola ke aliran data sebelum menyiapkan notifikasi.

Siapkan Amazon Kinesis untuk notifikasi

Untuk mengatur Amazon Kinesis untuk notifikasi 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

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

    { "Version": "2012-10-17", "Statement": [ { "Action": "kinesis:PutRecord", "Resource": "*", "Effect": "Allow" } ] }

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 Condition pernyataan tersebut membantu mencegah masalah wakil yang membingungkan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "iotmanagedintegrations.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:*" } } } ] }

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.

Siapkan notifikasi integrasi terkelola

Untuk mengatur notifikasi integrasi terkelola, ikuti langkah-langkah berikut:

Langkah 1: Berikan izin pengguna untuk memanggil API CreateDestination

  • Berikan izin pengguna untuk memanggil API CreateDestination

    Kebijakan 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.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::accountID:role/ROLE_CREATED_IN_PREVIOUS_STEP", "Condition":{ "StringEquals":{ "iam:PassedToService":"iotmanagedintegrations.amazonaws.com" } } }, { "Effect":"Allow", "Action":"iotmanagedintegrations:CreateDestination", "Resource":"*" } ] }

Langkah 2: Panggil CreateDestination API

  • Panggil CreateDestination API

    Setelah Anda membuat aliran data Amazon Kinesis dan peran akses streaming, panggil CreateDestinationAPI untuk membuat tujuan notifikasi tempat notifikasi akan diarahkan. Untuk DeliveryDestinationArn parameternya, gunakan arn aliran 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 CreateNotificationConfiguration API

    Terakhir, gunakan CreateNotificationConfigurationAPI untuk membuat konfigurasi notifikasi yang merutekan jenis peristiwa yang dipilih ke tujuan yang diwakili oleh aliran data Kinesis. Dalam DestinationName parameter, gunakan nama tujuan yang sama seperti ketika Anda awalnya memanggil CreateDestination API.

    { "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 succeeded maupun failed.

      { "version":"0", "messageId":"6a7e8feb-b491-4cf7-a9f1-bf3703467718", "messageType":"DEVICE_COMMAND", "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":{ "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 ini 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":"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":{ "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":{ "endpoints":[{ "endpointId":"1", "capabilities":[{ "id":"aws.DoorLock", "name":"Door Lock", "version":"1.0", "properties":[{ "name":"ActuatorEnabled", "value":"true" }] }] }] } }
  • DEVICE_LIFE_CYCLE

    • Status siklus hidup perangkat.

      { "version": "1.0.0", "messageId": "8d1e311a473f44f89d821531a0907b05", "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/d5c280b423a042f3933eed09cf408657" ], "payload": { "deviceDetails": { "id": "d5c280b423a042f3933eed09cf408657", "arn": "arn:aws:iotmanagedintegrations:ca-central-1:123456789012:managed-thing/d5c280b423a042f3933eed09cf408657", "createdAt": "2024-11-14T19:55:57.515841147Z", "updatedAt": "2024-11-14T19:55:57.515841559Z" }, "status": "UNCLAIMED" } }
  • DEVICE_OTA

    • Pemberitahuan OTA perangkat.

  • 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" } } ]} ]} ]} } }