我必须为数据管道的部署创建一个CDK脚本。我已经创建了lambda函数、SNS主题、S3桶(非常容易),但我在创建S3桶中的文件时遇到了困难。
到目前为止,我用于的stack.py代码,但它不起作用:
delivery_stream = firehose.CfnDeliveryStream(
self, "CdkworkshopFirehose",
s3_destination_configuration=firehose.CfnDeliveryStream.S3DestinationConfigurationProperty(
bucket_arn=destination_bucket.bucket_arn,
buffering_hints=firehose.CfnDeliveryStream.BufferingHintsProperty(
interval_in_seconds=60
),
compression_format="UNCOMPRESSED",
role_arn=" "
)
)有人知道问题出在哪里吗?为什么?因为此代码返回一个错误:
CdkworkshopFirehose Model validation failed (#/S3DestinationConfiguration/RoleARN: failed validation constraint for keyword [pattern])发布于 2021-02-18 17:26:14
角色ARN是强制性的,如果您查看错误消息,它会告诉您问题在哪里(我已经突出显示了它):
(#/S3DestinationConfiguration/RoleARN:失败的
CdkworkshopFirehose模型验证关键字模式的验证约束失败)
问题是S3DestinationConfiguration的一部分,这意味着您的firehose.CfnDeliveryStream.S3DestinationConfigurationProperty和那里的RoleARN与定义有效角色ARN的模式不匹配。
解决方案:创建一个角色并引用它的ARN,或者输入现有角色的ARN。
发布于 2021-02-19 09:15:53
解决方案:
firehose_role = iam.Role(self, "firehose-role", assumed_by=iam.ServicePrincipal("firehose.amazonaws.com"))
firehose_role_arn = firehose_role.role_arn
delivery_stream = firehose.CfnDeliveryStream(
self, "CdkworkshopFirehose",
s3_destination_configuration=firehose.CfnDeliveryStream.S3DestinationConfigurationProperty(
bucket_arn=destination_bucket.bucket_arn,
buffering_hints=firehose.CfnDeliveryStream.BufferingHintsProperty(
interval_in_seconds=60
),
compression_format="UNCOMPRESSED",
role_arn=firehose_role_arn
)
)https://stackoverflow.com/questions/66261344
复制相似问题