AWS EC2 にPHP7.1と「AWS SDK for PHP3.x」を使ってDynamoDBにテーブルを作成する方法です。
接続するユーザーは 、IAMでユーザー登録したユーザを使います。
Amazon Web Servicesのコンソールに接続してIAMでユーザーを作成
ユーザーを作成するのはアクセスキーでPHPのプログラムからDynamoDBにアクセスするためです。
今回は「dynamodb」というユーザーを作成しました。
アクセスとしては、「AmazonDynamoDBFullAccess」ポリシーをアタッチしました。
アクセスキーが取得できたら、~/.aws/credentialsファイルを編集します。
以下を追記します。
[profile1] aws_access_key_id = YOUR_AWS_ACCESS_KEY_ID aws_secret_access_key = YOUR_AWS_SECRET_ACCESS_KEY |
AWS SDK for PHPのセットアップ
今回はテストなので、Apacheで公開されないところにセットアップしました。
わたしは、/var/www/php_libs/classというディレクトリを作成し、/var/www/php_libs/classにcdしてから作業を行っています。
作業はec2-userで行いますので、このディレクトリにはec2-userの書込権限などを前もって与えておいてください。
$ curl -sS https://getcomposer.org/installer | php $ php composer.phar require aws/aws-sdk-php |
/var/www/php_libs/class/vendorというフォルダーが作成され、その中にawsフォルダーが作成されていればセットアップ完了となります。
DynamoDBにテーブルを作成するPHPプログラム
CreateTable.phpとファイル名で作成します。
<?php require ‘vendor/autoload.php’; date_default_timezone_set(‘UTC’); $sdk = new Aws\Sdk([ $dynamodb = $sdk->createDynamoDb(); $params = [ |
profileを指定しているところが重要です。
これを省くと[default」が利用されます。
実行します。
$ php CreateTable.php |
NoSQLはとても進歩が早いのでしっかりした技術を身につけておきましょう