2011年8月23日火曜日

簡単なCloudFrontのInvalidationのUI(PHP)

スズキです。

下記のようなPHPスクリプトになります。

"AWS PHP SDK"の場所と、ACCESS_KEYとSECRET_KEYと、
対象CloudFrontのDISTRIBUTION_IDは適宜変更して下さい。

<?php
require_once("/opt/aws/php/sdk.class.php");
define("AWS_KEY"       , "ACCESS_KEY");
define("AWS_SECRET_KEY", "SECRET_KEY");
$info = "Please input the path list of invalidation and push \"Invalidate\" button.";
if($_SERVER["REQUEST_METHOD"] == "POST") {
  $path_list = array();
  $tmp_list  = preg_split("/\n/", $_POST["path_list"]);
  foreach($tmp_list as $path) {
    if(trim($path) != "") {
      array_push($path_list, trim($path));
    }
  }
  $cf = new AmazonCloudFront();
  $response = $cf->create_invalidation("DISTRIBUTION_ID", time(), $path_list);
  $info = $response->body;
}
?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>CroudFront Invalidation</title>
  </head>
  <body>
    <pre><?php var_dump($info); ?></pre>
    <form method="POST">
      <input type="submit" value="Invalidate"/>
      <input type="reset"  value="Clear"/>
      <textarea style="width:100%;height:100px" name="path_list"></textarea>
    </form>
  </body>
</html>

利用方法は簡単で、下記のように一行ごとにInvalidationしたいファイルのパスを入力して、
「Invalidate」ボタンを押すだけです。


成功すると、下記のようにレスポンス結果が表示されます。


失敗すると、下記のようにエラーのレスポンス結果が表示されます。


ブログのペースが落ちてる...
--------
http://www.suz-lab.com

0 コメント: