如何在 Python 中使用 AWS CDK 创建涉及两个属性的 SNS 订阅过滤器?

How do I create an SNS subscription filter involving two attributes using the AWS CDK in Python?

我正在 Python 中使用 CDK 设置我们的 AWS 基础设施。当 id 在范围内并且类型是两种类型之一时,我想使用过滤器将 sqs 队列订阅到 SNS 主题。过滤器应如下所示:

{ "id": [{"numeric": [">", 0, "<", 100]}], "type": ["foo", "bar"] }

这是我的:

class MyStack(core.Stack): def init(self, scope: core.Construct, id: str, **kwargs) -> None: super().init(作用域, id, **kwargs)

    queue = sqs.Queue(self, "MyQueue")
    snsTopic = sns.Topic(self, "MyTopic", display_name="My Topic")

    idMapping = {"id":  sns.SubscriptionFilter(conditions=[{"numeric": [">", 0, "<", 100] } ])}
    typeMapping = {"type" : sns.SubscriptionFilter(conditions=["foo", "bar"])}

    sub = subs.SqsSubscription(queue, filter_policy = idMapping)
    snsTopic.add_subscription(sub)

如果我将 filter_policy 设置为 idMapping 或 typeMapping 似乎可以工作,但我如何进行两者的 AND?

只给出一个包含两个键的字典

mapping = {"id": ...,"type" :...)}