Python 3.x 如何使用AmazonSQS作为芹菜代理,而不创建/列出队列?

Python 3.x 如何使用AmazonSQS作为芹菜代理,而不创建/列出队列?,python-3.x,celery,amazon-sqs,Python 3.x,Celery,Amazon Sqs,对于一个项目,我的组织计划将芹菜经纪人从redis转移到SQS。有人可以指导我如何调整芹菜设置,以便我可以使用预定义的SQS队列,而不用芹菜尝试创建/列出队列(因为我没有这些权限) 我尝试了以下设置: CELERY_BROKER_URL = 'sqs://' CELERY_BROKER_TRANSPORT_OPTIONS = { 'predefined_queues':{ 'MyQueue' : { 'url' : '<SQS Queue U

对于一个项目,我的组织计划将芹菜经纪人从redis转移到SQS。有人可以指导我如何调整芹菜设置,以便我可以使用预定义的SQS队列,而不用芹菜尝试创建/列出队列(因为我没有这些权限)

我尝试了以下设置:

CELERY_BROKER_URL = 'sqs://'
CELERY_BROKER_TRANSPORT_OPTIONS = {
    'predefined_queues':{
        'MyQueue' : {
            'url' : '<SQS Queue URL>',
        }
    }
}
CELERY_TASK_DEFAULT_QUEUE = 'MyQueue'
CELERY_ROUTES = {
    'tasks.*':{
        'queue' : 'MyQueue'
    }
}
cellery\u BROKER\u URL='sqs://'
芹菜\经纪人\运输\选项={
“预定义的队列”:{
“我的队列”:{
“url”:“,
}
}
}
芹菜任务默认队列='MyQueue'
芹菜={
“任务。*”:{
“队列”:“我的队列”
}
}
应用这些设置后,每当我试图通过芹菜向SQS队列发送消息时,仍然会出现以下错误:
调用CreateQueue操作时发生错误(AccessDenied):访问资源https://queue.amazonaws.com/ 被拒绝。

为什么即使我通过了预定义的_queues设置,芹菜仍在尝试创建队列:

提前谢谢

芹菜工作者需要关联到允许CreateQueue操作的IAM角色。如果芹菜工人在EC2实例上运行,那么最简单的方法就是使用实例概要文件,让实例角色能够执行CreateQueue操作


尽管我的公司是AWS的大量用户(实际上一切都在AWS上),但我建议您在决定使用工作站上无法使用的AWS服务时三思而后行,而SQS就是这样一种服务。

非常感谢您的回答@DejanLekic。对不起,如果这是显而易见的,你能详细说明最后一句话吗?另外,如果CreateQueue操作对于SQS作为芹菜的代理是必需的,那么这里的文档是否有误:?