[英]Lambda returned payload, split in SNS and send individually to SQS
[英]SQS - Sending payload with JSONObject push empty objects
我正在測試 AWS SDK (org.springframework.cloud:spring-cloud-starter-aws-messaging:2.2.6.RELEASE) 接受的不同負載結構。 我正在使用 QueueMessagingTemplate 提供的 convertAndSend function 發送消息。 我能夠使用字符串有效負載或自定義 java object 成功發送它。但是,當我將自定義 java object 轉換為 JSONObject,並將 JSONObject 推送到 SQS 時,似乎被推送的 messageBody 是 {empty:true} . 當我用 jsonObject.toString() 發送它時,它運行良好。 我對為什么 convertAndSend 適用於自定義 java 類/對象但不適用於 JSONObject 類型感到困惑。
下面是關於我如何進行 JSON 轉換的示例代碼:
public JSONObject toJson() throws Exception {
JSONObject json = new JSONObject();
json.put("payload", this.payload);
json.put("id", this.taskId);
return json;
}
SQS 只允許消息內容為 JSON 格式的字符串。 JSONObject 是一個 Java object。要將其轉換為 JSON 格式的字符串,您的方法需要如下所示:
public String toJson() throws Exception {
JSONObject json = new JSONObject();
json.put("payload", this.payload);
json.put("id", this.taskId);
return json.toString();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.