如何对AWS Serverles项目使用多个自定义域?

问题描述

是否可能具有与其他自定义域不同的lambda函数;在无服务方lambda项目中,我需要一个lambda才能使用与其他lambda不同的自定义域。例如 userNotification --> dev.xyz.com/users 所有其他人 getProducts --> dev.abc.com/products 我尝试按照以下方式使用自定义域,但无法正常工作。

        userNotification:
            handler: src/index.handler
            events:
              - http:
                  method: get
                  path: /userNotification
                  cors:
                    origin: '*'
                    headers:
                      - Content-Type
                      - X-Amz-Date
                      - Authorization
                      - X-Api-Key
                      - X-Amz-Security-Token
                      - If-Match
                      - if-none-match
            # override default customDomain
            customDomain:
              domainName: 'dev.xyz-comm-sanBox.com'
              basePath: dev-newbank
              stage: dev
              createRoute53Record: true
    

在serverless.yml中,我使用自定义域作为,这工作正常,但随后我为所有lambda函数都使用了一个customDomains。我需要一个Lambda才能使用与其他Lambda不同的customDomain;

           custom:
             customDomain:
               basePath: dev-newbank
               domainName: 'dev.abc.com'
               stage: 'dev'
               createRoute53Record: true
               endpointType: regional
               securityPolicy: tls_1_2

解决方法

我认为您将必须具有2个不同的serverless.ymls,其中1个用于管理/ products路径,另一个用于/ users。然后,您可以为每个域指定不同的域。由于所有API网关都在其下方仅支持API上的自定义域,而不支持API中的各个端点,因此您必须将Lambda拆分为