[英]Get s3 metadata without getting object
是否有可能從S3獲取對象自定義元數據而無需獲取整個對象? 我查看了AWS SDK PHP 2並搜索了google和SO,沒有明確的答案,或者可能只是我希望的答案。
謝謝。
也許這會對PHP 2有所幫助? 它使用了我不熟悉的Guzzle框架。
執行HeadObject命令:HEAD操作從對象檢索元數據而不返回對象本身。 如果您只對對象的元數據感興趣,則此操作非常有用。 要使用HEAD,您必須具有對該對象的READ訪問權限。
使用Guzzle框架的最終嘗試(未經測試的代碼):
use Guzzle\Service\Resource\Model
use Aws\Common\Enum\Region;
use Aws\S3\S3Client;
$client = S3Client::factory(array(
"key" => "YOUR ACCESS KEY ID",
"secret" => "YOUR SECRET ACCESS KEY",
"region" => Region::US_EAST_1,
"scheme" => "http",
));
// HEAD object
$headers = $client->headObject(array(
"Bucket" => "your-bucket",
"Key" => "your-key"
));
print_r($headers->toArray());
PHP 1.6.2解決方案
// Instantiate the class
$s3 = new AmazonS3();
$bucket = 'my-bucket' . strtolower($s3->key);
$response = $s3->get_object_metadata($bucket, 'üpløåd/î\'vé nøw béén üpløådéd.txt');
// Success?
var_dump($response['ContentType']);
var_dump($response['Headers']['content-language']);
var_dump($response['Headers']['x-amz-meta-ice-ice-baby']);
感謝: http : //docs.aws.amazon.com/AWSSDKforPHP/latest/#m=AmazonS3/get_object_metadata
希望有所幫助!
AWS HEAD對象http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html
use Aws\S3\S3Client;
use Guzzle\Common\Collection;
$client = S3Client::factory(array(
'key' => 'YOUR-AWS-KEY',
'secret' => 'YOUR-SECRET-KEY'
));
// Use Guzzle's toArray() method.
$result = $client->headObject(['Bucket' => 'YOUR-BUCKET-NAME', 'Key' => 'YOUR-FILE-NAME'])->toArray();
print_r($result['Metadata']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.