aws-lambda - 使用隐式 API 对 template.yaml 中的方法启用 cors

标签 aws-lambda aws-cloudformation aws-sam

每当部署时,我都会尝试为 Stack RestAPI 及其所有方法启用 Cors。我已经设法通过创建一个空模型手动完成此操作,然后将其与 statusCode 200 一起设置为响应。

问题是,我不希望它被重置并且必须手动更改它。到目前为止我发现的最接近的是其他人提出了这样的建议:

  OptionsMethod:
    Type: AWS::ApiGateway::Method
    Properties:
      AuthorizationType: NONE
      RestApiId: !Ref MyApi
      ResourceId: !GetAtt MyApi.RootResourceId
      ...

我尝试将其修改为我能想到的每种风格,将 MyApi 替换为 ServerlessRestApi,这似乎是隐式 Rest Api。除了创建另一个 API 而不是隐式 API 之外,我不知道如何让它工作。

简而言之,我希望在部署我的/新的 lambda 函数时默认启用 cors。

最佳答案

您可以在 yaml 中全局设置 CORS:

Globals:
  Api:
    Cors:
      AllowMethods: "'OPTIONS,POST,GET'"
      AllowHeaders: "'*'"
      AllowOrigin: "'*'"

关于aws-lambda - 使用隐式 API 对 template.yaml 中的方法启用 cors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62251701/

相关文章:

python - 使用boto3下载Lambda函数的部署包

aws-cloudformation - 使用 Lambda 函数自动创建的角色的 ARN

amazon-web-services - AWS SAM 和参数存储 : How to select parameter for the deployment into different environments

amazon-web-services - 如何获取动态创建的 lambda 角色的名称?

lambda - 如何将 GraphQL 突变从一台服务器发送到另一台服务器?

django - 使用 Zappa 将 Geo Django 项目添加到 AWS Lambda。获取操作系统错误 : cannot open shared object file: No such file or directory

amazon-web-services - 我们如何合并两个或多个 aws cloudformation 模板

python - 使用 cloudformation 创建时 sns 无法触发 lambda

go - 如何在 go 中编写前/后流量钩子(Hook)函数?

amazon-web-services - AWS Lambda : Execute function B 10 minutes after function A