Path: blob/master/code_examples/php_examples/S3examples/s3-request-with-temp-credentials.php
4084 views
<?php1// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.2// SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE )34require 'vendor/autoload.php';56use Aws\Sts\StsClient;7use Aws\S3\S3Client;8use Aws\S3\Exception\S3Exception;910$bucket = '*** Your Bucket Name ***';1112$sts = new StsClient([13'version' => 'latest',14'region' => 'us-east-1'15]);1617$sessionToken = $sts->getSessionToken();1819$s3 = new S3Client([20'region' => 'us-east-1',21'version' => 'latest',22'credentials' => [23'key' => $sessionToken['Credentials']['AccessKeyId'],24'secret' => $sessionToken['Credentials']['SecretAccessKey'],25'token' => $sessionToken['Credentials']['SessionToken']26]27]);2829$result = $s3->listBuckets();303132try {33// Retrieve a paginator for listing objects.34$objects = $s3->getPaginator('ListObjects', [35'Bucket' => $bucket36]);3738echo "Keys retrieved!" . PHP_EOL;3940// List objects41foreach ($objects as $object) {42echo $object['Key'] . PHP_EOL;43}44} catch (S3Exception $e) {45echo $e->getMessage() . PHP_EOL;46}474849