谁知道在Serverless v1.0中将cloudformation转换为yaml的权威指南?
我可以做相当多的事情,但我完全被困在如何设置Firehose并允许lambda写入它。
我认为资源部分应该是这样的:
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转换的指针,例子或指南都非常感谢!
发布于 2016-09-01 19:50:58
Lambda执行角色的IAM语句(即Lambda函数在执行时承担的角色)未在资源中指定。
因此,如果您需要权限才能从Lambda函数中执行某些操作,则需要为假定的角色提供权限。
这在provider部分中指定。所以在你的例子中(我只是从你的链接中复制了一些东西,你必须将它更改为你需要的),它将是这样的(假设nodejs运行时):
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的在线转换器。以这种方式开始要容易得多。
https://stackoverflow.com/questions/39194776
复制相似问题