はじめに
インストール
- Composerを介してインストールできます。composer.jsonファイルに下記の記述を追加する
{
"require": {
"aws/aws-sdk-php-laravel": "~3.0"
}
}
$ composer update
設定
- Laravelで、config / app.phpでプロバイダーキーを見つけて、AWSサービスプロバイダーを登録します。
'providers' => array(
// ...
Aws\Laravel\AwsServiceProvider::class,
)
'aliases' => array(
// ...
'AWS' => Aws\Laravel\AwsFacade::class,
)
AWS_ACCESS_KEY_ID=<アクセスキーを指定する>
AWS_SECRET_ACCESS_KEY=<シークレットキーを指定する>
AWS_REGION=us-east-1 ## 対象リージョンを指定する
- 構成ファイルをカスタマイズする場合、下記のコマンドを実行する
$ php artisan vendor:publish --provider="Aws\Laravel\AwsServiceProvider"
Copied File [/vendor/aws/aws-sdk-php-laravel/config/aws_publish.php] To [/config/aws.php]
Publishing complete.
- /config/aws.phpファイルが生成される。特に修正はしない
<?php
use Aws\Laravel\AwsServiceProvider;
return [
/*
|--------------------------------------------------------------------------
| AWS SDK Configuration
|--------------------------------------------------------------------------
|
| The configuration options set in this file will be passed directly to the
| `Aws\Sdk` object, from which all client objects are created. This file
| is published to the application config directory for modification by the
| user. The full set of possible options are documented at:
| http://docs.aws.amazon.com/aws-sdk-php/v3/guide/guide/configuration.html
|
*/
'credentials' => [
'key' => env('AWS_ACCESS_KEY_ID', ''),
'secret' => env('AWS_SECRET_ACCESS_KEY', ''),
],
'region' => env('AWS_REGION', 'us-east-1'),
'version' => 'latest',
'ua_append' => [
'L5MOD/' . AwsServiceProvider::VERSION,
],
];
実装
use App;
$s3 = App::make('aws')->createClient('s3');
$iterator = $s3->getIterator('ListObjects',[
'Bucket' => '<バケット名>',
]);
foreach ($iterator as $object) {
echo $object['Key'] . "\n";
}