AzureFunctionsのEventHubsトリガーで、イベントメッセージがJsonでラップされる

hsuzu 0 評価のポイント
2024-05-22T00:16:00.14+00:00

EventHubトリガーのAzure Functionsについて、「コードとテスト」の「テスト/実行」より実行しました。 これまでは起動時「本文」に指定したメッセージがプログラムで取得できていましたが、最近はJSONのbody要素の中にラップされて取得されるようになりました。 これまでと同じ動きにしたいですが、どうしたらよいでしょうか?

なお、コードは変更していないので、Azure側の動きが変わったのではないかと考えています。

【構成】

リージョン:Japan East

ランタイムバージョン:4.34.1.22669

言語 :c#

デプロイ方法:ローカルgit

ビルド プロバイダー  :App Service のビルド サービス

ランタイム スタック  :.NET

バージョン      v4.0

【動作について】

■「コードとテスト」の「テスト/実行」でFunctionを起動するときに「本文」に指定したメッセージ

{}

■以下コードで取得されてほしいメッセージ

{}

■実際取得されたメッセージ

{"body":"{}","headers":[],"method":"post","queryStringParams":[]}

■コード(抜粋)
下記コードの"messageBody"に格納される文字列が、期待する文字列と異なっています。

public static async Task Run(EventData[] events, ILogger log)
{
    //省略

    foreach (EventData eventData in events)
    {
        try
        {
            string messageBody = Encoding.UTF8.GetString(eventData.Body.Array, eventData.Body.Offset, eventData.Body.Count);


             cLog.LogDebug($"C# Event Hub trigger function processed a message: {messageBody}");
Azure
Azure
Microsoft が管理する世界のデータ センター ネットワークを介してアプリケーションとサービスを構築、配置、および管理するインフラストラクチャおよびクラウド コンピューティング プラットフォーム。
154 件の質問
C#
C#
C 言語ファミリをルーツとし、コンポーネント指向プログラミングのサポートを含む、オブジェクト指向およびタイプセーフのプログラミング言語。
9 件の質問
0 件のコメント コメントはありません
{count} 件の投票