首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在提供者级别定义‘level Bus’吗?

我可以在提供者级别定义‘level Bus’吗?
EN

Stack Overflow用户
提问于 2020-05-26 12:09:34
回答 1查看 246关注 0票数 0

我有一个定制的事件总线,对于每个订阅Lambda的人,我必须定义要使用的总线。

例如:

代码语言:javascript
复制
functions:
    hello:
        handler: src/handlers/hello.main
        events:
            - eventBridge:
                  eventBus: 'arn:aws:events:#{AWS::Region}:#{AWS::AccountId}:event-bus/events-${opt:stage}'
                  pattern:
                      source:
                          - dynamodb-stream
    world:
        handler: src/handlers/world.main
        events:
            - eventBridge:
                  eventBus: 'arn:aws:events:#{AWS::Region}:#{AWS::AccountId}:event-bus/events-${opt:stage}'
                  pattern:
                      source:
                          - dynamodb-stream

可以在提供者级别定义它吗?

例如:

代码语言:javascript
复制
provider:
    eventBridge:
        eventBus: 'arn:aws:events:#{AWS::Region}:#{AWS::AccountId}:event-bus/events-${opt:stage}'

通常,这种模式是存在的,但它不在文档中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-02 19:20:50

如果您在yml文件中有重复的属性,最好使用anchors

代码语言:javascript
复制
functions:
    hello:
        handler: src/handlers/hello.main
        events: &funcEvents
            - eventBridge:
                  eventBus: 'arn:aws:events:#{AWS::Region}:#{AWS::AccountId}:event-bus/events-${opt:stage}'
                  pattern:
                      source:
                          - dynamodb-stream
    world:
        handler: src/handlers/world.main
        events: *funcEvents

但是,不幸的是,您不能在提供者级别上定义它。

为了使函数声明保持干净,在自定义部分中定义ARN,如下所示:

代码语言:javascript
复制
functions:
    hello:
        handler: src/handlers/hello.main
        events: &funcEvents
            - eventBridge:
                  eventBus: ${self:custom.eventBusArn}
                  pattern:
                      source:
                          - dynamodb-stream
    world:
        handler: src/handlers/world.main
        events: *funcEvents

custom:
  eventBusArn: arn:aws:events:#{AWS::Region}:#{AWS::AccountId}:event-bus/events-${opt:stage}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62021834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档