Код: Выделить всё
final var req = PublishRequest.builder()
.topicArn(topicArn)
.message(payload)
.subject(subject)
.build();
final var response = snsClient.publish(req);
Код: Выделить всё
queue_name = "..."
sqs = boto3.resource("sqs")
queue = sqs.get_queue_by_name(QueueName=queue_name)
messages = queue.receive_messages(
MaxNumberOfMessages=1,
WaitTimeSeconds=10,
AttributeNames=["All"],
MessageAttributeNames=["All"],
)
for message in messages:
print("Got message:")
print(f"Queue URL: {message.queue_url}")
if message.attributes != None:
print(f"Attributes:\n{json.dumps(message.attributes, indent=2)}")
if message.message_attributes != None:
print(f"Message Attributes:\n{json.dumps(message.message_attributes, indent=2)}")
print(f"Body:\n{json.dumps(json.loads(message.body), indent=2)}")
Код: Выделить всё
Got message:
Queue URL: https://...
Attributes:
{
"SenderId": "...",
"ApproximateFirstReceiveTimestamp": "1737570929119",
"ApproximateReceiveCount": "5",
"SentTimestamp": "1737535740136"
}
Body:
{
...
}
Я что-то упускаю или выходные данные двух SDK просто не совпадают такой же? Обратите внимание, что я также пробовал использовать клиент SQS (а не «ресурс») в Python. Как я могу заставить Python SDK включать «тему»?
Я также настроил подписку по электронной почте, и тема отображается в теме электронного письма, а также в теле JSON сообщения. электронная почта как отдельное свойство.
Java AWS SDK: 2.29.29
Python: 3.10.2
Питон AWS SDK: 1.33.13
Подробнее здесь: https://stackoverflow.com/questions/793 ... sdk-or-cli