gpt4 book ai didi

amazon-s3 - aws cloudformation 无法导入导出变量的 ImportValue

转载 作者:行者123 更新时间:2023-12-03 07:25:20 27 4
gpt4 key购买 nike

我正在尝试使用 cloudformation yaml 文件在 aws 云中创建堆栈。

以下是我的第一个堆栈文件的片段。在“输出”部分中,我使用 Lambda 函数 Arn 的值创建导出变量。

Resources:
FileTriggerFunction:
Type: 'AWS::Lambda::Function'
Properties:
FunctionName:
'Fn::Join':
- '-'
- - 'Fn::ImportValue': !Sub '${EnvironmentStackName}-EnvironmentId'
- Arc
- FileTrigger
Description: ARC File Trigger for offline files
Runtime: dotnetcore2.1
MemorySize: 256
Handler: >- Offline.FileTrigger::Offline.FileTrigger.TriggerFileHandler::ReadFileFromS3
Role: !GetAtt FileTriggerLambdaRole.Arn
VpcConfig:
SecurityGroupIds:
- !Ref FileTriggerSecurityGroup
SubnetIds:
'Fn::Split':
- ','
- 'Fn::ImportValue': !Sub '${EnvironmentStackName}-PrivateSubnets'
Timeout: 300
Code: Offline.FileTrigger.zip
Outputs:
FileTriggerLambdaFunction:
Description: FileTrigger Lambda Function Arn
Value: !GetAtt FileTriggerFunction.Arn
Export:
Name: !Sub ${EnvironmentStackName}-FileTriggerFunctionArn

堆栈已正确创建,我可以在输出中看到导出变量。

Output of the created stack

现在,在下一个 cloudformation 中,我尝试使用 ImportValue 获取值,如下所示。

  OfflineBucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName:
'Fn::Join':
- .
- - offline-files
- !Ref LowerBusinessUnit
- 'Fn::Sub': '${LowerEnvStackName}'
NotificationConfiguration:
LambdaConfigurations:
- Event: 's3:ObjectCreated:*'
- Function: !ImportValue
'Fn::Sub': '${EnvironmentStackName}-FileTriggerFunctionArn'

在创建第二个堆栈时,我收到以下错误。

CREATE_FAILED   AWS::S3::Bucket OfflineBucket   Property Function cannot be empty.

ImportValue 似乎无法从导出的变量中读取值。我已验证环境堆栈名称是正确的。我也尝试过直接输入变量名称,但仍然出现相同的错误。

  OfflineBucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName:
'Fn::Join':
- .
- - offline-files
- !Ref LowerBusinessUnit
- 'Fn::Sub': '${LowerEnvStackName}'
NotificationConfiguration:
LambdaConfigurations:
- Event: 's3:ObjectCreated:*'
- Function: !ImportValue ocsdebug-kd-environment-FileTriggerFunctionArn

有人可以告诉我我做错了什么吗?

最佳答案

问题出在通知配置上。 AWS CF 在创建存储桶时不支持此操作。所以现在我只创建没有NotificationConfiguration的存储桶,然后使用aws cli添加通知配置。

关于amazon-s3 - aws cloudformation 无法导入导出变量的 ImportValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51942429/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com