簡體   English   中英

獲取s3元數據而不獲取對象

[英]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.

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