อ่าน File และ Folder ใน Bucket ของ Amazon S3 ด้วย Yii2

wave
มานพ กองอุ่น 29 ต.ค. 2019 09:24:05 3,472

ในบทเรียนรู้นี้เรามาเขียนโปรแกรมเพื่ออ่าน 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']);

เมื่อแสดงผลจะได้ข้อมูลลักษณะดังนี้


ความคิดเห็น

หากบทเรียนรู้มีความผิดพลาดประการใด หรือมีข้อเสนอแนะกรุณาแจ้ง contact@programmerthailand.com

เขียนบทเรียนรู้ของคุณ

รายละเอียด
  • ดู 3,472
  • รักเลย 0
  • หมวดหมู่ Yii Framework 2 (Yii2)
  • เขียนเมื่อ
  • แก้ไขเมื่อ
  • Tags aws s3 bucket php yii
ข้อมูลผู้เขียน
มานพ กองอุ่น

มานพ กองอุ่น

เป็นสมาชิกเมื่อ: 18 ธ.ค. 2009

เนื้อหาที่เกี่ยวข้อง