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.
Memanggil API pemeriksaan kondisi lokal
AWS IoT Greengrass berisi API HTTP lokal yang menyediakan snapshot dari keadaan saat ini dari proses pekerja lokal yang dimulai oleh AWS IoT Greengrass. Snapshot ini mencakup fungsi Lambda yang ditetapkan pengguna dan fungsi Lambda sistem. Fungsi Lambda sistem adalah bagian dari perangkat lunak AWS IoT Greengrass core. Mereka berjalan sebagai pekerja lokal yang memproses pada perangkat core dan mengelola operasi seperti perutean pesan, sinkronisasi bayangan lokal, dan deteksi alamat IP otomatis.
API pemeriksaan kondisi support permintaan berikut:
-
Mengirim permintaan
GET
untuk mendapatkan informasi kondisi dari semua pekerja. -
Mengirim permintaan
POST
untuk mendapatkan informasi kondisi dari pekerja tertentu.
Permintaan dikirim secara lokal memalui perangkat dan tidak memerlukan koneksi internet.
Dapatkan informasi kondisi untuk semua pekerja
Mengirim GET
permintaan untuk mendapatkan informasi kondisi tentang semua pekerja yang sedang bekerja.
-
Ganti
Port
dengan nomor port IPC.
GET http://localhost:
port
/2016-11-01/health/workers
port
-
Nomor port IPC.
Nilai dapat bervariasi antara 1024 dan 65535. Nilai default-nya adalah 8000.
Untuk mengubah nomor port ini, Anda dapat memperbarui properti
ggDaemonPort
pada fileconfig.json
tersebut. Untuk informasi selengkapnya, lihat AWS IoT Greengrass file konfigurasi core.
Contoh Permintaan
Contoh permintaan curl
berikut untuk mendapatkan informasi kondisi dari semua pekerja.
curl http://localhost:8000/2016-11-01/health/workers
Tanggapan JSON
Permintaan ini mengembalikan array dari objek informasi kondisi pekerja ini.
Contoh tanggapan
Contoh respons berikut mencantumkan informasi kondisi objek dari semua proses pekerja yang dimulai oleh AWS IoT Greengrass.
[ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:::function:GGSecretManager:1", "WorkerId": "a9916cc2-1b4d-4f0e-4b12-b1872EXAMPLE", "ProcessId": "9798", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073EXAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" }, ... ]
Dapatkan informasi kondisi tentang pekerja tertentu
Mengirim permintaan POST
untuk mendapatkan informasi kondisi dari pekerja tertentu. Ganti Port
dengan nomor port IPC. Default-nya adalah 8000.
POST http://localhost:
port
/2016-11-01/health/workers
Contoh Permintaan
Contoh permintaan berikut curl
untuk mendapatkan informasi kondisi dari pekerja tertentu.
curl --data "@body.json" http://localhost:8000/2016-11-01/health/workers
Inilah contoh body.json
isi permintaan:
{ "FuncArns": [ "arn:aws:lambda:::function:GGShadowService:1", "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3" ] }
Isi permintaan berisi FuncArns
array.
FuncArns
-
Daftar Amazon Resource Name (ARN) untuk fungsi Lambda yang mewakili pekerja target.
Untuk fungsi Lambda yang ditetapkan pengguna, tentukan ARN versi yang digunakan saat ini. Jika Anda menambahkan fungsi Lambda ke grup menggunakan alias ARN, Anda dapat menggunakan permintaan GET untuk mendapatkan semua data pekerja, dan kemudian memilih ARN yang Anda inginkan untuk kueri.
Untuk fungsi Lambda sistem, tentukan ARN dari fungsi Lambda yang sesuai. Untuk informasi selengkapnya, lihat Fungsi Lambda sistem.
Jenis: array string
Panjang minimum: 1
Panjang maksimum: Jumlah total pekerja yang dimulai olehAWS IoT Greengrasspada perangkat inti.
Tanggapan JSON
Permintaan ini mengembalikan Workers
array dan InvalidArns
array.
Workers
-
Daftar objek informasi kondisi untuk pekerja tertentu.
Jenis: array dari objek informasi kondisi
InvalidArns
-
Daftar fungsi ARN yang tidak valid, termasuk fungsi ARN yang tidak memiliki pekerja terkait.
Jenis: array string
Contoh tanggapan
Berikut daftar contoh respons objek informasi kondisi untuk pekerja tertentu.
{ "Workers": [ { "FuncArn": "arn:aws:lambda:::function:GGShadowService:1", "WorkerId" : "65515053-2f70-43dc-7cc0-1712bEXAMPLE", "ProcessId": "1234", "WorkerState": "Waiting" }, { "FuncArn": "arn:aws:lambda:us-west-2:123456789012:function:my-lambda-function:3", "WorkerId": "2e6f785e-66a5-42c9-67df-42073ESAMPLE", "ProcessId": "11837", "WorkerState": "Waiting" } ], "InvalidArns" : [ "some-malformed-arn", "arn:aws:lambda:us-west-2:123456789012:function:some-unknown-function:1" ] }
Permintaan ini mengembalikan error berikut:
- 400 Permintaan tidak valid
Isi permintaan yang salah format. Untuk mengatasi masalah ini, gunakan format berikut dan kirim permintaan:
{"FuncArns":["
function-1-arn
","function-2-arn
"]}- 400 Permintaan melebihi jumlah pekerja maksimum
Jumlah ARN yang ditentukan dalam array
FuncArns
melebihi jumlah pekerja.
Informasi kondisi pekerja
Objek informasi kondisi berisi properti berikut:
FuncArn
-
ARN dari fungsi Lambda sistem yang mewakili pekerja.
Tipe:
string
WorkerId
-
ID pekerja. Properti ini dapat berguna untuk debugging. File
runtime.log
dan catatan fungsi Lambda berisi ID pekerja, sehingga properti ini dapat sangat berguna untuk debug fungsi Lambda sesuai permintaan yang menjalankan beberapa instans.Tipe:
string
ProcessId
-
Proses ID (PID) dari proses pekerja.
Tipe:
int
WorkerState
-
Keadaan pekerja.
Tipe:
string
Berikut ini adalah kemungkinan status pekerja:
Working
-
Memproses pesan.
Waiting
-
Menunggu pesan. Berlaku untuk fungsi Lambda berumur panjang yang berjalan sebagai daemon atau proses mandiri.
Starting
-
Berputar, memulai.
FailedInitialization
-
Gagal menginisialisasi.
Terminated
-
Dihentikan oleh daemon Greengrass
NotStarted
-
Gagal memulai, membuat upaya memulai lagi.
Initialized
-
Berhasil diinisialisasi.
Fungsi Lambda sistem
Anda dapat meminta informasi kondisi untuk fungsi Lambda sistem berikut:
GGCloudSpooler
-
Mengelola antrean untuk pesan MQTT yang memiliki AWS IoT Core sebagai sumber atau target.
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Rute pesan MQTT antara core Greengrass dan perangkat klien.
ARN:
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
MendengarkanAWS IoTbayangan untuk perubahan core titik akhir IP dan menghasilkan sertifikat server yang digunakan oleh GGConnManager untuk saling autentikasi.
ARN:
arn:aws:lambda:::function:GGDeviceCertificateManager
GGIPDetector
-
Mengelola deteksi alamat IP otomatis yang memungkinkan perangkat dalam grup Greengrass untuk menemukan perangkat core Greengrass. Layanan ini tidak berlaku bila Anda memberikan alamat IP secara manual.
ARN:
arn:aws:lambda:::function:GGIPDetector:1
GGSecretManager
-
Mengelola penyimpanan aman dari rahasia lokal dan akses oleh Lambda dan konektor yang ditentukan pengguna.
ARN:
arn:aws:lambda:::function:GGSecretManager:1
GGShadowService
-
Mengelola bayangan lokal untuk perangkat klien.
ARN:
arn:aws:lambda:::function:GGShadowService
GGShadowSyncManager
-
Menyinkronkan bayangan lokal denganAWS Clouduntuk perangkat inti dan perangkat klien, jika perangkat
syncShadow
properti diatur ketrue
.ARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Memproses aliran data secara lokal dan melakukan ekspor otomatis ke AWS Cloud.
ARN:
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
Layanan pertukaran token lokal yang mengambil kredensial IAM didefinisikan dalam peran grup Greengrass yang menggunakan kode lokal untuk mengakses layanan AWS ini.
ARN:
arn:aws:lambda:::function:GGTES