【发布时间】:2018-10-26 19:01:43
【问题描述】:
有没有人有使用firehose.update_destination 设置S3 目标的DataFormatConversionConfiguration 的工作示例?我正在遵循Is it possible to specify data format conversion in AWS Cloudformation? 中的指导,使用 boto3(AWS Python 开发工具包),但我没有成功。当我在 ExtendedS3DestinationConfiguration 参数中包含 DFCC 时,它会失败并出现以下错误:
Exception during processing: An error occurred (InvalidArgumentException) when calling the UpdateDestination operation: RoleArn must not be null or empty
如果我通过原始目标配置(由describe_delivery_stream 返回)不变,则更新成功。我还可以更改其他配置选项,例如BufferingHints。唯一失败的情况是DataFormatConversionConfiguration 不为空。
例如,传递这个作品:
{
"RoleARN": "arn:aws:iam::1234567:role/MyExecutionRole",
"BucketARN": "arn:aws:s3:::my-bucket",
"Prefix": "databases/tables/requests/",
"BufferingHints": {
"SizeInMBs": 64,
"IntervalInSeconds": 120
},
"CompressionFormat": "UNCOMPRESSED",
"EncryptionConfiguration": {
"NoEncryptionConfig": "NoEncryption"
},
"CloudWatchLoggingOptions": {
"Enabled": false
},
"S3BackupMode": "Disabled"
}
但通过失败:
{
"RoleARN": "arn:aws:iam::1234567:role/MyExecutionRole",
"BucketARN": "arn:aws:s3:::my-bucket",
"Prefix": "databases/tables/requests/",
"BufferingHints": {
"SizeInMBs": 64,
"IntervalInSeconds": 120
},
"CompressionFormat": "UNCOMPRESSED",
"EncryptionConfiguration": {
"NoEncryptionConfig": "NoEncryption"
},
"CloudWatchLoggingOptions": {
"Enabled": false
},
"S3BackupMode": "Disabled",
"DataFormatConversionConfiguration": {
"InputFormatConfiguration": {
"Deserializer": {
"OpenXJsonSerDe": {
}
}
},
"SchemaConfiguration": {
"TableName": "requests",
"DatabaseName": "mydb"
},
"OutputFormatConfiguration": {
"Serializer": {
"OrcSerDe": {
}
}
}
}
}
唯一的区别是DataFormatConversionConfiguration 元素。
我是否忽略了一些明显的东西?也许DFCC 元素格式不正确?我找不到任何可行的示例,所以我纯粹从文档中获取。
我也很惊讶在输入元素中使用RoleARN 和BucketARN,而不是RoleArn 和BucketArn 的通常约定,但不确定它是否密切相关。
【问题讨论】:
标签: amazon-web-services aws-sdk amazon-kinesis-firehose