无服务器 yml 动态更改 arn

问题描述 投票:0回答:1

我正在使用 serverless.yml 来管理我的 lambda 函数,它们是不同的 dynamodb 表,针对基于 env 变量阶段的不同环境具有不同的 ARN,我如何使其动态化,以便每当我将 env 从暂存更改为生产时,ARN应据此更改,即 ARN 应从 11111 更改为 22222

service: lambda-service
frameworkVersion: '3'

provider:
  name: aws
  stage: staging # value should be staging or production .. value used in appConfig.js
  environment:
    NODE_ENV: ${self:provider.stage}
  region: ap-south-1
  runtime: nodejs18.x
  
  iam:
    role:
      statements:
        - Effect: Allow
          Action:
            - dynamodb:Query
            - dynamodb:Scan
            - dynamodb:GetItem
            - dynamodb:PutItem
            - dynamodb:UpdateItem
            - dynamodb:DeleteItem
          Resource: arn:aws:dynamodb:ap-south-1:11111111:table/table-1
        
        
            
functions:
  api:
    handler: index.handler
    events:
      - httpApi: '*'

plugins:
  - serverless-offline

aws-lambda yaml serverless aws-serverless
1个回答
0
投票

基于

stage
使某些参数动态化的最佳方法是使用无服务器参数:https://www.serverless.com/framework/docs/guides/parameters

© www.soinside.com 2019 - 2024. All rights reserved.