- [Azure]Windows Azure Mobile ServicesにカスタムAPIを追加する
- [Azure]Windows Azure Mobile ServicesのカスタムAPIをVisual Studioで開発するには
Windows Azrue Mobile ServicesでカスタムAPIを作成した場合、Gitで記載内容をバージョン管理することができます。
まずは管理ポータルのWindows Azure Mobile Servicesから街頭のサービスを選び、ダッシュボードを選択します。
概要のところに「ソース管理の設定」があるのでリンクをクリックします。
そこでGitのユーザIDとパスワードを指定すればソース管理としてGitが使えるようになります。
GitリポジトリのURLの情報は、[構成]タグの中にあります。
それではWindows環境にGitクライアント環境を導入してみましょう。
現時点で一番手軽な導入方法は、「https://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/msysgitVS.appids」からWeb PI経由で「Git for Windows」を導入する方法です。
インストールに成功すると「Git GUI」と「Git Bash」がインストールされます。
この2つのツールを使ってもいいのですが、今回はVisual Studioのバージョン管理をGitに切り替えて利用してみましょう。
Git Providerに変更するとチームエクスプローラーでGitが扱えるようになります。
接続を選び、ローカルGitリポジトリの[複製]をクリックします。
上の欄には管理ポータルで表示されたGitのUrlを入れ、下の欄にはローカルフォルダを指定します。
リモートGitリポジトリへのログインが要求されるので、GitのIDとパスワードを入力します。
これで、指定したローカルフォルダにローカルGitリポジトリ(つまり、カスタムAPIのソース)がクローンされます。
[service]-[api]フォルダにはjsファイルとjsonファイルのペアがあります。jsファイルがカスタムAPIスクリプトでjsonがアクセス権になります。
search.js
exports.get = function(request, response) { var sql ='SELECT * FROM TestTable'; request.service.mssql.query(sql, { success: function(results) { response.send(statusCodes.OK, results); }, error: function(err) { response.send(statusCodes.INTERNAL_SERVER_ERROR, err); } });
search.json
search.json { "routes":{ "*":{ "get":{"permission":"public"}, "post":{"permission":"admin"}, "put":{"permission":"admin"}, "patch":{"permission":"admin"}, "delete":{"permission":"admin"} } } }
それではスクリプトの修正をVisual Studioやテキストエディタで行ってみましょう。
Gitではこのようなときにまずやるのは修正用の「トピックブランチ」を作成することです。
チームエクスプローラーで[分岐]を選択します。
コミットブランチ名と設定します。例えば「カスタムAPI初期変更」としてみます。
[分岐の作成]ボタンをクリックすると[発行されていない分岐]に指定した名前でトピックブランチが表示されます。
この状態はまだ分岐していないで右クリックして[分岐の発行]メニューを選択します。
これでやっとローカルでの分岐が指定できたので「同期されていないコミット」で[同期]ボタンをクリックして、リモートGitリポジトリに分岐を送り込みます。
カスタムAPIのスクリプトを変更したら、チームエクスプローラーの[変更]を選択すると「含まれる変更」に変更したファイル名が表示されています。
そこでコミットコメントを記入して[コミット]ボタンをクリックして変更をコミットします。
この操作もローカルGitリポジトリに対するコミットだけですので、[同期されていないコミット]で[同期]ボタンをクリックします。
これでリモートGitリポジトリのトピックブランチに対してコミットが終わったので、トピックブランチをマージしてしまいましょう。
もちろんここまでの操作はローカルに対する指示のようなものなので、[同期されていないコミット]で[同期]を押して、リモートGitリポジトリ側でもマージを完了させましょう。
以上がGitを使ったバージョン管理になります。