Azure SDK 2.8.1 for .NET のリリースを発表

このポストは、11 月 30 日に投稿された Announcing the Azure SDK 2.8.1 for .NET の翻訳です。

このたびマイクロソフトは、Visual Studio 2013 および Visual Studio 2015 向けの Azure SDK 2.8.1 for .NET をリリースしました。今回の更新では Azure App Service 開発者向けの新機能のほか、App Service の API Apps 新規リリースと Mobile Apps .NET Server SDK の一般提供に伴う補完機能を提供します。これらの更新は ASP.NET 5 RC の最新の更新に続くものであり、Azure での Web 開発、モバイル開発、REST API 開発に最適な環境がそろうことになります。この記事では、Azure SDK 2.8.1 でリリースされる新機能の概要を紹介します。

Azure SDK 2.8.1 for .NET
[ダウンロード: VS 2015 用 | VS 2013 用]

  • 最新のモダンな App Service 作成エクスペリエンス: App Service ツール全体のデザインを見直しました。これは、WebモバイルAPI の各アプリケーションの作成や公開に関するエクスペリエンスを統一する取り組みの重要な一歩です。
  • API Apps Mobile Apps 用プロジェクトテンプレートの更新 : REST API の最新の更新を活用したい開発者やモバイル開発者の要望に応えて、Visual Studio テンプレートを更新しました。
  • Resource Manager のテンプレートエクスポート機能 : 作成中のリソースの JSON ファイルをワンクリックでエクスポートできる新しい機能です。この機能を利用すれば、別のリソース グループ内や別の Azure サブスクリプションでも簡単にトポロジを再作成できます。
  • REST API クライアント生成の改善: ユーザー エクスペリエンスを簡素化したほか、Azure SDK チーム提供の Swagger ベースのオープンソース クライアント ライブラリ生成ツール AutoRest (英語) により、基となるコードの生成プロセスを改善しました。

 

Visual Studio における App Service 開発エクスペリエンスの統一

App Service の機能の多くは複数のリソース タイプで共有されています。たとえば、Mobile Apps の ID 機能は既に幅広く提供されており、API 定義機能も間もなく一般提供されます。これを受けてマイクロソフトでは、App Service 開発エクスペリエンスを統一する必要があると判断しました。今後は、単一の Web アプリケーションで、同じリソース グループ内のさまざまな REST API を活用できるようになります。将来的には、モバイル アプリケーションで利用している機能も活用できるようになる予定です。常に App Service の機能を改善していくというお約束どおり、公開エクスペリエンスの統一を進め、Web Apps、Mobile Apps、API Apps をより簡単に App Service に公開できるように取り組んでいきます。

 

わかりやすく機能的に刷新された UI デザインとオプションの追加

App Service 開発エクスペリエンスの統一に伴い、App Service ツール全体のデザインを大幅に見直しました。この UI デザインの刷新は、App Service ツール チームがツール改善に向けて行ってきた大きな取り組みの 1 つです。これは「接続済みサービス」や「新しい Office ツール」といった Visual Studio UI の新しいデザイン コンセプトの実現に向けた新たな一歩でもあります。UI の刷新にあたっては、多くのコードが改善されました。また、パートナーやお客様のご要望どおり効率的に新しいサービスを導入できるようにするために、さまざまな微調整が加えられています。Azure Tools の拡張性の向上については今後の記事で詳しくお伝えします。この記事ではアプリの選択や作成に関する新機能と機能強化について見ていきます。

 

アプリケーションの選択が簡単に

お客様やマイクロソフト内部からよく寄せられていたフィードバックの 1 つに、「Azure に多数のアプリを公開している場合、全体の管理が非常に煩雑になり、目的のアプリを見つけづらくなる」というものがありました。そこで、Cloud Explorer のデザイン コンセプトを取り入れ、リソース グループとリソース タイプの各ビューを用意し、既存のリソースを選択するダイアログでアプリを簡単にグループ化できるようにしました。

サブスクリプション内で公開する可能性があるアプリケーションが多すぎてグループ化だけでは不十分な場合は、新しい検索機能を利用できます。ダイアログ内で検索する文字列を入力すると、一致するアプリケーションが絞り込まれます。検索後にリソース グループのビューからリソース タイプのビューに切り替えても、検索条件はそのまま保持され、一致するものだけが表示されます。この機能を使えば、サブスクリプションのリソース リストから公開するアプリケーションを簡単に見つけ出すことができます。

 

 

App Service の新しい作成エクスペリエンス

App Service の作成エクスペリエンスにはさまざまな改善が加えられましたが、中でも特に大きく改善されたのは、アプリの作成とプロビジョニングのプロセスです。新しいダイアログ (下図) では、アプリの作成時に利用可能なオプションがひとめでわかるようにさまざまなヒントが表示されます。ダイアログには 2 つのタブがあり、重要なホスティング機能はすべて最初のタブにまとめられています。クラウドに新しいアプリを追加する必要があり、このアプリで使用するリソース グループとホスティング プランが既に存在する場合は、App Service 作成ダイアログの [Create] をクリックするだけでアプリをプロビジョニングできます。

App Service プランを新たに追加する必要がある場合も、 [ New ] ボタンをクリックするだけです。App Service プランの設定画面が表示されたら、ポータルで使用可能なサイズを選択してプランを構成します。

 

新しいリソース グループを作成して、そのグループ内にアプリを公開したい場合は、[Resource Groups] コンボ ボックスにリソース グループ名を入力します。すると、ダイアログに新しいリソース グループを作成しようとしていることを示す視覚的なヒントが複数表示されます ( [Hosting] タブの青色のインジケーターなど)。

 

アプリで使用するサービスの追加

新しい App Service 作成ダイアログの 2 番目のタブでは、アプリケーションで使用する可能性のある追加サービスを選択できます。今回のリリースでも、App Service 作成プロセスで SQL Server および SQL Database が引き続きサポートされますが、データベースの数に制限がなくなりました。ダイアログ内で、必要な数の SQL Server または SQL Database を作成することができます。

SDK 2.8.1 の提供期間中に提供されるサービスは SQL 関連だけですが、このダイアログを実現するにあたっていくつかの大規模な技術開発が行われており、その 1 つである拡張モデルにより、各協力チームの提供するサービスがこのダイアログに展開されるようになります。マイクロソフトは、このダイアログ内で Redis のプロビジョニングを提示するエクスペリエンスのプロトタイプを作成し、Azure Key Vault チームおよび Document DB チームと協議を行っています。近い将来には、このエクスペリエンスで拡張機能をインストールできるようになる見込みです (さらに、定期的な更新や入手するように設定している更新を Visual Studio の拡張機能ギャラリーから入手できるようになります)。

 

Azure トポロジをエクスポートしてミラー環境の作成に使用

App Service 作成ダイアログでサービスの構成と追加を行うと、追加したリソースが [Hosting] タブの確認エリアに表示されます。この「リソース カート」は、サブスクリプション内で作成しようとしているすべてのリソースのスナップショットです。

カートにリソースを追加していくのに伴い、Azure Resource Manager の JSON テンプレートが動的に作成され、メモリに追加されます。アプリに必要なすべてのリソースをカートに追加したら、[Export] ボタンをクリックします。すると、カート内の全リソースを表す JSON テンプレートの保存先の入力を求めるメッセージが表示されます。次に、Azure PowerShell モジュールを使用して、テンプレートを別のリソース グループまたは別の Azure サブスクリプションで実行します。この機能を使用すれば、アプリケーション トポロジを表す再現可能なテンプレートを作成でき、手動でテンプレートを編集、設定する手間から解放されます。トポロジをさらにカスタマイズする必要がある場合は、以前にリリースされた組み込みの Resource Manager テンプレート編集機能を使用できます。このテンプレート編集機能では、エクスポートされた JSON ファイル内の JSON スキーマがサポートされます。

 

App Service プロジェクト テンプレートの更新

Mobile Apps や API Apps の更新に合わせて Visual Studio テンプレートを更新し、機能エリアで新しい機能強化を活用できるようにしました。

 

Mobile Apps テンプレートの改善

App Service Mobile では、オフラインでのデータの操作、ユーザーの認証、プッシュ通知の送信を行うモバイル アプリケーションを簡単に構築できます。つい最近一般提供が開始された Mobile Apps .NET Server SDK を使用すると、App Service 内にこれらのモバイル機能を提供するアプリケーションを作成できます。さらに、モバイル クライアント用のカスタム ロジックも作成可能です。このリリースと併せて、Visual Studio でのモバイル アプリケーション プロジェクトの作成機能と管理機能も更新されます。まず、[File] > [New] > [Project…] の順に選択して [New Project] ダイアログを開き、[Templates] の下の [Visual C#] を展開して [Web] を選択します。[ASP.NET Web Application] を選択し、プロジェクト名を入力して [OK] をクリックします。[ASP.NET 4.6 Templates] の中から [Azure Mobile App] を選択します。

[OK] をクリックします。アプリケーションが作成され、ソリューション エクスプローラー内に表示されます。このテンプレートは Mobile Apps や Mobile Services を利用している開発者にはおなじみのものですが、新しいテンプレートには構成に違いがあります。OWIN Startup のすべてが構成されているほか、追加済みのコンポーネントや未追加のコンポーネントをより細かく制御することができます。

 

プロジェクトはシンプルな To Do リスト アプリケーションです。モバイル クライアントは TableController から派生した TodoItemController を通じて、SQL に格納されたデータを使用します。TableController は、モバイル対応の API を、好みのデータ バックエンド (この場合 SQL) で認識可能な CRUD 操作に変換します。また、オフライン コントラクトに従うため、Mobile Apps のオフライン同期機能をすぐに使い始めることができます。[Controllers] フォルダーを右クリックして [Add] > [Controller] の順に選択すると、テーブル コントローラーやモバイル対応 API コントローラーを追加できます。Azure Mobile Apps Table Controller または Azure Mobile Apps Custom Controller を選択し、ウィザードの指示に従ってエンドポイントを作成します。

プロジェクトの準備ができたら、この記事で既に説明したように新しい作成ダイアログを使用して App Service に公開できます。Mobile Apps は、App Service 作成ダイアログでオプション メニューのトップレベルの公開対象としてサポートされます。

 

API Apps テンプレートの改善

API Apps モデルは早期プレビューの段階から進化を続けてきました。その当時から、ローカル デバッグが重要であるという意見がお客様から寄せられていました。これを受けて、新しい API Apps テンプレートではローカル デバッグが有効になっています。このテンプレートはよりシンプルな構造になっており、リソース管理テンプレートや API Apps ゲートウェイ固有のファイルへの依存度が低くなっています。API Apps テンプレートはそもそも Web API テンプレートであり、Swagger 対応のオープンソースの NuGet パッケージである Swashbuckle (英語) が追加されています。SwaggerConfig.cs ファイルの以前の変更も含まれているため、Swagger UI は既定で無効となっています。また、Swagger 操作の ID の生成方法を改善する操作フィルターも含まれています (Azure.com の Swashbuckle のカスタマイズに関する記事を参照)。

 

REST API の生成の改善

Swagger を使用して、API Apps や API Management のような App Service チームによる投資をミラーリングすることにより、API Apps によって提供される Swagger メタデータに基づいてコード生成を行い、投資を継続することができます。Visual Studio のほとんどの C# プロジェクトで右クリックして [Add] > [Rest API Client] の順に選択すると、シンプルな REST API クライアント追加ダイアログが表示されます。 [Browse] ボタンをクリックすると App Service を選択するダイアログが表示されるので、API 定義エンドポイント セットを持つ App Service を選択します。

 

 

まとめ

Azure アカウントをお持ちでない場合は、無料評価版にサインアップするだけで上記のすべての機能をすぐにお試しいただけます。これらの機能を使用したアプリケーションの構築方法の詳細については、Azure デベロッパー センターをご覧ください。バグの報告は Connect から、ご提案は UserVoice (英語) から、ご意見やご感想は Visual Studio IDE の Send-a-Smile からお寄せください。今回のリリースは、App Service ツールの新しい方向性を示した最初のステップです。リソース カートでのサポートを希望されるサービスなど、皆様からのフィードバックをお待ちしています。マイクロソフトでは皆様からのご意見を基に、より合理化されたアプリケーション開発を行えるよう改善を加えてまいります。

謝辞

このブログ記事の執筆にあたっては多くの方々にご協力いただきました。特に、今回のリリースに向けて熱心に取り組んだ Matthew Henderson (英語) とそのチーム メンバーに心から感謝します。