Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awsdocs
GitHub Repository: awsdocs/amazon-s3-developer-guide
Path: blob/master/code_examples/php_examples/S3examples/s3-request-with-temp-credentials.php
4084 views
1
<?php
2
// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
// SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE )
4
5
require 'vendor/autoload.php';
6
7
use Aws\Sts\StsClient;
8
use Aws\S3\S3Client;
9
use Aws\S3\Exception\S3Exception;
10
11
$bucket = '*** Your Bucket Name ***';
12
13
$sts = new StsClient([
14
'version' => 'latest',
15
'region' => 'us-east-1'
16
]);
17
18
$sessionToken = $sts->getSessionToken();
19
20
$s3 = new S3Client([
21
'region' => 'us-east-1',
22
'version' => 'latest',
23
'credentials' => [
24
'key' => $sessionToken['Credentials']['AccessKeyId'],
25
'secret' => $sessionToken['Credentials']['SecretAccessKey'],
26
'token' => $sessionToken['Credentials']['SessionToken']
27
]
28
]);
29
30
$result = $s3->listBuckets();
31
32
33
try {
34
// Retrieve a paginator for listing objects.
35
$objects = $s3->getPaginator('ListObjects', [
36
'Bucket' => $bucket
37
]);
38
39
echo "Keys retrieved!" . PHP_EOL;
40
41
// List objects
42
foreach ($objects as $object) {
43
echo $object['Key'] . PHP_EOL;
44
}
45
} catch (S3Exception $e) {
46
echo $e->getMessage() . PHP_EOL;
47
}
48
49