先ほどの記事を書いた後に気が付いたのですが、PHP用のSDKのバージョンの古い方を使用していました。
実は、AWS SDK for PHP version 2があったのですね。version 1のをいろいろと試している過程でpearでSDKをインストールをしていたときに、なんだか中身が違うと思っていましたがさりげなく気付いてませんでした。
次の手順でpearを使って導入します。
sudo yum install php
sudo yum install php-pear
sudo pear channel-discover pear.amazonwebservices.com
sudo pear -D auto_discover=1 install guzzlephp.org/pear/guzzle
sudo pear install aws/sdk
sudo yum install php-dom
これで、AWS SDKが使えるようになっていますので、PHPから利用できます。DynamoDBを使用するプログラムは次の通りです。まずは、config.phpから。
<?php return array( 'includes' => array('_aws'), 'services' => array( 'default_settings' => array( 'params' => array( 'key' => '入力する', 'secret' => '入力する', 'region' => 'ap-northeast-1' ) ) ) );
次に本体のプログラムは次の通りです。
<?php require_once 'AWSSDKforPHP/aws.phar'; use Aws\Common\Aws; $aws = Aws::factory('/[入力する]/config.php'); $ddb = $aws->get('dynamodb'); $result = $ddb->getItem(array( 'TableName' => 'test2', 'Key' => array( 'HashKeyElement' => array('S' => '2') ) ) ); $put_result = $ddb->putItem(array( 'TableName' => 'test2', 'Item' => array( 'user' => array( 'S' => '9'), 'address' => array ('S' => 'test message'), 'name' => array('S' => 'this is test.') ) ) ); echo 'OK'; ?>
テーブルtest2に対してデータの取得と追加を行っています。
関連するページ: