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

标签 typescript amazon-web-services amazon-s3 aws-cdk

我正在尝试将文件上传到使用 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/

相关文章:

typescript - 有什么方法可以在 typescript 中声明嵌套类结构吗?

javascript - 如何在 Flow 中使用(或模拟)具有覆盖字段的对象传播?

typescript - TypeScript 中的双双问号

ruby - 如何在 s3 上使用 ruby​​ aws-sdk 创建目录结构?

node.js - 给定 https s3 url 将文件上传到 s3

ruby-on-rails - 加载到 Heroku 时的 Carrierwave/fog/AWS 问题 "cannot load such file -- fog"

javascript - Angular 十进制管道点格式

javascript - 如何对单个图像执行或处理多个操作?

mysql - 从 cpanel/whm 迁移到 Heroku 或 AWS

php - 从适用于 PHP 的 AWS 开发工具包提取 protected 请求响应