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 status proses pekerja lokal saat ini yang dimulai oleh AWS IoT Greengrass. Snapshot ini mencakup fungsi Lambda yang ditetapkan pengguna dan fungsi Lambda sistem. Fungsi Sistem Lambda 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 inti.
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 respon
Contoh respons berikut mencantumkan objek informasi kesehatan untuk 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 Nama Sumber Daya Amazon (ARNs) 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 pekerja, dan kemudian memilih yang ingin Anda ARNs 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 AWS IoT Greengrass pada 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 ARNs yang tidak valid, termasuk fungsi ARNs yang tidak memiliki pekerja terkait.
Jenis: array string
Contoh respon
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 yang ARNs ditentukan dalam
FuncArns
array 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 antrian untuk pesan MQTT yang memiliki sumber atau AWS IoT Core target.
ARN:
arn:aws:lambda:::function:GGCloudSpooler:1
GGConnManager
-
Merutekan pesan MQTT antara inti Greengrass dan perangkat klien.
ARN:
arn:aws:lambda:::function:GGConnManager
GGDeviceCertificateManager
-
Mendengarkan AWS IoT bayangan untuk perubahan pada titik akhir IP inti dan menghasilkan sertifikat sisi server yang digunakan oleh GGConn Manajer untuk otentikasi timbal balik.
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 dengan perangkat inti dan perangkat klien, jika
syncShadow
properti perangkat disetel ketrue
. AWS CloudARN:
arn:aws:lambda:::function:GGShadowSyncManager
GGStreamManager
-
Memproses aliran data secara lokal dan melakukan ekspor otomatis ke file. AWS Cloud
ARN:
arn:aws:lambda:::function:GGStreamManager:1
GGTES
-
Layanan pertukaran token lokal yang mengambil kredensi IAM yang ditentukan dalam peran grup Greengrass yang digunakan kode lokal untuk mengakses layanan. AWS
ARN:
arn:aws:lambda:::function:GGTES