LaravelでAWS SDKのS3を扱う


LaravelでS3を使うには

  • AWS SDKを使う
  • Flysystemを使う

のどちらかになると思います。
とりあえず今回はSDKを使います。

AWS SDK

composerでの導入

composer require aws/aws-sdk-php

でSDKを導入します。

.envファイルに環境変数の設定

コード上にわざわざ接続情報を書く必要はありません。
環境変数から自動的に持ってきてくれるので、指定された環境変数名に
キー情報を記載しておきます。

AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

S3への処理を書く

後はS3Clientを使って好きに操作することが可能です。

use Aws\S3\S3Client;

...

$s3 = new S3Client([
    'version' => 'latest',
    'region' => 'us-east-2'
]);
$result = $s3->listObjects();