AWS CDK S3 部署错误 - 上传的文件必须是非空 zip

Jor*_*e P 3 amazon-s3 amazon-web-services aws-cdk

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

在此输入图像描述

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,
});
Run Code Online (Sandbox Code Playgroud)

} }

Mal*_*ous 5

如果您在 2021 年初执行此操作,请检查您使用的 NodeJS 版本。如果是 15.6 到 15.8,则引入了一个错误,该错误破坏了 .zip 文件的构建方式,从而导致此错误。

CDK 错误是#12536,上游 NodeJS 错误是#37027

恢复到 15.5 或更早版本应该可以解决该问题,看起来 NodeJS 15.9 也可能解决了该问题,但我尚未证实这一点。