2014年10月24日金曜日

AWS Beanstalkで環境を環境変数にいれる

Beanstalkで環境を、PRODUCTION、STAGING、DEVELOPMENTとか分けてCakePHPで運用しています。
データベースとかBootstrapの中身を環境でわけてます。
if (Z_ENVIRONMENT=='PRODUCTION') {
    class DATABASE_CONFIG {
      var $default = array(
      );
    }
}elseif (Z_ENVIRONMENT=='STAGING') {
    class DATABASE_CONFIG {
      var $default = array(
      );
    }
} else {
    class DATABASE_CONFIG {
      var $default = array(
      );
    }
}

Beanstalkのコンソールで、$_SERVER['PARAM1']に環境をセットして、CoreファイルでそれをZ_ENVIRONMENTにセットしていて、普通にウェブで見るには問題ないのですがcronのとき、$_SERVER['PARAM1']がカラになってしまうので、さて困ったと。

調べていたら、
/opt/elasticbeanstalk/support/envvars.d/sysenv
このファイルにPARAM1なんかが書き込まれているようだったので、

if(isset($_SERVER['PARAM1'])){
  define('Z_ENVIRONMENT', $_SERVER['PARAM1']);
}else{
  $match = array();
  if(file_exists('/opt/elasticbeanstalk/support/envvars.d/sysenv')){
    $sysenv = file_get_contents('/opt/elasticbeanstalk/support/envvars.d/sysenv');
    $preg = preg_match('/PARAM1=\"(.+)\"/', $sysenv, $match);
  }elseif(file_exists('/opt/elasticbeanstalk/support/envvars')){
    $sysenv = file_get_contents('/opt/elasticbeanstalk/support/envvars');
    $preg = preg_match('/PARAM1=\"(.+)\"/', $sysenv, $match);
  }
  if (!empty($match[1])){
    define('Z_ENVIRONMENT', $match[1]);
  }else{
    define('Z_ENVIRONMENT', 'DEVELOPMENT');
  }
}


こうかな?



2014年10月7日火曜日

山口県に行ってきた。

6月に山口県に1泊2日で行ってきました。

まずは羽田からドギャンと飛行機で宇部空港まで。
そこで今回アテンドしてくださる兼子産業株式会社兼子さんと合流。
山口屈指の物流梱包メーカーの兼子さん。山口の魅力を紹介したいと、アテンドを引き受けてくださいました。ありがとうございます!

着いたのがお昼前だったので、まずはレンタカーに乗り込み、下関に向かいます。
運転は北軽井沢のプリンスこと北軽井沢ハイランドリゾートホテルのプリンス庄司。

唐戸市場に到着!
通常は魚市場ですが、このように屋台がでて、新鮮な魚料理が楽しめる山口の人気スポットになっているそうです。

新鮮の海の幸がこれでもかというくらい食べられます。安いです。美味いです!


広い敷地のどこをみてもグルメ。
ついついお代わりをしてしまう、鮮魚の宴。


海の幸を堪能した後は、関門橋を越えて北九州に移動。
橋を超えるだけで九州にもいけてしまうなんて、2度お得!


北九州は門司港に来ました。
レトロな町並みの観光地、門司港レトロです。

門司港では、熱した瓦で調理する瓦ソバ、
 そして、ひつまぶしを堪能。
 ここまで、食べてばっかりです。


お腹も膨れたとこで、今度は山口といえばコレって感じの秋芳洞に来ました。
実は10年以上前に来たことがあったのですが、再度入洞。

ひんやりとした洞窟内。

懐中電灯を片手に、「冒険コース」にも。

?!

段々畑のような「百枚皿」。


そびえ立つ「黄金柱」

 「岩窟王」

十年前にはなかった、出口の通路。
人類の歴史が見れる通路。長い。
約1kmのコースを歩く中で、鍾乳石はダイナミックに形を変え、飽きさせない表情を見せてくれます。


夜は古民家料亭に移動。
70年ほど前から空き家となっていた古民家を再生したそうです。

 ハモ。異様に美味しかった。



調度品も品があって素敵です。


本格茶室でお茶もいただきました。

 生憎の雨かと思ったら、雨の音も静かで心和む空間となりました。



夜は「スーパーホテル山口湯田温泉」にチェックイン。
スーパーホテルは、ただのビジネスホテルかと思ったら、設備もサービスも素晴らしいホテルでした。枕の固さを選べたり、女性にはスキンケアグッズが自由に使えたり、館内も清潔。

近くの温泉に入り、そしてカラオケ屋でダーツに興じて、1日目の夜は更けていきました。
そしてたぶんこの御店に、お気に入りのシャツを忘れてきてしまいました。


二日目。
二日目は角島観光に。
とても海の綺麗な角島へは、角島大橋を渡って行きます。長くて爽快感抜群。
 直線!

角島の浜。
エメラルドの海。

 写真を撮り合う二人、を後ろから撮る。写真スナイパーごっこ。

気づかれた!!


再び下関に戻って、今度は巌流島にフェリーで行きます。
宮本武蔵と佐々木小次郎が雌雄を決したという巌流島。男心が擽られます。
 佐々木小次郎の碑。
 戦う銅像発見!

やっちゃうよね。巌流島ごっこ。


そろそろお帰りの時間が近づいてまいりました。
最後はフクを食べて締め。
下関周辺ではどうやら縁起を担いでフグを「フク(福)」と呼ぶようです。



以上、美食王国山口、美食探訪ツアーでした!




2014年10月3日金曜日

AWS SNS のメッセージをcakePHPで受け取る

以前、Amazon SESのバウンスを受け取るというポストをしました。
http://shojaku.blogspot.jp/2014/04/amazon-sessnsweb.html
このときはrailsだったのですが、今回はcakePHPで。

・AmazonSESのバウンスを受け取るためにSNSを利用。SNSのトピックを作った時に、subscriptionを認証しないといけません。
認証はJSONフォーマットのデータがPOSTされてくるのですが、それをcakePHPで受け取って、DBに突っ込み、突っ込まれたデータの中に入っているURLにアクセスすると認証完了です。

$thisとか$_POSTとかリクエストハンドラーとかいろいろ試したんですけど、データが受取れなくて、最終的に受取れたのがこれ。
  function bounce_mails(){
    if($post = file_get_contents('php://input')){
      $data['BounceMail']['body'] = serialize($post);
      $this->BounceMail->create();
      $this->BounceMail->save($data);
    }
    exit;
  }