AWS IoT Greengrass Version 1 memasuki fase umur panjang pada 30 Juni 2023. Untuk informasi selengkapnya, lihat kebijakan AWS IoT Greengrass V1 pemeliharaan. Setelah tanggal ini, tidak AWS IoT Greengrass V1 akan merilis pembaruan yang menyediakan fitur, penyempurnaan, perbaikan bug, atau patch keamanan. Perangkat yang berjalan AWS IoT Greengrass V1 tidak akan terganggu dan akan terus beroperasi dan terhubung ke cloud. Kami sangat menyarankan Anda bermigrasi ke AWS IoT Greengrass Version 2, yang menambahkan fitur baru yang signifikan dan dukungan untuk platform tambahan.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Greengrass Discovery RESTful API
Semua perangkat klien yang berkomunikasi denganAWS IoT Greengrass core harus menjadi anggota dari grup Greengrass. Setiap grup harus memiliki core Greengrass. The Discovery API mengaktifkan perangkat untuk mengambil informasi yang diperlukan untuk terhubung ke core Greengrass yang berada di grup Greengrass yang sama sebagai perangkat klien. Ketika perangkat klien pertama kali online, perangkat dapat tersambungAWS IoT Greengrass ke dan gunakan Discovery API untuk menemukan:
Grup yang menjadi miliknya. Perangkat klien dapat menjadi anggota hingga 10 grup.
Alamat IP dan port untuk core Greengrass dalam grup.
Sertifikat CA grup, yang dapat digunakan untuk mengautentikasi perangkat core Greengrass.
catatan
Perangkat klien juga dapat menggunakan SDKAWS IoT Perangkat untuk menemukan informasi konektivitas untuk core Greengrass. Untuk informasi selengkapnya, lihat AWS IoT Perangkat SDK.
Untuk menggunakan API ini, kirim permintaan HTTP ke titik akhir Discovery API. Misalnya:
https://greengrass-ats.iot.
region
.amazonaws.com:port
/greengrass/discover/thing/thing-name
Untuk dafta wilayahyang didukung Amazon Web Services Regions dan titik akhir untukAWS IoT Greengrass Discovery API, lihat AWS IoT Greengrasstitik akhir dan kuota di Referensi Umum AWS. Ini adalah hanya bidang data API. Titik akhir untuk manajemen grup dan AWS IoT Core operasi berbeda dari titik akhir Discovery API.
Permintaan
Permintaan berisi header HTTP standar dan dikirim ke titik akhir Greengrass Discovery, seperti yang ditunjukkan dalam contoh berikut.
Nomor port tergantung pada apakah inti dikonfigurasi untuk mengirim lalu lintas HTTPS melalui port 8443 atau port 443. Untuk informasi selengkapnya, lihat Connect pada port 443 atau melalui proksi jaringan.
- Port 8443
-
HTTP GET https://greengrass-ats.iot.
region
.amazonaws.com:8443/greengrass/discover/thing/thing-name
- Port 443
-
HTTP GET https://greengrass-ats.iot.
region
.amazonaws.com:443/greengrass/discover/thing/thing-name
Klien yang terhubung pada port 443 harus menerapkan Application Layer Protocol Negotiation (ALPN)
TLS ekstensi dan lulus x-amzn-http-ca
sebagaiProtocolName
diProtocolNameList
. Untuk informasi selengkapnya, lihat Protokol di AWS IoT Panduan Pengembang.catatan
Contoh ini menggunakan titik akhir Amazon Trust Services (ATS), yang digunakan dengan sertifikat ATS root CA (disarankan). Titik akhir harus sesuai dengan jenis sertifikat root CA. Untuk informasi selengkapnya, lihat Titik akhir layanan harus sesuai dengan jenis sertifikat CA root.
Response
Setelah berhasil, respon mencakup header HTTP standar ditambah kode dan tubuh berikut:
HTTP 200 BODY: response document
Untuk informasi selengkapnya, lihat Contoh menemukan dokumen respon.
Otorisasi Discovery
Mengambil informasi konektivitas memerlukan kebijakan yang mengizinkan pemanggil untuk melakukan greengrass:Discover
tindakan. Autentikasi mutual TLS dengan sertifikat klien adalah satu-satunya bentuk autentikasi yang diterima. Berikut ini adalah contoh kebijakan yang mengizinkan pemanggil untuk melakukan tindakan ini:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "greengrass:Discover", "Resource": ["arn:aws:iot:us-west-2:123456789012:thing/MyThingName"] }] }
Contoh menemukan dokumen respon
Dokumen berikut menunjukkan respon untuk perangkat klien yang merupakan anggota dari kelompok dengan satu core Greengrass, satu titik akhir, dan satu grup sertifikat CA:
{ "GGGroups": [ { "GGGroupId": "
gg-group-01-id
", "Cores": [ { "thingArn": "core-01-thing-arn
", "Connectivity": [ { "id": "core-01-connection-id
", "hostAddress": "core-01-address
", "portNumber":core-01-port
, "metadata": "core-01-description
" } ] } ], "CAs": [ "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----" ] } ] }
Dokumen berikut menunjukkan respon untuk perangkat klien yang merupakan anggota dari dua kelompok dengan satu core Greengrass, beberapa titik, dan beberapa grup sertifikat CA:
{ "GGGroups": [ { "GGGroupId": "
gg-group-01-id
", "Cores": [ { "thingArn": "core-01-thing-arn
", "Connectivity": [ { "id": "core-01-connection-id
", "hostAddress": "core-01-address
", "portNumber":core-01-port
, "metadata": "core-01-connection-1-description
" }, { "id": "core-01-connection-id-2
", "hostAddress": "core-01-address-2
", "portNumber":core-01-port-2
, "metadata": "core-01-connection-2-description
" } ] } ], "CAs": [ "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----", "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----", "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----" ] }, { "GGGroupId": "gg-group-02-id
", "Cores": [ { "thingArn":"core-02-thing-arn
", "Connectivity" : [ { "id": "core-02-connection-id
", "hostAddress": "core-02-address
", "portNumber":core-02-port
, "metadata": "core-02-connection-1-description
" } ], "CAs": [ "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----", "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----", "-----BEGIN CERTIFICATE-----cert-contents
-----END CERTIFICATE-----" ] } ] } }
catatan
Sebuah grup Greengrass harus mendefinisikan tepat satu core Greengrass. Setiap respons dari AWS IoT Greengrass layanan yang berisi daftar core Greengrass hanya berisi satu core Greengrass.
Jika Anda telah cURL
menginstal, Anda dapat menguji permintaan discovery. Misalnya:
$
curl --cert 1a23bc4d56.cert.pem --key 1a23bc4d56.private.key https://greengrass-ats.iot.us-west-2.amazonaws.com:8443/greengrass/discover/thing/MyDevice{"GGGroups":[{"GGGroupId":"1234a5b6-78cd-901e-2fgh-3i45j6k1789","Cores":[{"thingArn":"arn:aws:iot:us-west-2:1234567 89012:thing/MyFirstGroup_Core","Connectivity":[{"Id":"AUTOIP_192.168.1.4_1","HostAddress":"192.168.1.5","PortNumber ":8883,"Metadata":""}]}],"CAs":["-----BEGIN CERTIFICATE-----\n
cert-contents
\n-----END CERTIFICATE-----\n"]}]}