aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

Amazon DynamoDB : PHPから使う

http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/GettingStartedBeforeYouBegin.html

まずは、AWS SDK for PHPをセットアップ 

注意: 以下、AWS SDK for PHP 1.x の説明。 2013.10時点では2.xなので、気休め程度に。( SDK for PHP1.xから2.xへのマイグレーションガイドはこちら )

パッケージインストール

$ sudo yum install php httpd mysql mysql-server php-mysql php-pear php-xml
$ sudo pear channel-discover pear.amazonwebservices.com
$ sudo pear install aws/sdk

セキュリティ設定

$ sudo cp /usr/share/pear/AWSSDKforPHP/config-sample.inc.php /usr/share/pear/AWSSDKforPHP/config.inc.php
$ sudo vi /usr/share/pear/AWSSDKforPHP/config.inc.php
$ sudo diff /usr/share/pear/AWSSDKforPHP/config-sample.inc.php /usr/share/pear/AWSSDKforPHP/config.inc.php
57c57
<               'key' => 'development-key',
---
>               'key' => 'xxxxx',
61c61
<               'secret' => 'development-secret',
---
>               'secret' => 'xxxxx',
68c68
<               'default_cache_config' => '/tmp/cache/',
---
>               'default_cache_config' => '',

キャッシュディレクトリ作成

$ sudo mkdir /tmp/cache
$ sudo chmod -R 777 /tmp/cache

次に、exampleのテーブルを作成する。

  • テーブル名:ProductCatalog (Id,....)
  • Primary Keyタイプ:Hash
  • Hash属性名・タイプ: Id (Number)
  • Range 属性名・タイプ:N/A
  • スループット: R=10, W=5

APIはここ AWS SDK for PHP 1.5.2 

EclipseVisual StudioのAWS Explorerでテーブル内のデータをビジュアルに視ることができる。( http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/LoadData.html )

とりあえず接続するにはエンドポイントにつなぐ。2012.2.10時点では、US-EASTのみなので、https://dynamodb.us-east-1.amazonaws.com を set_hostnameする。

http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/SettingUpTestingSDKPHP.html

 

とりあえず、サンプルのデータを流し込む。