ในบทเรียนรู้นี้เรามาเขียนโปรแกรมเพื่ออ่าน File และ Folder ใน Bucket ของ Amazon S3 กัน โดยเราจะใช้ Package ที่มีชื่อว่า
"aws/aws-sdk-php": "^3.63"
โดยเปิดไฟล์ composer.json จากนั้นเพิ่ม package ในส่วน require แล้วสั่ง cmd/terminal
composer update
จากนั้นเข้าไป Generate Key ก่อน โดยเข้าเมนู ชื่อที่ Login ขวาบน จากนั้นเลือก My Security Credentials
จากนั้นเลือก I AM User แล้ว สร้าง user ใหม่ เลือก bucket ที่ต้องการ แล้ว กด Tab Security credentials เพื่อสร้าง Access Key
ส่วน Secret Key ให้สร้างที่ Root User ดูเพิ่มเติมได้ที่ https://aws.amazon.com/blogs/security/wheres-my-secret-access-key/
เขียนโปรแกรมเพื่อเชื่อมต่อ
//...
use Aws\S3\S3Client;
//...
public function actionS3()
{
$s3 = S3Client::factory([
'credentials' => [
'key' => 'ADLSDFJSDJHGM3HVU5WRQ',
'secret' => '5FvD4jKlskdfji/sdfsasdkfhi/cA5/Gnldl',
],
'region' => 'ap-northeast-1',
'version' => 'latest'
]);
//$buckets = $s3->listBuckets();
$bucket = 'programmerthailand';
$result = $s3->listObjects(array('Bucket' => $bucket));
return $this->render('s3', ['result' => $result]);
}
ในส่วน view ทดลอง dump ข้อมูลดู
<?php
$this->title = 'S3';
var_dump($result['Contents']);
เมื่อแสดงผลจะได้ข้อมูลลักษณะดังนี้
ความคิดเห็น