【发布时间】:2020-09-11 09:40:52
【问题描述】:
我的 aws 模板中有很多资源类型 AWS::Glue::Table。而且我不会将代码的 sn-p 从模板复制粘贴到模板。所以想法是创建一个接受参数的可重用嵌套堆栈。我做到了,但仍然存在一个问题。我不知道如何通过参数将列传递给这个堆栈[{Type: string, Name: type}, {Type: string, Name: timeLogged}] - 它是一个对象数组。但 params 只接受字符串类型。
我试图做这样的事情:
!Split [ "," , "{Type: string, Name: type}, {Type: string, Name: timeLogged}"] - 但它没有帮助
AWSTemplateFormatVersion: 2010-09-09
Description: The AWS CloudFormation template for creating a Glue table
Parameters:
DestinationBucketName:
Type: String
Description: Destination Regional Bucket Name
DestinationBucketPrefix:
Type: String
Description: Destination Regional Bucket Prefix
DatabaseName:
Type: String
Description: Database for Kinesis Analytics
TableName:
Type: String
Description: Table for Kinesis Analytics
InputFormat:
Type: String
Description: Input format for data
OutputFormat:
Type: String
Description: Output format for data
SerializationLibrary:
Type: String
Description: Serialization library for converting data
Resources:
LogsCollectionTable:
Type: AWS::Glue::Table
Properties:
DatabaseName: !Ref DatabaseName
CatalogId: !Ref AWS::AccountId
TableInput:
Name: !Ref TableName
Description: Table for storing data
TableType: EXTERNAL_TABLE
StorageDescriptor:
Columns: [{Type: string, Name: type}, {Type: string, Name: timeLogged}]
Location: !Sub s3://${DestinationBucketName}/${DestinationBucketPrefix}
InputFormat: !Ref InputFormat
OutputFormat: !Ref OutputFormat
SerdeInfo:
SerializationLibrary: !Ref SerializationLibrary
【问题讨论】:
标签: amazon-web-services amazon-cloudformation aws-glue