我正在使用 AWS Solutions Constructs 库定义 EventBridge 规则,用于将 EventBus 与 SQS 队列链接,即:https://docs.aws.amazon.com/solutions/latest/constructs/aws-eventbridge-sqs.html
正如文档所述,可以为 CDK 构造创建的 SQS 队列定义参数,也可以传递现有队列的引用。我正在尝试将后面的方法与 Python CDK 应用程序一起使用并使用该参数:
Name Type
existingQueueObj? sqs.Queue
问题是,我只能访问队列 ARN,我可以使用该队列 ARN 使用
IQueue
CDK 函数创建 sqs.Queue.from_queue_arn
接口,该函数不符合此处请求的类型,因此我收到以下错误:
TypeError: type of argument existing_queue_obj must be one of (aws_cdk.aws_sqs.Queue, NoneType); got aws_cdk.aws_sqs._QueueBaseProxy instead
有关如何潜在地使用该构造并正确设置对已存在队列的引用的任何提示吗?
Existing
是一个用词不当,它意味着它存在于您的 CDK 应用程序中,而不是由 EventbridgeToSqs
构造创建。您不能使用导入的队列,这就是为什么预期类型是 Queue
,而不是 IQueue
。
from_queue_arn
返回 IQueue
的实例,而不是 Queue
,并且不能在此处使用。