【问题标题】:Is it possible to copy aws s3 folder with different name with aws sdk?是否可以使用 aws sdk 复制具有不同名称的 aws s3 文件夹?
【发布时间】:2019-01-13 13:05:19
【问题描述】:

我想使用 php aws sdk 复制一个具有不同名称的 s3 文件夹。有没有办法做到这一点。我没有任何代码来复制文件夹,而我只获得了单个文件。

【问题讨论】:

    标签: amazon-web-services api amazon-s3 copy aws-php-sdk


    【解决方案1】:

    我不是 PHP 开发人员,但考虑到我使用的 API,您可以 list all files 并使用 copy object,如 PHP SDK 文档 herehere 中所述。

    对于列表,您可以使用Prefix 参数在您想要的文件夹中设置和列表。

    对于复制,您需要查看的参数是ContentSourceKeyContentSource 是“源桶的名称和源对象的键名,用斜杠(/)分隔”。该对象可以是您正在复制的文件夹。 Key 参数是您想要的结果对象的名称。

    两者都可以列出所有内容并正确复制。还有更多对您有用的参数,例如列表存储桶上的Delimiter,以便更好地过滤。

    如果您可以直接使用AWS CLI,则有两种选择。一种是使用s3 sync 命令或s3 cp。有了它们,您可以使用所需的文件夹名称直接复制,从存储桶到存储桶、本地到存储桶、存储桶到本地。使用cp 命令,使用--recursive 选项循环指定目录或前缀。

    【讨论】:

      【解决方案2】:

      使用CLI,当传递参数--recursive时,下面的cp命令递归地将指定目录下的所有文件复制到指定的桶和前缀,同时使用--exclude参数排除一些文件

      aws s3 cp myDir s3://mybucket/ --recursive
      

      请在 PHP SDK 中查找相同

      【讨论】:

      • 我知道 CLI,但在 php aws sdk 中我无法做到这一点。
      • cp --recursive 命令混合使用列表并在其下复制 aws s3 api,如实现 here
      • @HonnavarDeepak - 是否尝试使用“Amazon S3 Stream Wrapper”? docs.aws.amazon.com/aws-sdk-php/v2/guide/…
      猜你喜欢
      • 2013-09-15
      • 1970-01-01
      • 2021-11-27
      • 2019-01-13
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      • 2019-03-16
      相关资源
      最近更新 更多