首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将S3存储桶名称作为环境变量传递给我的应用程序的无服务器- How

将S3存储桶名称作为环境变量传递给我的应用程序的无服务器- How
EN

Stack Overflow用户
提问于 2019-09-16 19:16:09
回答 1查看 837关注 0票数 2

我需要向我的应用程序提供serverless为我创建的S3存储桶的名称。这是我的serverless.yml文件的简化版本。

代码语言:javascript
复制
service: dummy-service
app: dummy-service

custom:
  bucket: "I have no idea what to write here!"

provider:
  name: aws
  runtime: nodejs10.x
  region: eu-central-1
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
        - s3:GetObject
      Resource:
        - "Fn::Join":
          - ""
          - - "arn:aws:s3:::"
            - Ref: DummyBucket
            - "*"
  environment:
    BUCKET: ${self:custom.bucket}

resources:
  Resources:
    DummyBucket:
      Type: AWS::S3::Bucket

functions:
  createOrUpdate:
    handler: handler.dummy
    events:
      - http:
          path: dummy
          method: POST

我已经知道了如何在iamRoleStatements部分进行引用。但是无法理解如何将其作为环境变量的字符串获取。

欢迎任何帮助。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-16 20:05:44

您可以使用Ref获取存储桶名称

代码语言:javascript
复制
service: dummy-service
app: dummy-service

custom:
  bucket:
    Ref: DummyBucket

provider:
  name: aws
  runtime: nodejs10.x
  region: eu-central-1
  iamRoleStatements:
    - Effect: Allow
      Action:
        - s3:PutObject
        - s3:GetObject
      Resource:
        - "Fn::Join":
          - ""
          - - "arn:aws:s3:::"
            - Ref: DummyBucket
            - "*"
  environment:
    BUCKET: ${self:custom.bucket}

resources:
  Resources:
    DummyBucket:
      Type: AWS::S3::Bucket

functions:
  createOrUpdate:
    handler: handler.dummy
    events:
      - http:
          path: dummy
          method: POST
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57955668

复制
相关文章

相似问题

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