ホームページ  >  記事  >  バックエンド開発  >  AWS lambda golang iotdataplane.PublishInput() ペイロードは常に空です

AWS lambda golang iotdataplane.PublishInput() ペイロードは常に空です

WBOY
WBOY転載
2024-02-11 19:10:08491ブラウズ

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

php エディター Xinyi は、AWS Lambda Golang プログラミング言語を使用する際に注意すべき点が 1 つあることを皆さんに思い出させます。iotdataplane.PublishInput() メソッドを使用する場合、そのペイロード (Payload) は常に空の。これは、関連するコードを作成するとき、プログラムが正常に動作するように、空のロード状況の処理に特別な注意を払う必要があることを意味します。実際の開発プロセスでは、条件ステートメントまたはエラー処理メカニズムを使用してこの状況を処理し、潜在的な問題を回避できます。このことを念頭に置くと、コードの堅牢性と信頼性が向上します。

質問内容

Golangを使用してiotdataplane.PublishInput()のPayloadフィールドをパッケージ化する方法がわかりません。誰か助けてくれませんか?私の Lambda はエラーなしでパブリッシュされますが、ペイロードは CloudWatch とサブスクライバーでは常に空として表示されます。これが私がやっていることです:

リーリー

ペイロードのさまざまなバリエーションを試してみましたが、進展はありませんでした。また、ある時点では、ペイロードはフィールドとして「locationName」と「type」を持つ構造体である必要があると考えられていましたが、それもうまくいきませんでした。ペイロードのバイト配列は決して空ではありません。

解決策

問題が見つかりました。

Mosquito を使用してラムダ応答をテストしていますが、問題はラムダ関数ではなく、テストに使用される Mosquito サブスクライバー エントリにあります。モスキート バーと同じ ID (-i オプション) を使用しているため、ブローカーが混乱していると思われます。サブスクリプション エントリから -i オプションを削除すると、ラムダ パブリッシングが機能し始めました。

以上がAWS lambda golang iotdataplane.PublishInput() ペイロードは常に空ですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。