2016年3月25日

Azure AutomationでSQL Databaseからデータを取得してEメールで送信する

定期的にSQL Databaseからデータを取得してEメールで送信する必要があったので、試行錯誤しながら「Azure Automation」でやってみました。


やりたかった事


毎日1回(もしくは数時間に1回)SQL DatabaseにアクセスしてSQL文を実行し、結果を取得する。その結果が条件を満たす場合のみ特定の宛先にEメールを送信する。



1. Automationアカウントを作成する。





2. Runbookを作成する。






3. Runbookで実行するスクリプトを入力する。



スクリプトはPowerShellで作成する必要がある様です。

JavaScriptとかにも対応してくれると大変嬉しいのですが。^^)

今回作ったPowerShellスクリプトはこんな感じになりました。私の場合PowerShellを触る事はめったにないのですが、.NET Frameworkの機能が呼び出せるのでDBにアクセスしたりメールを送ったり、かなり色んな事が出来そうですね。






4. SQLサーバーとSMTPサーバーの認証情報を「資産」として登録する。


     

管理画面で「資産」として登録しておいた認証情報はスクリプトから

    $SmtpCred = Get-AutomationPSCredential -Name $SmtpCredName

のように呼び出して使う事が出来ます。上手い仕組みになっていると思いました。



5. Runbookをテスト実行する。


新ポータルのテスト実行用UIはかなり使いづらかったので、まだ現時点ではテスト実行には旧ポータルを使った方が良いのかも知れません。




6. Runbookを「発行」する。







7. Runbookが定期的に自動実行される様にスケジュールを設定する。



必要であればWebHookをトリガーにしてジョブが走る様に設定する事も出来る様です。



以上、大体こんな感じでやりたかった事が出来ました!

やってみた後で言うのもアレですが、Azure Automationはどうもどちらかと言うとAzure内のVM(や各種サービス)の起動・停止・設定変更やバックアップなどのプロビジョニングの自動化のために設計されたもののような気がして来ました。実際、提供されているテンプレートもそういうものが大半でした。そう考えるとスクリプトがPowerShell前提なのもうなずけます。

もしかすると今回の様なアプリケーション寄りのバッチ処理にはAzure App Serviceの「Web Jobs」の方を使った方が良いのかも知れません。Web Jobsの方はJavaScript(C#, BATなども)の実行も出来るみたいです。



参考URL:


PowerShellでSQL文の実行結果件数を取得してみました - Qiita
http://qiita.com/kurukurupapa@github/items/7f455b879e7c47372e3d

もりもりゲームブログ: Windows Power Shellから、ストアドプロシージャを使用する方法 http://morimorigameblogg.blogspot.com/2009/12/windows-power-shell.html

ワークフローでの Windows PowerShell コマンドの実行
https://technet.microsoft.com/ja-jp/library/jj574197.aspx

社内SEの徒然なる日記 powerShellでメールを送ってみた
http://harikofu.blog.fc2.com/blog-entry-2.html

Powershellでメールを送信する最も簡単な方法 | いろんなサーバー設定研究所
http://tech.lecume.net/power-shell/send-mail


2016年3月18日

8GB RAM + 256GB SSD + タッチ対応のラップトップPCで気になったもの(2016年3月)

HP Pavilion 15t (Customized)  
$739.99


Lenovo Yoga 3 
$749.99




ASUS ZenBook UX303UA 


Dell XPS 13 Touch 
$1,399.99




Visual StudioやAndroid Studio, Unityなどでアプリを開発するためなら、多分 8GB/256GB でCPUが Core i5 なら十分ではないかと思います。


最初に挙げた3つはそれぞれ10ドルずつの違いなので非常に迷いますね。


CPUがCore Mで良ければ Yoga 700 ($699.99) などさらに安い機種がいくつかありました。


しばらく前からWindowsストアアプリの開発用に1台欲しいなと思っているのですが、なかなか決断が付きません。。。








.

16GB RAM + 512GB SSD + タッチ対応のラップトップPCで気になったもの (2016年3月)


Lenovo Yoga 900 
$1,249.99
$1,499.00




HP Spectre x360 - 15t (Customized)
$1,489.99
$1,999.99

http://www.dell.com/us/p/xps-13-9350-laptop/pd?oc=dncwt5156s&model_id=xps-13-9350-laptop



ざっと見た限りでは Lenovo Yoga 900のコストパフォーマンスの良さが光っている様に感じました。

ディスプレイはQHD+(3200x1800)だし。


次に仕事用に買うならこれかな。


と思ったら ZenBook Pro はよく見るとグラフィックスがNvidiaだし解像度もCPUも少し上ですね。


仕事用ならむしろこっちかな。(笑)


いずれにせよ、MacBookProのほぼ半額で買えてしまうというのが、なんとも有り難い事です。









.



2015年12月3日

Asus Chromebook Flipがかなり気になる - 米Amazonで249ドル!

昨日、BestBuyから特価セールのメールが来て、ついついクリックして中身を見てしまったのですが、Asus Chromebook Flip 10.1-Inchがなんと「199ドル」となっていました。

Chromebookは各所で評判がいいのでそのうち試して見たいな〜と思っていて、特にこの機種は少し前から気になっていました。

BestBuyで特価セールになっていたのはメモリが2GBのモデルだったので、「4GBモデルはどうなんだろう」と思ってAmazon.comで調べてみました。

Amazon.comの価格だと「239ドル」でした。「4GBでこれならいいかも!」 と思って早速カートに追加。

勢いでそのまま買ってしまおうかとも思ったのですが、「年末で何かと物要りだし」「とりあえず寝て起きてからもう一回考えよう」とひとまず寝ることにしました。朝起きてカートを見ると、なんと10ドル値上げされて、「249ドル」になっています。たった10ドルの差とは言え、ちょっと残念です。^^;

Amazonの割引価格ってコロコロ変わるんですよね。



日本だとメモリ4GBのモデルは「法人向け」となっているみたいですが、米Amazonだと普通に2GB/4GBを選択出来るようです。




ASUS Chromebook Flip C100PA-RK3288 タッチパネル/10.1インチ/シルバー (Amazon.co.jp, 2GBモデル)






Crouton というものを使えばほぼ普通のLinuxマシンと変わらない使い方が出来るのが魅力です。これが出来ずにChromeOSのみだったらそれほど興味が湧かなかったかも。


Chromebook Flip C100PA を買いました - みねこあ http://d.hatena.ne.jp/minekoa/20151005/1444061337



ただ、ひとつだけ気になるのは、解像度が 1280x800px という事。最近のトレンドから考えると少なくとも1920x1080は欲しいところ。

仕事でMacBookPro Retinaの画面に慣れてしまっているので、今さらドットが肉眼で識別出来てしまう画面を見るのは辛いのです。


という事で、かなり気になるAsus Chromebook Flipですが、購入直前のところで今回は踏みとどまってもう少し解像度が高くなったバージョンが出るまで待つ事にしました。次期モデルに期待です!







.

2015年10月22日

無料でしかも簡単にWebサイトを公開する方法を聞かれたら

「お店のWebページを作りたいんだけど」と聞かれたので、ちょっと調べました。


Azure Web Apps とか Google App Engine とか Heroku ならサーバーサイドプログラム込みでほぼ無料で使えるし、静的なサイトだったら Amazon S3 とか GitHub Pages でも良さそうです。

でも、プログラマーでもデザイナーでもなく、今まで全くWebサイトを作った事が無い人にいきなりこれらのサービスを使えというのは厳しいものがあります。


そこで何か良い方法は無いものかと調べていたら、こんなのを見つけました。


Netlify



BitBalloon


どちらもドラッグ&ドロップでフォルダごとアップロード出来て、無料で使えます。
(独自ドメインの設定は有料ですが。)


これらのサービスが従来のレンタルサーバーなどと比べて優れていると思われるのは、コンテンツがグローバルなCDN経由で配信される点です。

そのため、大量アクセスにも強く、ページの表示速度も速いサイトを作る事が出来そうです。




あと、オンラインで販売まで行いたい場合は、日本では stores.jp か BASE が人気みたいですが、アメリカでは Shopify が圧倒的に強いみたいですね。







.

2015年10月16日

米国在住でSprintの携帯を持っている人は要チェック! 無料で使えるMVNOサービスを発見

しばらく使っていないiPhone 4SやGalaxy S3があるので、何かMVNOで安いプランは無いかな〜と探していたところ、ありました!

RingPlus Mobile


最初の3つが「Free Plan」で、そのうち「Future - Phase 9」というのだと毎月500MBのデータ通信(LTE)が可能となっています。

そう、無料です!

これはもう早速申し込んでみました。

契約するのに必要だったのは、

  1. Twitterなどのソーシャルメディアで拡散する事。
  2. 使っていないSprintの携帯(CDMA端末)。
  3. クレジットカード情報。

の3つだけでした。


1番目はこんな感じです。


拡散するソーシャルメディアは、Facebook、Google+、LinkedIn、Twitterから選べます。

アカウント認証後に、数パターンの文章から選んでツイートするフォームが表示されるので、コピペしたりする必要も無く簡単です。


2番目の端末ですが、CDMA方式に対応した端末が必要になります。既に持っているものがあれば、端末に記載されているIMEI番号というものを入力すれば使用可能かどうかチェックしてくれます。Sprintから売られている端末であればほぼ使えるのではないでしょうか。

今回は使っていない iPhone 4S があったのでこれを使うことにしました。使用可能な端末を持っていない人は、ebayなどで探すか、またはRingPlusのサイト内で新規に購入する事も出来ます。


3番目のクレジットカード情報は、最初に$5.62チャージされるのでその支払いのために必要です。この内訳は、
 $5.00 「Top Up」(要するにデポジットみたいなものだと思います。)
 $0.62 税金など
となっています。

という事は、多分無料プランとは言っても毎月$0.62はチャージされる事になりそうです。


プランに含まれているデータ通信量は500MB/月ですが、必要であれば「Add On」を購入して増やす事が出来るようです。

現在のところ、500MBで7ドル, 1GBで8ドルとなっています。



契約手続きが完了したら、あとは数分待てばiPhoneがSprintのネットワークにつながり、通話が出来る様になりました。
左上にSprintのキャリア名が表示されています。

繰り返しですが、無料プランですよ! スゴくないですか?


早速データ通信の速度を計測用のアプリで計ってみたところ、下り4Mbps, 上り1Mbpsぐらい出ています。私が今住んでいる地域でのSprintのLTE回線速度は大体こんなものなので、特に帯域制限が掛かっている様な感じも無さそうです。

パソコンへのテザリングも試してみましたが、全く問題無しです。

ほぼ無料でここまで出来てしまって、本当にこの会社大丈夫なんだろうかと心配になるぐらいです。出来るだけ潰れずにこの無料プランを続けてもらいたいものです。

日本から友人が来た時に貸すなど、手元に余ったCDMA端末がある場合には非常に便利に使えるのではないでしょうか。





.