gpt4 book ai didi

typescript - 使用 CDK 将文件上传到 S3 存储桶

转载 作者:行者123 更新时间:2023-12-05 06:59:39 26 4
gpt4 key购买 nike

我正在尝试将文件上传到使用 CDK 创建的 S3 存储桶,但即使使用 AWS 提供的示例代码,我也一直遇到同样的错误。

这是堆栈。

export class TestStack extends cdk.Stack {
public readonly response: string;

constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
super(scope, id, props);

const websiteBucket = new s3.Bucket(this, 'WebsiteBucket', {
websiteIndexDocument: 'index.html',
publicReadAccess: true,
});
new s3deploy.BucketDeployment(this, 'DeployWebsite', {
sources: [s3deploy.Source.asset('./website-dist')],
destinationBucket: websiteBucket,
destinationKeyPrefix: 'web/static' // optional prefix in destination bucket
});

}
}

这是要求的主箱

const app = new cdk.App();

new TestStack(app, "TestStack", {
env: {
account: '123456789',
region: 'us-east-1',
}
});

destinationBucket 在 vi​​sual studio 代码中和运行 npm build 时出现以下错误

“Bucket”类型中缺少属性“env”,但在“IBucket”类型中是必需的。

据我所知,env 与此处描述的资源环境有关:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_core.ResourceEnvironment.html

我不知道如何将它提供给桶对象,因为它似乎没有出现在此处描述的可用输入 Prop 上:https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_aws-s3.Bucket.html

如有任何帮助,我们将不胜感激。

最佳答案

尝试将 env 传递到 Bucket Stack 属性中。

代码片段:

当你 decalre 堆栈时,这应该位于 bin 文件夹下。


const myEnv = {
account: '123456789',
region: 'us-east-1',
};

const App = new cdk.App();

new S3Stack(App, 'S3Stack',{env: myEnv});

关于typescript - 使用 CDK 将文件上传到 S3 存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64351709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com