1 Respuesta
- Más nuevo
- Más votos
- Más comentarios
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版本将帮助我为您的用例提供适当的更新步骤。
Contenido relevante
- ¿Cómo puedo hacer una llamada al SDK de AWS desde un proyecto de CDK mediante la interfaz AWSdkCall?OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 6 meses