gpt4 book ai didi

aws-sdk - 使用 Symfony 4 messenger、php-enqueue、AWS SQS、AWS SNS 的基本设置

转载 作者:行者123 更新时间:2023-12-05 08:07:17 30 4
gpt4 key购买 nike

目标是能够使用 AWS SQS+SNS 发送消息。这几天一直在挣扎,我不知道如何让它发挥作用。

Symfony 4.2 有一个新组件,我想使用的信使。它应该作为第三方传输与 php-enqueue 一起使用。我正在使用它连接到 AWS SQS+SNS。

我找不到任何将它们放在一起的文档。我看到了 php-enqueue 如何连接到 AWS,但文档在代码中显示了配置,而不是在配置 yaml 或 .env 文件中。这是个问题,因为我希望 Messenger/enqueue 处理幕后工作。

我能够让 Symfony Messenger 在没有本地同步消息的 php-enqueue 的情况下工作。但是在那之后……显然我做的不对。我希望有人可能有此配置的样板。

这就是我所在的位置。我只是想使用 SQS 发送消息。我收到一个错误:

Error executing "GetQueueUrl" on "https://sqs.us-west-2.amazonaws.com"; 
AWS HTTP error: Client error: `POST https://sqs.us-west-2.amazonaws.com`
resulted in a `400 Bad Request`

我在 enqueue.yaml 文件中尝试了许多键的排列,但没有得到正确的结果。我用它来寻求帮助,但无法让它工作。 https://enqueue.readthedocs.io/en/stable/bundle/config_reference/

->> 编辑:我发现您可以将主题和队列名称添加到 DSN。我不再收到错误并创建了一个主题,但队列没有。现在,消息总线正在工作,但是是同步的和本地的。没有消息发送到 AWS。

这些是我安装的 Composer 库。我敢肯定有太多,但我一直在努力让它发挥作用。

"aws/aws-sdk-php": "^3.19",
"enqueue/amqp-lib": "^0.9.8",
"enqueue/enqueue-bundle": "^0.9.8",
"enqueue/messenger-adapter": "^0.2.2",
"enqueue/snsqs": "^0.9.0",
"guzzlehttp/guzzle": "^6.0",
"symfony/amqp-pack": "^1.0",
"symfony/messenger": "4.2.*",

这是我的 messenger.yaml

framework:
messenger:
transports:
amqp: 'enqueue://default?topic[name]=testQ&queue[name]=testQ'
routing:
# Route your messages to the transports
'App\Message\SmsMessage': amqp

这是 enqueue.yaml

enqueue:
default:
transport:
dsn: '%env(resolve:ENQUEUE_DSN)%'
client:~

这是.env中的条目

###> enqueue/enqueue-bundle ###
ENQUEUE_DSN=snsqs::?key={key}&secret={secret}&region=us-west-2
###< enqueue/enqueue-bundle ###

这是 Controller 中发送消息的代码:

public function index(MessageBusInterface $messageBus) {
$message = new SmsMessage('This is so cool');
$messageBus->dispatch($message);
...
}

最佳答案

我遇到了同样的问题,但我设法解决了。

这是我使用 SQS 的 messenger.yaml 配置

transports:
sqs:
dsn: enqueue://default?topic[name]=YOURTOPICNAME&queue[name]=YOURQUEUENAME&receiveTimeout=3

希望对大家有用

关于aws-sdk - 使用 Symfony 4 messenger、php-enqueue、AWS SQS、AWS SNS 的基本设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55173836/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com