【发布时间】:2022-01-17 09:21:41
【问题描述】:
我正在尝试创建一个 bash 脚本来将 EC2 实例更新到最新版本的 Boto3。为此,我需要将 .zip 文件放入指定的 S3 存储桶中。我希望用户在部署堆栈时输入其 S3 存储桶的名称,然后将其输入 bash 脚本。 这是我的代码:
Parameters:
BucketName:
Type: String
Resources:
rRunLambdaLayerScript:
Type: AWS::SSM::Association
Properties:
Name: AWS-RunShellScript
WaitForSuccessTimeoutSeconds: 300
Targets:
- Key: tag:Lambda
Values:
- layer
Parameters:
commands:
- |
#!/usr/bin/env bash
mkdir lambda_layer
cd lambda_layer/
mkdir python
cd python/
pip3 install boto3 -t ./
cd ..
zip -r /tmp/lambda_layer.zip .
aws s3 cp /tmp/lambda_layer.zip s3://$BucketName
这样做会导致脚本将其留空并出现“参数验证失败”错误。
【问题讨论】:
标签: bash amazon-web-services amazon-cloudformation