AWS SDK for PHP 버전 3에서 Amazon S3 버킷 생성 및 사용 - AWS SDK for PHP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for PHP 버전 3에서 Amazon S3 버킷 생성 및 사용

다음 예제에서는 다음과 같은 작업을 하는 방법을 보여줍니다.

  • 를 사용하여 인증된 요청 발신자가 소유한 버킷 목록을 반환합니다. ListBuckets

  • 를 사용하여 새 버킷을 생성합니다. CreateBucket

  • 를 사용하여 버킷에 객체를 추가합니다 PutObject.

의 모든 예제 코드는 여기에서 확인할 수 GitHub 있습니다. AWS SDK for PHP

보안 인증 정보

예제 코드를 실행하기 전에 보안 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 기본 사용법에 설명된 대로 AWS SDK for PHP를 가져옵니다.

가져오기

require 'vendor/autoload.php'; use Aws\S3\S3Client;

버킷 나열

다음 코드를 사용하여 PHP 파일을 생성합니다. 먼저 AWS 리전과 버전을 지정하는 AWS.S3 클라이언트 서비스를 생성합니다. 그런 다음 요청 발신자가 소유한 모든 Amazon S3 버킷을 버킷 구조 배열로 반환하는 listBuckets 메서드를 호출합니다.

샘플 코드

$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); //Listing all S3 Bucket $buckets = $s3Client->listBuckets(); foreach ($buckets['Buckets'] as $bucket) { echo $bucket['Name'] . "\n"; }

버킷 생성

다음 코드를 사용하여 PHP 파일을 생성합니다. 먼저 AWS 리전과 버전을 지정하는 AWS.S3 클라이언트 서비스를 생성합니다. 그런 다음 array를 파라미터로 사용하여 createBucket 메서드를 호출합니다. 유일하게 필요한 필드는 생성하려는 버킷 이름에 대한 문자열 값을 포함하는 'Bucket' 키입니다. 하지만 'CreateBucketConfiguration' 필드를 사용하여 AWS 지역을 지정할 수 있습니다. 성공할 경우 이 메서드는 버킷의 '위치'를 반환합니다.

샘플 코드

function createBucket($s3Client, $bucketName) { try { $result = $s3Client->createBucket([ 'Bucket' => $bucketName, ]); return 'The bucket\'s location is: ' . $result['Location'] . '. ' . 'The bucket\'s effective URI is: ' . $result['@metadata']['effectiveUri']; } catch (AwsException $e) { return 'Error: ' . $e->getAwsErrorMessage(); } } function createTheBucket() { $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2006-03-01' ]); echo createBucket($s3Client, 'my-bucket'); } // Uncomment the following line to run this code in an AWS account. // createTheBucket();

버킷에 객체 넣기

새 버킷에 파일을 추가하려면 다음 코드를 사용하여 PHP 파일을 생성합니다.

명령줄에서 이 파일을 실행하고 파일을 업로드할 버킷의 이름을 문자열로 전달하고 그 뒤에 업로드하려는 파일의 전체 파일 경로를 입력합니다.

샘플 코드

$USAGE = "\n" . "To run this example, supply the name of an S3 bucket and a file to\n" . "upload to it.\n" . "\n" . "Ex: php PutObject.php <bucketname> <filename>\n"; if (count($argv) <= 2) { echo $USAGE; exit(); } $bucket = $argv[1]; $file_Path = $argv[2]; $key = basename($argv[2]); try { //Create a S3Client $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $result = $s3Client->putObject([ 'Bucket' => $bucket, 'Key' => $key, 'SourceFile' => $file_Path, ]); } catch (S3Exception $e) { echo $e->getMessage() . "\n"; }