php小編新一提醒大家,在使用AWS Lambda Golang程式語言時,有一點需要注意:在使用iotdataplane.PublishInput()方法時,其有效負載(Payload)始終為空。這意味著在編寫相關程式碼時,需要特別注意處理空負載的情況,以確保程式的正常運作。在實際開發過程中,可以使用條件語句或錯誤處理機制來處理這種情況,以避免潛在的問題。記住這一點,將有助於提高程式碼的健全性和可靠性。
我無法理解如何使用 Golang 打包 iotdataplane.PublishInput() 的 Payload 欄位。有人能幫忙嗎?我的 Lambda 發佈時沒有錯誤,但負載在 CloudWatch 和訂閱者中始終顯示為空。這就是我正在做的事情:
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) ...
我已經嘗試了各種有效負載的變體,但沒有任何進展。也一度認為有效負載需要是以「locationName」和「type」作為欄位的結構,但這也沒有成功。我的有效負載位元組數組肯定不為空。
找到我的問題。
我使用 Mosquito 來測試我的 lambda 回應,問題不在於 lambda 函數,而是用於測試的 Mosquito 訂閱者條目。我使用與我的 Mosquito 酒吧相同的 id(-i 選項),我認為這讓經紀人感到困惑。當我從訂閱條目中刪除 -i 選項後,lambda 發布就開始進行。
以上是AWS lambda golang iotdataplane.PublishInput() 有效負載永遠為空的詳細內容。更多資訊請關注PHP中文網其他相關文章!