[aws]いまさらにAWS SDK2を入れてみる
AWS SDK3がリリースされて久しいが、PHPのバージョンとアプリケーションの問題でPHPをバージョンアップがすぐにできそうにないので、AWS SDK2を入れてみることにした
検索エンジンではAWS SDK3しか出てこないので、備忘録
目次
composerが入っていないなら入れる
自動的に必要なファイルをダウンロードしてくれるcomposerを使用する。
インストール方法は下記参照
composer.jsonを編集する
composer.jsonに下記コードを加えて、AWS SDK2を入れるように指定
{ "require": { "aws/aws-sdk-php": "2.*" } }
composer.pharを使用してインストール
php composer.phar install
ディレクトリにvendorというディレクトリが追加されているのを確認
AWS SDK2の使い方
アクセスキーとシークレットーキーを入手・記述
AWSのIAMにて適切な権限を付与し、アクセスキーとシークレットーキーを入手
ユーザのホームディレクトリに「.aws」という名前のディレクトリを作成する。
mkdir ./.aws
.awsというフォルダで最初のドットがいるので注意
vi ~/.aws/credentials
でアクセスキーとシークレットーキーを入力する
[default] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY [project1] aws_access_key_id = ANOTHER_AWS_ACCESS_KEY_ID aws_secret_access_key = ANOTHER_AWS_SECRET_ACCESS_KEY
project1というのは、アプリごとにクレデンシャルを使い分けたいときなどに名前を指定する
全部DefaultでよいならDefaultだけでも可
実装
require_once __DIR__ . '/vendor/autoload.php'; use Aws\CloudFront\CloudFrontClient; $client = CloudFrontClient::factory(array( 'profile' => 'default', ));
上記例はCloudfrontのAPIを叩く時の例
Cloudfront APIマニュアル:https://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-cloudfront.html