【问题标题】:Duplicate a folder (size 150MB - 200MB) of one S3 bucket to another S3 bucket of different region Using PHP使用 PHP 将一个 S3 存储桶的文件夹(大小 150MB - 200MB)复制到另一个不同区域的 S3 存储桶
【发布时间】:2017-07-14 04:04:42
【问题描述】:

我想使用 PHP 或在 S3 术语中将一个 S3 存储桶的文件夹(大小 150MB - 200MB)复制到不同区域的另一个 S3 存储桶“将所有具有 S3 存储桶前缀的对象复制到具有另一个 S3 存储桶的不同前缀"

我尝试了下面的代码,但它不起作用

$s3 = new S3Client(['credentials' => $credentials, 'version' => 'latest','region' => $region,'debug' => false ]); 
$s3->registerStreamWrapper(); 
$result = $s3->uploadDirectory("s3://{$source_bucket}/{$key}",$target_‌​bucket);

我还尝试列出源存储桶中的所有对象(使用 listObject 函数),然后将其复制(使用 copyObject 函数)到目标存储桶中。但是这个过程太耗时了。

任何建议

【问题讨论】:

    标签: php amazon-web-services amazon-s3


    【解决方案1】:

    你真的,真的应该在AWS Command-Line Interface (CLI) 中使用类似aws s3 sync 命令。

    如果您自己编写,您将需要遍历所有文件并为每个对象发出单独的copy 命令,以及错误处理。 Amazon S3 中没有“复制此路径中的所有文件”命令。

    【讨论】:

      【解决方案2】:

      如果您不尝试进行自动复制,则应使用 S3 控制台。

      之前有人遇到过您的问题: How can I copy clone/duplicate a folder on S3?

      【讨论】:

      • 感谢您的快速响应,但不,我只需要使用我的 PHP 代码即可。没有第三方软件。
      猜你喜欢
      • 2020-07-05
      • 2018-11-22
      • 2023-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多