editor php Xinyi mengingatkan semua orang bahawa apabila menggunakan bahasa pengaturcaraan AWS Lambda Golang, ada satu perkara yang perlu diberi perhatian: apabila menggunakan kaedah iotdataplane.PublishInput(), muatannya (Payload) sentiasa kosong. Ini bermakna apabila menulis kod yang berkaitan, perhatian khusus perlu diberikan untuk mengendalikan situasi beban kosong untuk memastikan operasi normal program. Dalam proses pembangunan sebenar, pernyataan bersyarat atau mekanisme pengendalian ralat boleh digunakan untuk mengendalikan situasi ini untuk mengelakkan masalah yang mungkin berlaku. Mengingat perkara ini akan membantu meningkatkan keteguhan dan kebolehpercayaan kod anda.
Saya tidak faham cara menggunakan Golang untuk membungkus medan Muatan iotdataplane.PublishInput(). Ada sesiapa boleh tolong? Lambda saya menerbitkan tanpa ralat, tetapi muatan sentiasa dipaparkan sebagai kosong dalam CloudWatch dan pelanggan. Inilah yang saya lakukan:
type Response struct { SerialNum string `json:"serial_number"` Time int64 `json:"time"` } resp := Response{ SerialNum: sernum, Time: utc, } payload, _ :=- json.Marshal(resp) // payload is a byte array ... params := &iotdataplane.PublishInput{ Topic: &topic, Payload: payload, PayloadFormatIndicator: aws.String(iotdataplane.PayloadFormatIndicatorUtf8Data), Qos: aws.Int64(0), } result, err := svc_client.Publish(params) ...
Saya telah mencuba pelbagai variasi muatan tetapi tidak membuat sebarang kemajuan. Ia juga difikirkan pada satu ketika bahawa muatan perlu menjadi struct dengan "locationName" dan "type" sebagai medan, tetapi itu juga tidak berjaya. Tatasusunan bait muatan saya pastinya tidak kosong.
Menjumpai masalah saya.
Saya menggunakan Mosquito untuk menguji respons lambda saya dan masalahnya bukan pada fungsi lambda tetapi dengan penyertaan pelanggan Nyamuk yang digunakan untuk ujian. Saya menggunakan id (-i pilihan) yang sama seperti bar Nyamuk saya, yang saya fikir mengelirukan broker. Apabila saya mengalih keluar pilihan -i daripada entri langganan, penerbitan lambda mula berfungsi.
Atas ialah kandungan terperinci Muatan AWS lambda golang iotdataplane.PublishInput() sentiasa kosong. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!