クラウドインフラ構築記

現在AWSの構築支援に携わっております。今注視しているのは、GKE、BigQuery、Google Dataflowなどサービスを展開しているGoolge Cloud Platformです。

CloudnのObjectStorageをAWS PHP SDKから操作してみました。

CloudnのObjectStorageをAWS SDK for PHP 2 から操作してみました。

まずは、必要なライブラリのインストール。(検証はさくらのVPSで行いました。)


pear install aws/sdk
pear channel-discover pear.amazonwebservices.com
pear channel-discover guzzlephp.org/pear
pear channel-discover pear.symfony.com

以下は、指定Bucket( 以下の場合 xxxx)内のファイルを羅列するだけの簡単なプログラムになります。ひとつ気をつけないといけないは、「baae_url」を「http://」から記載する必要があるところ

アクセスキーとシークレットキーは契約している個々の情報に置き換えてください。


require_once("AWSSDKforPHP/aws.phar");

use Aws\Common\Aws;
use Aws\Common\Enum\Region;
use Aws\S3\Enum\CannedAcl;
use Aws\S3\Exception\S3Exception;
use Guzzle\Http\EntityBody;

$access_key = 'access key';
$secret_key = 'secret key';
$end_point_url = 'http://str.cloudn-service.com';
$bucket = 'xxxx;

try {
 // S3
 $s3 = Aws::factory(array(
 'key' => $access_key,
 'secret' => $secret_key,
'base_url' => $end_point_url,
 ))->get('s3');

$info = new FInfo(FILEINFO_MIME_TYPE);
 $iterator = $s3->getIterator('listObjects',array(
 'Bucket' => $bucket
 ));

foreach ($iterator as $object) {
 echo $object['Key'] . "\n";
}

} catch (S3Exception $e) {

}

AWSで使っているものも簡単にCloudnに移植ができると思われます。さすが、ベンダーロックインフリーを歌っていることはあります。

AWSがトラフィック量によっては、月額コストが上がるのに対し、Cloudnは月額の上限が設定されているので、財布にもやさしいと思われます。(さくらのクラウドも月額上限があります。)
ファイルアップロードもputObjectでできるかと思われますが、次回。

コメントは受け付けていません。