簡體   English   中英

在帶有PHP的AWS開發工具包中使用S3部分鍵

[英]Using S3 partial keys in AWS SDK with PHP

我正在閱讀: http : //docs.aws.amazon.com/aws-sdk-php/latest/class-Aws.S3.S3Client.html#_getBucketCors

我有一個部分密鑰,例如:“ / myfolder / myinnerfolder /”

但是,myinnerfolder內實際上有許多對象(文件)。

我相信我可以這樣稱呼:

$result = $client->getObject(array(
            'Bucket' => $bucket,
            'Key'    => $key
        ));
        return $result;

如果我有完整的密鑰。 我該如何稱呼類似上面的東西,但讓它返回所有對象和/或它們的名稱給我? 在Python中,您只需在鍵的前面請求即可,但我看不到執行此操作的選項。 有任何想法嗎?

您需要將listObjects()方法'Prefix'參數一起使用。

$result = $client->listObjects(array(
    'Bucket' => $bucket,
    'Prefix' => 'myfolder/myinnerfolder/',
));
$objects = $result['Contents'];

為了使此過程變得更加容易,特別是如果您有超過1000個帶有該前綴的對象(通常需要多個請求),則可以使用SDK的Iterators功能

$objects = $client->getIterator('ListObjects', array(
    'Bucket' => $bucket,
    'Prefix' => 'myfolder/myinnerfolder/',
));
foreach ($objects as $object) {
    echo $object['Name'];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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