ナビゲーションをスキップする

Azure SDK 2.8.1 for .NET をリリース

2015年11月30日 に投稿済み

Senior Product Marketing Manager, Azure Marketing

Microsoft は本日、Azure SDK 2.8.1 for Visual Studio 2013 および Visual Studio 2015 を発表します。この SDK 更新プログラムでは、Azure App Service 開発者向けの優れた新機能が提供されており、新しくリリースされた App Service API Apps および一般提供開始された Mobile Apps .NET サーバー 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 作成エクスペリエンス: Microsoft は、App Service ツール全体を再定義して再設計し、WebモバイルAPI アプリ開発者のためのアプリ作成と発行のエクスペリエンスを統一するための重要な一歩を踏み出しました。
  • API および Mobile Apps 向けプロジェクト テンプレートの更新: REST API の最新の更新を活用したい開発者やモバイル開発者のご要望にお応えし、Visual Studio テンプレートを更新しました。
  • Resource Manager テンプレートのエクスポート: 新しいツールでは、作成中のリソースの JSON ファイルをワンクリックでエクスポートできます。この機能を利用すれば、別のリソース グループ内や別の Azure サブスクリプションでも、簡単にトポロジを作成し直すことができます。
  • 強化された REST API クライアントの生成: AutoRest と呼ばれる Azure SDK チームのオープンソース Swagger ベースのジェネレーターによって提供される、簡素化されたユーザー エクスペリエンスと基になるコード生成機能の強化。

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

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

clip_image001

UI のデザインの見直しとオプションの追加

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

アプリケーションの選択が容易

お客様やマイクロソフト内部から寄せられていたフィードバックの 1 つに、「Azure に多数のアプリケーションを公開する場合、リストが非常に煩雑になり、どのアプリケーションが必要なのかわかりにくくなる」というものがありました。この問題を解決するため、Microsoft は Cloud Explorer のデザイン コンセプトを取り入れ、リソース グループおよびリソース タイプのビューを提供しています。これにより、[既存の選択] ダイアログでお使いのアプリを簡単にグループ化できるようになりました。

clip_image002

お客様のサブスクリプション内で公開する可能性があるアプリケーションが多すぎて、グループ化だけでは不十分な場合のために、優れた検索機能を追加しました。ダイアログに検索クエリを入力すると、一致するアプリケーションが絞り込まれます。検索後、リソース グループのビューからリソース タイプのビューに切り替えても、検索結果はそのまま保持されます。この機能を使えば、サブスクリプションのリソース リストから公開するアプリケーションを簡単に見つけ出すことができます。

clip_image003

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

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

clip_image004

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

clip_image005

新しいリソース グループを作成して、そのグループ内にアプリケーションを公開したい場合は、[リソース グループ] コンボ ボックスにリソース グループ名を入力します。そうすると、ダイアログに新しいリソース グループの作成中であることを示す視覚的なヒントが表示されます ([ホスティング] タブの青色アイコンのインジケーターは同じメッセージを表しています)。

clip_image006

アプリケーションで使用する可能性がある追加サービスを作成

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

clip_image007

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

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

App Service の作成ダイアログでサービスの設定と追加を行うと、追加したリソースが [ホスティング] タブのレビュー エリアに表示されます。この「リソース カート」は、サブスクリプション内で作成中のすべてのリソースのスナップショットになります。

clip_image008

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

clip_image009

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

モバイル リソースや API リソースの変更に対応するため、Visual Studio テンプレートを更新し、機能エリアで新しい機能強化を活用できるようにしました。

モバイル アプリケーション テンプレートの改善

App Service Mobile では、オフライン データの操作、ユーザーの認証、プッシュ通知の送信を行うモバイル アプリケーションを簡単に構築できます。Microsoft は Mobile Apps .NET サーバー SDK の一般提供サポートを発表しました。これにより、これらの機能やカスタム ロジックをお使いのモバイル クライアントに提供するアプリケーションを App Service で構築できるようになります。このリリースと併せて、Visual Studio でのモバイル アプリケーション プロジェクトの作成および管理機能も更新されます。開始するには、[ファイル] < [新規] < [プロジェクト...] から [新しいプロジェクト] ダイアログを開きます。次に、[テンプレート] の下の [Visual C#] を展開して [Web] を選択します。[ASP.NET Web アプリケーション] を選択し、プロジェクト名を入力して [OK] をクリックします。[ASP.NET 4.5.2 テンプレート] の下の [Azure Mobile App] を選択します。

clip_image010

[OK] をクリックします。アプリケーションが作成され、ソリューション エクスプローラー内に表示されます。このテンプレートは、モバイル アプリケーションやモバイル サービスを利用しているお客様にはおなじみのものです。主な違いは設定にあります。このテンプレートを使うと、[OWIN Startup] のすべてを設定し、追加済み/未追加のコンポーネントをより細かく制御することができます。

clip_image011

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

clip_image012

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

clip_image013

API Apps テンプレートの改善

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

clip_image014

REST API 生成の改善

Swagger を使って、API Apps や API 管理のような App Service チームによる投資をミラー化します。そうすることにより、API Apps によって公開された Swagger メタデータに基づいてコード生成を行い、投資を継続することができます。Visual Studio の大多数の C# プロジェクトをクリックして、[追加] < [Rest API Client] を選択すると、単純な REST API クライアント生成ダイアログが表示されます。[参照] ボタンをクリックすると、[Select App Service] ダイアログが表示されます。ここで、API 定義エンドポイント セットを持つ App Service を選択します。

clip_image015

概要

Azure アカウントをお持ちでないお客様は、無料試用版にサインアップすると上記のすべての機能を今すぐお試しいただけます。その後、Azure デベロッパー センターにアクセスして、それを使用してアプリを構築する方法についてご確認ください。Connect を通じてバグを、UserVoice を通じて提案を、Visual Studio IDE の気に入った機能の報告を通じて簡単な考えやアイデアを提出してください。今回のリリースは、App Service ツールの新しい方向性を示す最初のステップです。リソース カート内でハイライトしたいサービスなど、皆様からのフィードバックをお待ちしています。マイクロソフトでは、皆様からのご意見を基に、より合理化されたアプリケーション開発を行えるよう改善を加えていきます。この SDK リリースに関連する詳細または既知の問題については、Azure SDK 2.8 と 2.8.1 のリリース ノートのページをご確認ください。 

謝辞

このブログ記事の執筆にあたっては、多くの方々にご協力いただきました。Matthew Henderson と、このリリースで作業を行ったすべてのチームメイトに感謝します。