-
AMAZON S3 PHP SDK 로 다운로드 연결하기PHP 2020. 4. 29. 20:10
credentials 액세스키와 시크릿키발급방법
AWS IAM에 접속해서 사용자 생성, 나같은경우는 S3 Read Only 퍼미션을 가진 사용자 생성 후 액세스키, 시크릿키 사용
----------------------------------------------------
$provider = CredentialProvider::defaultProvider(); // /usr/sbin/.aws/credentials 파일에 key 보관
//var_dump($provider); // 이걸로 credentials 파일 어디서 로드하는 지 파악했음.
$s3Client = new Aws\S3\S3Client([
'region' => 'ap-northeast-2',
'version' => '2006-03-01',
'credentials' => $provider
]);
$cmd = $s3Client->getCommand('GetObject',[
'Bucket' => 'jwentertainment',
'Key' => 'offline/2liter_process.jpg' // 파일명 세팅
//'Key' => 'ap-northeast-2:12774df1cc4580e98cde56d0dd97a092'
]);
//$keyLists = $s3Client->listObjects([
// 'Bucket' => 'jwentertainment'
//]);
//// $buckets = $s3Client->listBuckets();
//print_r($keyLists);
//exit;
//키 목록 보는 법
$request = $s3Client->createPresignedRequest($cmd, '+20 minutes');//이걸로 시간설정 가능
$presignedUrl = (string)$request->getUri();
$responseMassege = array(
'record'=> array(
'info' => array(
'result_code' => '200',
'result_message' => 'success'
),
'list' => $presignedUrl //여기 url로 다운로드 가능
)
);
//$this->Song_model->updateLog('JKM_301', $device_idx, 'Y');
// $this->response(json_encode($responseMassege), MY_Controller::HTTP_OK);
$this->response($responseMassege, MY_Controller::HTTP_OK);
참고사이트
https://lee-seul.github.io/other/2018/05/13/AWS-Credentials.html
AWS Credentials 설정
...
lee-seul.github.io
https://docs.aws.amazon.com/ko_kr/sdk-for-php/v3/developer-guide/guide_credentials.html
'PHP' 카테고리의 다른 글
정규식 공부 및 테스트 (0) 2020.08.06