簡體   English   中英

如何將文件從 S3 存儲桶復制到 PHP(AWS SDK for PHP)中的 S3 存儲桶?

[英]How to copy files from S3 bucket to S3 bucket in PHP (AWS SDK for PHP)?

如何直接在 PHP(AWS SDK for PHP)中將文件從 S3 存儲桶復制到 S3 存儲桶? 我正在尋找 Ruby 的示例,即: https://stackoverflow.com/a/10418427/2899889但我找不到 ZE1BFD762321E409CEEZE8196B 的單個示例此外,我在 AWS SDK 中找不到用於 PHP 的方法 copy_to() 或 copy_from() - Ruby 示例中使用的命令?

有關代碼示例,請參閱AWS Github

當您想了解如何以受支持的編程語言使用 AWS SDK 執行任務時,這是您應該的第一個地方。

以下是 Amazon S3 的 PHP 代碼示例:

https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php/example_code/s3

這是一個 function 執行文件復制,桶到桶:

  function s3toS3FileCopy($sourceBucket, $sourceFilePath, $targetBucket, $targetFilePath) {
    $env = getenv();
    $s3 = new S3Client([
      'version' => 'latest',
      'region'  => 'eu-central-1',
      'credentials' => [
        'key'    => $env['S3_ACCESS_KEY'],
        'secret' => $env['S3_SECRET_KEY'],
      ],
    ]);

    $s3->copyObject([
      'Bucket' => $targetBucket,
      'Key' => $targetFilePath,
      'CopySource' => "{$sourceBucket}/{$sourceFilePath}",
    ]);
  }

如果使用其他方式,可以跳過“憑據”參數數組。 還要設置您需要的區域參數。 不支持不同區域之間的復制。 這很簡單,但參數並不那么直觀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM