gpt4 book ai didi

amazon-web-services - 无服务器框架1.0 : Converting Cloudformation to Yaml for AWS Firehose

转载 作者:行者123 更新时间:2023-12-05 07:47:49 25 4
gpt4 key购买 nike

有人知道在 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 转换的任何指示、示例或指南!

最佳答案

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

因此,如果您需要从 Lambda 函数内部执行某些操作的权限,则需要授予代入角色权限。

这在提供程序部分中指定。所以在你的情况下(我刚刚从你的链接复制了一些东西,你必须将其更改为你需要的)它将是这样的(假设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 的在线转换器。这样更容易开始。

关于amazon-web-services - 无服务器框架1.0 : Converting Cloudformation to Yaml for AWS Firehose,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39194776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com