bref/symfony-messenger-sns

该软件包已被弃用,不再维护。作者建议使用bref/symfony-messenger软件包。

使用 Symfony Messenger 安装和配置 SNS

0.2.0 2019-06-28 09:01 UTC

This package is auto-updated.

Last update: 2021-03-04 10:24:47 UTC


README

这个小软件包可以帮助您使用 SNS 安装和配置 Symfony Messenger。如果您使用 Flex 安装,大多数配置都将为您完成。

软件包内容

bin/message-consumer

此文件将被“composer copied”到您的项目bin文件夹(即 vendor/bin/message-consumer)。此文件接收 SNS 消息并将其传递给 App\Consumer\SnsConsumer

src/Consumer.php

此类负责解码 SNS 消息并将其放回消息总线。它调度事件,人们可以订阅这些事件以修改行为。例如,重试失败的事件。

config/sns-consumer.yaml

此文件将被 Flex 复制到 config/packages/sns-consumer.yaml。它包含 MessengerEnqueue Bundle 的示例配置。

Bref 模板

以下是一个小的代码片段,以确保我们使用 Bref 配置了一个 SNS 消费者。

Resources:
    Consumer:
        Type: AWS::Serverless::Function
        Properties:
            FunctionName: 'my-app-consumer'
            Handler: vendor/bin/message-consumer
            Timeout: 20 # in seconds
            MemorySize: 2048
            # ...
            Events:
                Sns:
                    Type: SNS
                    Properties:
                        Topic: arn:aws:sns:eu-central-1:xxxxxxx:my_sns_topic

本地开发

在生产环境中,我们使用 SNS,但在本地开发中,我们可能想使用更简单的工具,比如 RabbitMQ。

# .env

# Production
AWS_SNS_DSN=enqueue://acme?topic[name]=my_sns_topic

# Development
AWS_SNS_DSN=amqp://guest:guest@127.0.0.1:5672/%2f/fake_sns 

然后您可以使用 bin/console messenger:consume 正常消费消息。