在S3中检索对象用户元数据 - aws sdk v3 php

时间:2015-08-24 21:22:33

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

我希望从php sdk中检索来自S3存储桶中对象的用户定义的元数据。

根据Editing Object Meta Data,用户元数据与对象一起存储并随之返回,并以“x-amz-meta - ”开头

我在上传时通过控制台定义了对象的用户元数据,如“x-amz-meta-test”,并在上传后添加(通过Web控制台,而不是上传AP​​I)。

永远不会返回测试元数据。我总是得到相同的系统元数据。也就是说,我只在@metadata中获得以下键:

文件夹

statuscode
effectiveUri
headers
   x-amz-id-2
   x-amz-request-id
   date
   x-amz-bucket-region
   content-type
   transfer-encoding
   server

物件

Key
LastModified
   date
   timezone_type
   timezone
ETag
Size
StorageClass

但是,要在其他语言中实现此目的,需要进行简单的方法调用。

Get User Metadata in Android SDK

Get User Metadata in Java SDK

如何在PHP SDK中完成相同的任务?

非常感谢任何帮助:)

1 个答案:

答案 0 :(得分:3)

我在v3 AWS SDK for PHP中遇到了同样的问题。经过一些研究和测试,我确定我可以使用chrome.runtime.getURL

headObject

使用系统定义的元数据和其他识别信息的示例输出REMOVED:

<?php
    $headers = $s3->headObject(array(
      "Bucket" => $bucket,
      "Key" => $key
    ));

    print_r($headers->toArray());
?>