Amazon EC2でDynamoDBをPHPから使うまでの道のりです。
ここでは、Amazon EC2のインスタンスのOSはAmazon Linux AMI 2012.09を使用しています。
SSHで作成したインスタンスに入り、PHPのインストールをします。
sudo yum install php sudo yum install php-dom
wget http://pear.amazonwebservices.com/get/sdk-latest.zip unzip sdk-latest.zip
サンプルの設定ファイルを~/.aws/sdk/にディレクトリを作成し、名前をconfig.inc.phpにして作成したディレクトリに置きます。
cp sdk-1.5.17.1/config-sample.inc.php ~/.aws/sdk/config.inc.php
config.inc.phpのkeyとsecretを自分のアカウントのものに設定します(これは、Amazon Management Consoleの右上のアカウント名の箇所を押し、Security Credentialsを選択して、アクセス証明書のアクセスキータブのアクセスキーIDとシークレットアクセスキーを入力します)。
DynamoDBは、EC2 Management ConsoleのServicesからDynamoDBを選択してテーブルを作成しておきます。テーブルの名前は"test2"にしておきました。また、プライマリキーはuserにしています。
ここで作成したDynamoDBにデータを追加は、次のPHPのプログラムで試してみました。
<?php require_once dirname(__FILE__) . '/sdk-1.5.17.1' . '/sdk.class.php'; $dynamodb = new AmazonDynamoDB(); $dynamodb->set_hostname('dynamodb.ap-northeast-1.amazonaws.com'); $putr = $dynamodb->put_item(array( 'TableName' => 'test2', 'Item' => array( 'user' => array( AmazonDynamoDB::TYPE_STRING => '3'), 'address' => array (AmazonDynamoDB::TYPE_STRING => 'test'), 'name' => array(AmazonDynamoDB::TYPE_STRING => 'test2') ) ) ); print_r($putr); ?>
この例では、リージョンは東京を使用しているため
$dynamodb->set_hostname('dynamodb.ap-northeast-1.amazonaws.com');
を使用して接続先を変更しています。
DynamoDB関連: