Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS CDK S3部署错误-上载的文件必须是非空zip文件_Amazon Web Services_Amazon S3_Aws Cdk - Fatal编程技术网

Amazon web services AWS CDK S3部署错误-上载的文件必须是非空zip文件

Amazon web services AWS CDK S3部署错误-上载的文件必须是非空zip文件,amazon-web-services,amazon-s3,aws-cdk,Amazon Web Services,Amazon S3,Aws Cdk,我正在尝试使用AWS CDK和s3部署模块将静态网页上载到s3。问题是,部署进展顺利,直到我得到一个错误,指出上传的文件必须是非空的zip文件。文档表明我应该能够使用一个目录,但我也尝试过使用zip,同样的错误仍然存在。我不知道怎么继续 } }如果您在2021年初这样做,请检查您正在使用的NodeJ的版本。如果是15.6到15.8,则会引入一个bug,该bug会破坏.zip文件的构建方式,从而导致此错误 CDK错误为,上游节点错误为 恢复到15.5或更早版本应该可以解决这个问题,看起来Node

我正在尝试使用AWS CDK和s3部署模块将静态网页上载到s3。问题是,部署进展顺利,直到我得到一个错误,指出上传的文件必须是非空的zip文件。文档表明我应该能够使用一个目录,但我也尝试过使用zip,同样的错误仍然存在。我不知道怎么继续

}
}

如果您在2021年初这样做,请检查您正在使用的NodeJ的版本。如果是15.6到15.8,则会引入一个bug,该bug会破坏.zip文件的构建方式,从而导致此错误

CDK错误为,上游节点错误为

恢复到15.5或更早版本应该可以解决这个问题,看起来NodeJS 15.9可能也解决了这个问题,但我还没有确认这一点

import * as CDK from "@aws-cdk/core";
import * as S3 from "@aws-cdk/aws-s3";
import * as S3Deployment from "@aws-cdk/aws-s3-deployment";

const path = "../website.zip";

export class WebsiteStack extends CDK.Stack {
     constructor(app: CDK.App, id: string, props?: CDK.StackProps) {
      super(app, id, props);

const bucket = new S3.Bucket(this, "Files", {
  websiteIndexDocument: "index.html",
  publicReadAccess: true,
});

new S3Deployment.BucketDeployment(this, "Deployment", {
  sources: [S3Deployment.Source.asset(path)],
  destinationBucket: bucket,
  
});

new CDK.CfnOutput(this, "BucketDomain", {
  value: bucket.bucketWebsiteDomainName,
});