連載最終回、いよいよAzureにデプロイして定期的にPVをつぶやくよう設定します。
連載目次
目次
第1回 Google Analytics APIの利用準備
第2回 Google AnalyticsからPVを取得する
第3回 Twitter APIの利用準備
第4回 Twitterに投稿する
第5回 Webアプリケーションにまとめる
最終回 Azureへのデプロイ
Azureポータルにログイン
新しいAzureポータルにログインします。
新しいWeb Appの作成と設定
画面左上の「新規」ボタンを押すと、作成する機能の一覧が表示されますので「Web + モバイル」-「Web App」を選択します。
Web Appの作成画面では適当にURLを指定します。
App Serviceプラン、リソースプランも適当に、価格レベルは一番安いB1 Basicを選択します。Google Analytics APIを使用する為にはB1以上である必要があります。
指定が終わったらWeb Appを作成しましょう。
作成が完了したら下のような画面になります。
Web アプリの設定
設定アイコンから、「アプリケーション設定」を選択し、「アプリ設定」に以下の値を追加します。Google Analytics APIを使用する(証明書を使用する)為に必要で、この設定が有効になるのは価格レベルがB1以上である必要があるということのようです*1。
WEBSITE_LOAD_USER_PROFILE 1
アプリケーションの発行
それではアプリケーションをAzureへデプロイしましょう。方法としてはFTPやGitHub経由などいろいろ用意されていますが、今回は一番簡単なVisual Studioからのデプロイを行います。
発行プロファイルの取得
Visual Studio 画面上に「発行プロファイルの取得」というのがありますので、これをクリックして 「~.PublishSettings」 という発行プロファイルをダウンロードします。
Visual Studioからの発行
Web Applicationプロジェクトの右クリックメニューから「公開」を行います。
発行ウィザードが表示されるので、ここで「インポート」を押して先ほどダウンロードした発行プロファイルを使用します。
発行プロファイルを読み込むと、次のような画面になりますので「発行」しましょう。
動作確認
ここまでできたら手動で動作確認してみましょう。
ブラウザで「http://[自分が取った名前].azurewebsites.net/api/TweetPV」にアクセスしてみます。問題なければ第5回と同じレスポンスとTwitterへの投稿ができているはずです。
スケジュール設定
定期的にPVをつぶやくためには、定期的に「http://[自分が取った名前].azurewebsites.net/api/TweetPV」へアクセスすればOKです。
方法は色々あると思いますが、今回はAzureのスケジューラを使ってみましょう。
旧Azureポータルへアクセス
新ポータルではまだ操作できない*2ようなので、旧ポータルへログインします。
スケジューラの作成
左のメニューからスケジューラを選択して「+新規」ボタンを押します。
下のようなスケジューラ作成の画面になりますので適当に設定していきます。
URIには「http://[自分が取った名前].azurewebsites.net/api/TweetPV」を設定します。
この設定だと0:30に「http://[自分が取った名前].azurewebsites.net/api/TweetPV」へのアクセスが行われます。
終了日が気になりますが、後で終了日なしに設定しますのでここでは気にせず進んで下さい。
正常に終了すればジョブコレクションが追加されます。
スケジューラの変更
終了日をなしに設定します。
ジョブコレクションをクリックし、「ジョブ」から先ほど登録したジョブをクリックすると「ジョブの操作」画面になります。
ここの一番最後にある終了日を「終了日なし」に設定しましょう。
おわり
以上で一通り終わり。きっと指定した時間にPVをつぶやいてくれるはずです。
それにしても、説明が長すぎですね。「こんな面倒くさいことせなあかんの?」と思われそう。
約1年前にこんなやり方で実装しましたが、今ならもっといいやり方があるんじゃないかと思います。Webジョブ使うとか。 まぁ、そのうち気が向いたらやってみようと思います。第4回までのものはそのまま使えるはずなのできっと簡単なはず。
それにしても、前にやったことを忘れてたりしますので、継続して手を動かすのは大事ですね。
おしまい。
*1:詳しいことは「Azure Web サイトで証明書を使う簡単な方法と Web サイトにも Intel CPU が混ざってきた件 - しばやん雑記」
*2:そのうちなくなるの?