Rumah > pembangunan bahagian belakang > Golang > Muatan AWS lambda golang iotdataplane.PublishInput() sentiasa kosong

Muatan AWS lambda golang iotdataplane.PublishInput() sentiasa kosong

WBOY
Lepaskan: 2024-02-11 19:10:08
ke hadapan
512 orang telah melayarinya

AWS lambda golang iotdataplane.PublishInput() 有效负载始终为空

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.

Kandungan soalan

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)

...
Salin selepas log masuk

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.

Penyelesaian

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!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan