1개 답변
- 최신
- 최다 투표
- 가장 많은 댓글
0
【以下的回答经过翻译处理】 由于CDK使用CloudFormation来部署其资源,因此任何更新都需要触发CloudFormation更新,以便更新代码。 作为测试,我使用了以下 CDK Lambda 代码。 请看下面: ''' const bucket = s3.Bucket.fromBucketName(this, 'bucket', '<Bucket_Name>');
const lambdaFunc = new lambda.Function(this, 'lambdaFunc', {
runtime: lambda.Runtime.PYTHON_3_9,
code: new lambda.S3Code(bucket, "hello.py.zip", '<S3_Object_Version_Number>'),
handler: 'lambda.lambda_handler',
});
''' 由于我正在利用S3作为我的代码来源,因此对代码进行任何更改都需要执行以下步骤:
1.上传代码到S3
2.在S3控制台的“版本”选项卡中获取版本号
3.将版本号添加到lambda.S3Code()
函数的第三个参数中
4.运行cdk deploy
命令
堆栈成功更新后,我能够确认Lambda控制台中的Lambda代码已更改。请参见以下测试结果: ===原始代码:
def handler(event, context):
print('request: {}'.format(json.dumps(event)))
return {
'statusCode': 200,
'headers': {
'Content-Type': 'text/plain'
},
'body': 'Hello, CDK! You have a hit {}\n'.format(event['path'])
}
---更新后的代码:
def handler(event, context):
print('request: {}'.format(json.dumps(event)))
return {
'statusCode': 200,
'headers': {
'Content-Type': 'text/plain'
},
'body': 'Hola, CDK! Tienes un éxito {}\n'.format(event['path'])
}
===
由于CDK为Lambda构造提供多种源代码的方式,代码片段和CDK版本将帮助我为您的用例提供适当的更新步骤。
관련 콘텐츠
- AWS 공식업데이트됨 일 년 전