如何快速将本地文件上传到S3?

时间:2017-11-21 02:39:10

标签: amazon-web-services amazon-s3

我有一个有角度的应用程序。我需要将它上传到S3。我已经厌倦了使用AWS控制台,因为我有很多目录。如何快速上传我的所有文件。感谢。

是否可以一次发送所有文件?

3 个答案:

答案 0 :(得分:1)

我想最简单的方法是使用aws-cli。 就像说here

  

sync命令具有以下形式。可能的源目标   组合是:

     

本地文件系统到Amazon S3 Amazon S3到本地文件系统Amazon   S3到Amazon S3

     

$ aws s3 sync <source> <target> [--options]

     

以下示例同步Amazon S3文件夹的内容   使用当前工作目录在my-bucket中命名路径。 s3同步   更新具有不同大小或修改时间的任何文件   目标上具有相同名称的文件。输出显示   同步期间执行的特定操作。请注意   操作递归地同步子目录MySubdirectory和   其内容为s3:// my-bucket / path / MySubdirectory。

     

$ aws s3 sync . s3://my-bucket/path

     

上传:MySubdirectory \ MyFile3.txt到s3://my-bucket/path/MySubdirectory/MyFile3.txt

     

上传:MyFile2.txt到s3://my-bucket/path/MyFile2.txt

     

上传:MyFile1.txt到s3://my-bucket/path/MyFile1.txt

您还可以查看this docs中的aws-sdk:

有一个部分包含使用SDK的所有可用语言和平台: SDK

here是使用sdk与Amazon S3进行Javascript的一些示例

答案 1 :(得分:1)

aws s3 cp --recursive <localfolderpath> s3://<bucketname>/<key>/

答案 2 :(得分:1)

您还可以使用webpack-s3-plugins3-website直接从Webpack上传。

var config = {
  plugins: [
    new S3Plugin({
      // Exclude uploading of html
      exclude: /.*\.html$/,
      // s3Options are required
      s3Options: {
        accessKeyId: process.env.AWS_ACCESS_KEY_ID,
        secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
        region: 'us-west-1'
      },
      s3UploadOptions: {
        Bucket: 'MyBucket'
      }
    })
  ]
}