我想使用 Celery 来使用 Amazon 在 SQS 上提供的 S3 事件。但是, S3 message formatwhat Celery expects 不匹配。

如何以最少的黑客行为使用这些消息?我应该编写自定义序列化程序吗?我应该放弃并使用 boto 或 boto3 制作自定义桥接器吗?

作为旁注,我还想将 Celery 连接到不同的代理 (RabbitMQ) 以完成其余的应用程序消息传递,如果这很重要的话。

最佳答案

您将需要创建一个服务来监听 S3 通知,然后运行相应的 celery 任务。

您有多种选择 - S3 通知通过 SQS、SNS 或 AWS Lambda 发出。

事实上,最简单的选择可能是根本不使用 Celery,而只是编写一些代码以在 AWS Lambda 中运行。我没有使用过这项服务(Lambda 是相对较新的),但看起来这意味着您不必例如运行监控服务或 celery worker 。

关于amazon-s3 - Celery 与 Amazon SQS 和 S3 事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30102672/

10-11 09:21
查看更多