首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无服务器框架1.0 :将Cloudformation转换为AWS Firehose的Yaml

无服务器框架1.0 :将Cloudformation转换为AWS Firehose的Yaml
EN

Stack Overflow用户
提问于 2016-08-29 03:00:50
回答 1查看 841关注 0票数 3

谁知道在Serverless v1.0中将cloudformation转换为yaml的权威指南?

我可以做相当多的事情,但我完全被困在如何设置Firehose并允许lambda写入它。

我认为资源部分应该是这样的:

代码语言:javascript
复制
resources:
Resources:
  FirehoseBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: my-firehose-bucket
  FirehoseDeliveryStream:
    Type: AWS::KinesisFirehose::DeliveryStream
    Properties:
      DeliveryStreamName: "FirehoseDeliveryStream"
      S3DestinationConfiguration:
        BucketARN:
          Fn::Join:
          - ''
          - - 'arn:aws:s3:::'
            - Ref: FirehoseBucket
        BufferingHints:
          IntervalInSeconds: 60
          SizeInMBs: 5
        CompressionFormat: GZIP
        Prefix: ${prefix}
        RoleARN: "arn:aws:iam::${account-number}:role/${project}-${env}-IamRoleLambda"

但是我不知道如何为IAM部分转换Cloudformation部分:http://docs.aws.amazon.com/firehose/latest/dev/controlling-access.html

任何关于CF->Yaml转换的指针,例子或指南都非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-09-01 19:50:58

Lambda执行角色的IAM语句(即Lambda函数在执行时承担的角色)未在资源中指定。

因此,如果您需要权限才能从Lambda函数中执行某些操作,则需要为假定的角色提供权限。

这在provider部分中指定。所以在你的例子中(我只是从你的链接中复制了一些东西,你必须将它更改为你需要的),它将是这样的(假设nodejs运行时):

代码语言:javascript
复制
provider:
    name: aws
    runtime: nodejs4.3
    iamRoleStatements:
        - Effect: Allow
            Action:
                - firehose:DeleteDeliveryStream
                - firehose:PutRecord
                - firehose:PutRecordBatch
                - firehose:UpdateDestination
            Resource:
                - arn:aws:firehose:region:account-id:deliverystream/delivery-stream-name
        - Effect: Allow
            Action:
                - logs:PutLogEvents
            Resource:
                - arn:aws:logs:region:account-id:log-group:log-group-name:log-stream:log-stream-name

额外好处:对于以云形成json格式指定的通用资源,可以使用一个从json到yaml的在线转换器。以这种方式开始要容易得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39194776

复制
相关文章

相似问题

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