Aws cloudformation模板:如何为Kinesis资源提供流名称?

时间:2014-07-18 20:01:03

标签: amazon-cloudformation amazon-kinesis

我想通过云形成模板创建一个Kinesis资源,它不允许我提供“StreamName”作为资源的属性。

"KinesisResource":{
"Type" : "AWS::Kinesis::Stream",
"Properties" : {
"ShardCount" : 1
"StreamName":"KinesisStream"
}

},

它说“无法识别的属性”StreamName“。 如何在模板中提供流名称。 谢谢, Nithya。

2 个答案:

答案 0 :(得分:7)

显然,您现在无法指定Stream名称。 CloudFormation的Kinesis文档仅支持ShardCount作为唯一参数。

您可以使用

将Kinesis流名称作为CloudFormation输出的一部分

{ "Ref" : "< resource name of instance of - AWS::Kinesis::Stream>" }

截至目前,流的名称是以<Stack-Name> - <Stream Name - Resoruce Name> - < Arbitrary Info >

的模式创建的

堆栈名称:MyKinesisStack

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Resources" : {
    "KinesisStream1" : {
      "Type" : "AWS::Kinesis::Stream",
      "Properties" : {
        "ShardCount" : "1"        
      }
    }
  },
  "Outputs" : {
  "KinesisStreamName" : {
        "Description" : "Kenisis Stream Name",
        "Value" : { "Ref" : "KinesisStream1"}
    }  
  }
}

上面的堆栈将创建一个名为 MyKinesisStack-KinesisStream1-ARTSDY32AS

的Kinesis Stream

答案 1 :(得分:2)

这已通过物业名称解决。

{
   "Type" : "AWS::Kinesis::Stream",
   "Properties" : {
      "Name" : String,
      "ShardCount" : Integer,
      "Tags" : [ Resource Tag, ... ]
   }
}

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html