なか日記

一度きりの人生、楽しく生きよう。

C#とAzureでPVをつぶやくBotを作ってみよう -最終回 Azureへのデプロイ-

連載最終回、いよいよAzureにデプロイして定期的にPVをつぶやくよう設定します。

連載目次

はじめに
第1回 Google Analytics APIの利用準備
第2回 Google AnalyticsからPVを取得する
第3回 Twitter APIの利用準備
第4回 Twitterに投稿する
第5回 Webアプリケーションにまとめる
最終回 Azureへのデプロイ

Azureポータルにログイン

新しいAzureポータルにログインします。

f:id:nakaji999:20150702034344p:plain

新しいWeb Appの作成と設定

画面左上の「新規」ボタンを押すと、作成する機能の一覧が表示されますので「Web + モバイル」-「Web App」を選択します。

f:id:nakaji999:20150702040027p:plain

Web Appの作成画面では適当にURLを指定します。

App Serviceプラン、リソースプランも適当に、価格レベルは一番安いB1 Basicを選択します。Google Analytics APIを使用する為にはB1以上である必要があります。

指定が終わったらWeb Appを作成しましょう。

作成が完了したら下のような画面になります。

f:id:nakaji999:20150702041624p:plain

Web アプリの設定

設定アイコンから、「アプリケーション設定」を選択し、「アプリ設定」に以下の値を追加します。Google Analytics APIを使用する(証明書を使用する)為に必要で、この設定が有効になるのは価格レベルがB1以上である必要があるということのようです*1

WEBSITE_LOAD_USER_PROFILE 1

f:id:nakaji999:20150703022729p:plain

アプリケーションの発行

それではアプリケーションをAzureへデプロイしましょう。方法としてはFTPやGitHub経由などいろいろ用意されていますが、今回は一番簡単なVisual Studioからのデプロイを行います。

発行プロファイルの取得

Visual Studio 画面上に「発行プロファイルの取得」というのがありますので、これをクリックして 「~.PublishSettings」 という発行プロファイルをダウンロードします。

f:id:nakaji999:20150702042127p:plain

Visual Studioからの発行

Web Applicationプロジェクトの右クリックメニューから「公開」を行います。

f:id:nakaji999:20150702043033p:plain

発行ウィザードが表示されるので、ここで「インポート」を押して先ほどダウンロードした発行プロファイルを使用します。

発行プロファイルを読み込むと、次のような画面になりますので「発行」しましょう。

f:id:nakaji999:20150702043731p:plain

動作確認

ここまでできたら手動で動作確認してみましょう。

ブラウザで「http://[自分が取った名前].azurewebsites.net/api/TweetPV」にアクセスしてみます。問題なければ第5回と同じレスポンスとTwitterへの投稿ができているはずです。

スケジュール設定

定期的にPVをつぶやくためには、定期的に「http://[自分が取った名前].azurewebsites.net/api/TweetPV」へアクセスすればOKです。

方法は色々あると思いますが、今回はAzureのスケジューラを使ってみましょう。

旧Azureポータルへアクセス

新ポータルではまだ操作できない*2ようなので、旧ポータルへログインします。

f:id:nakaji999:20150703024216p:plain

スケジューラの作成

左のメニューからスケジューラを選択して「+新規」ボタンを押します。

f:id:nakaji999:20150703024413p:plain

下のようなスケジューラ作成の画面になりますので適当に設定していきます。

f:id:nakaji999:20150703025136p:plain

f:id:nakaji999:20150703025140p:plain

URIには「http://[自分が取った名前].azurewebsites.net/api/TweetPV」を設定します。

f:id:nakaji999:20150703025145p:plain

この設定だと0:30に「http://[自分が取った名前].azurewebsites.net/api/TweetPV」へのアクセスが行われます。

終了日が気になりますが、後で終了日なしに設定しますのでここでは気にせず進んで下さい。

正常に終了すればジョブコレクションが追加されます。

f:id:nakaji999:20150703025744p:plain

スケジューラの変更

終了日をなしに設定します。

ジョブコレクションをクリックし、「ジョブ」から先ほど登録したジョブをクリックすると「ジョブの操作」画面になります。

ここの一番最後にある終了日を「終了日なし」に設定しましょう。

f:id:nakaji999:20150703025901p:plain

おわり

以上で一通り終わり。きっと指定した時間にPVをつぶやいてくれるはずです。

それにしても、説明が長すぎですね。「こんな面倒くさいことせなあかんの?」と思われそう。

約1年前にこんなやり方で実装しましたが、今ならもっといいやり方があるんじゃないかと思います。Webジョブ使うとか。 まぁ、そのうち気が向いたらやってみようと思います。第4回までのものはそのまま使えるはずなのできっと簡単なはず。

それにしても、前にやったことを忘れてたりしますので、継続して手を動かすのは大事ですね。

おしまい。