您可以通过使用aws-cdk-lib包下的 '@aws-cdk/aws-s3-deployment' 来解决该问题。以下是示例代码:
from aws_cdk import (
aws_s3 as s3,
aws_s3_deployment as s3deploy,
core as cdk
)
class MyStack(cdk.Stack):
def __init__(self, scope: cdk.Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
# 创建存储桶
bucket = s3.Bucket(self, "MyBucket")
# 将项目上传到存储桶
s3deploy.BucketDeployment(
self, "DeployProject",
sources=[s3deploy.Source.asset("./my_project_folder")],
destination_bucket=bucket
)
上面的代码将在堆栈创建后创建一个存储桶。在部署您的堆栈后,您的存储桶将仅在第一次部署时创建并在以后的部署期间重用。