我有一个向SNS主题发布消息的简单方案,该主题由SQS队列订阅,但不知何故,队列从不接收消息(即,未显示在SQS控制台中)。以下是Ruby中的代码:
sns = Aws::SNS::Client.new;
sqs = Aws::SQS::Client.new;
q1 = sqs.create_queue({queue_name: "queue1”});
t1 = sns.create_topic({name: "topic1"});
q1_attr = sqs.get_queue_attributes({queue_url: q1.queue_url,attribute_names: ["All"]});
s1 = sns.subscribe({topic_arn: t1.topic_arn, protocol: "sqs", endpoint: q1_attr.attributes['QueueArn']});
resp = sns.publish({topic_arn: t1.topic_arn, message: "Test message"});
有什么遗漏吗?
答案 0 :(得分:1)
此行中的第二个引用:
q1 = sqs.create_queue({queue_name: "queue1”});
是一个奇特的'引用”
而不是"
。将其更改为:
q1 = sqs.create_queue({queue_name: "queue1"});