amazon-web-services - 将 Kinesis Firehose 设置为 CloudFormation 中 CloudWatch Events 规则的目标

标签 amazon-web-services aws-cloudformation amazon-cloudwatch amazon-kinesis-firehose

我正在制作一个 CloudFormation 模板来捕获将 CloudWatch Events 发送到 Kinesis Firehose Delivery Stream 的流程的组件。 (它可以在 AWS 中正​​常工作,通过控制台手动配置。)

当我定义AWS::Events::Rule时有一个Targets需要有效目标的 ARN 的属性。问题在于 AWS::KinesisFirehose::DeliveryStream 资源不支持检索其 ARN,而 Fn::Ref 仅返回其逻辑 ID。 ( Fn::GetAtt 可用于获取 AWS::Kinesis::Stream 的 ARN,但 AWS::KinesisFirehose::DeliveryStream 没有任何内容。)

我是否以错误的方式处理某些事情,或者这只是 CloudFormation 尚不支持的事情之一?

最佳答案

您应该能够基于 ARN namespace 构建 DeliveryStream ARN对于 Kinesis Firehose

类似于以下内容,假设调用 AWS::KinesisFirehose::DeliveryStream 资源DeliveryStream(未经测试)

{"Fn::Sub": [
    "arn:aws:firehose:${AWS::Region}:${AWS::AccountId}:deliverystream/${DeliveryStream}",
    {
      "DeliveryStream": {"Ref": "DeliveryStream"}
    }
  ]}

return value AWS::KinesisFirehose::DeliveryStream 上是传输流名称

关于amazon-web-services - 将 Kinesis Firehose 设置为 CloudFormation 中 CloudWatch Events 规则的目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46688146/

相关文章:

amazon-web-services - 如何将 CloudFormation WordPress 示例模板中的 EC2 实例从 T1/M1 升级到 T2?

node.js - 设置 AWS Lambda 调用的 LogStreamName

amazon-web-services - AWS刷新CloudFormation模板

amazon-web-services - 调用CreateMultipartUpload操作时发生错误(AccessDenied): Access Denied

amazon-web-services - 使用 AWS API Gateway 进行身份验证时出现问题错误 "IncompleteSignatureException"

node.js - DynamoDB 扫描显示的项目少于 DynamoDB 控制台

amazon-web-services - AWS CloudFormation 允许的模式是否允许电子邮件地址中包含 # 符号

amazon-web-services - AWS CloudWatch Logs Insights - 按 API 资源名称对日志进行分组并进行聚合

amazon-ec2 - 根据请求计数使用云形成自动扩展

ruby-on-rails - Rails 回形针不显示从 Amazon S3 上传的图像