Php元数据检索,在S3中检索对象用户元数据-AWS SDK V3 PHP

本文档描述了如何使用PHP AWS SDK从S3存储桶中的对象中获取用户定义的元数据。问题在于用户元数据(以'x-amz-meta-'开头)在使用headObject方法时无法正常返回,但示例代码提供了解决方案,展示了如何正确获取包括用户元数据在内的对象元信息。
摘要由CSDN通过智能技术生成

我正在从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

但是,要用其他语言实现此目的,则涉及一个简单的方法调用.

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

任何帮助将不胜感激 :)

解决方法:

对于PHP的v3 AWS开发工具包,我遇到了同样的问题.经过一些研究和测试,我确定可以使用headObject:

$headers = $s3->headObject(array(

"Bucket" => $bucket,

"Key" => $key

));

print_r($headers->toArray());

?>

带有系统定义的元数据和其他标识信息的示例输出已删除:

Array

(

/* REMOVED */

[Metadata] => Array

(

[orderdate] => Mon, 31 Aug 2015 19:03:52 +0000

[color] => green

[fruit] => apple

[price] => 99.95

)

/* REMOVED */

[@metadata] => Array

(

[statusCode] => 200

[effectiveUri] => https://s3.amazonaws.com/REMOVED/REMOVED

[headers] => Array

(

[x-amz-id-2] => REMOVED

[x-amz-request-id] => REMOVED

[date] => Wed, 02 Sep 2015 04:43:02 GMT

[x-amz-meta-orderdate] => Mon, 31 Aug 2015 19:03:52 +0000

[x-amz-meta-color] => green

[x-amz-meta-fruit] => apple

[x-amz-meta-price] => 99.95

[last-modified] => Wed, 02 Sep 2015 04:11:13 GMT

[etag] => "REMOVED"

[x-amz-storage-class] => REDUCED_REDUNDANCY

[accept-ranges] => bytes

[content-type] => application/octet-stream

[content-length] => 80771

[server] => AmazonS3

)

)

)

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

来源: https://codeday.me/bug/20191119/2039142.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值