1

JSON 形式の受信ペイロードがあります。「JSON to Object」コンバーターを使用して変換し、データを (JsonData オブジェクトとして) コンポーネントに渡します。コンポーネントは、変更を加えた同じ JsonData オブジェクトを返します。フローの次のステップとして Amazon S3 コンポーネントを使用しようとしており、バケット名とその他の値を JsonData オブジェクトでアクセス可能な要素に関連付けようとしています。たとえば、バケット名の式は次のとおりです。

#[json: TopKey/BucketName]

経験上、これは JSON で機能します。

ただし、これを実行すると、次のようになります。

メッセージ : getObjectContent の呼び出しに失敗しました。メッセージ ペイロードのタイプ: JsonData コード: MULE_ERROR-29999

  1. getObjectContent の呼び出しに失敗しました。メッセージ ペイロードのタイプ: JsonData (org.mule.api.MessagingException) org.mule.module.s3.processors.GetObjectContentMessageProcessor:177 ( http://www.mulesoft.org/docs/site/current3/apidocs/org/ mule/api/MessagingException.html )

JsonData オブジェクトを使用してそこから情報を取得する方法はありますか? または、Amazon S3 コンポーネントに渡す前に別のものに変換する必要がありますか?

ありがとう、

4

3 に答える 3

0

「JSON to Object」プロセッサで「Return Class」を java.util.Map に設定すると、#[payload.TopKey.BucketName] を介して値にアクセスできます。

于 2015-04-15T01:40:19.230 に答える
0

式から空白を削除します。#[json:TopKey/BucketName]

于 2014-03-20T13:52:49.943 に答える