我们如何配置从钩子调用python脚本时要使用的aws凭证配置文件
我创建了一个我想从权杖创建后的钩子调用的python代码。
使用“ sceptre create”时,确实会执行代码,但是针对默认的aws配置文件而不是针对config.yaml
中设置的配置文件,然后在错误的AWS账户上激活了存储桶加密。
直到现在,我浏览了文档并没有发现任何内容
在本地运行python代码(不使用sceptre)时,一旦设置了AWS_PROFILE
环境变量,它就可以很好地工作
import boto3
from botocore.exceptions import ClientError
# update the cloudformation template to ensure proper encryption
BUCKET_NAME = "kiki-001"
s3 = boto3.client('s3')
response = s3.put_bucket_encryption(
Bucket=BUCKET_NAME,
ServerSideEncryptionConfiguration={
'Rules' : [
{
'ApplyServerSideEncryptionByDefault': { 'SSEAlgorithm' : 'AES256'}
}
]
}
)
堆栈配置文件(base.yaml
)如下
template_path: base.json
parameters:
BaseBucketName: eitstoragenoprod
hooks:
after_create:
- !cmd "echo \"Hello World\""
stackgroup config.yaml看起来像
project_code: Foundation-Storage
region: eu-west-1
profile : storagenoprod-admin
template_bucket_name: storagenoprod-cloudformationsuploads
stack_tags :
InternalBudgetKey: "StorageNoProdFoundations"
AssetsOwner: "ServiceOwner"