Visual Studio 2013向けのAzure API Apps Toolsの紹介

Posted: 2015/04/01 カテゴリー: Uncategorized
タグ:, , , , , ,

Azure SDK 2.5.1リリースで、AzureのWeb、モバイル、API開発者向けの最新機能 Azure App Service (英語 / 日本語 / 日本語) をサポートするために、我々は、既存のWeb発行のテクニックを、新しいAzure Resource Management APIと組み合わせました。我々は、ASP.NET開発者向けの発行ターゲットとして、Azure API Appsを追加したので、皆さんは、新しいAzureポータルにおけるリソース グループやアプリ ホスティング プランといった概念を、Visual Studioで利用できます。

1クリックでの厳密に型指定されたREST APIクライアント生成

一貫してさまざまなテクノロジやサービスからREST APIを使用する必要がある開発者に対して、Azure App Serviceのコンポーネント Azure API Apps (英語 / 日本語 / 日本語) は、REST APIエンドポイントを記述するために、Swagger (英語 / 日本語)WADL (英語 / 日本語) といったメタデータ フォーマットを公開します。今回のリリースには、ASP.NET Web APIコントローラーからの動的なSwagger生成を提供する、新しいAzure APIアプリ テンプレートが含まれています。加えて、HTTP呼び出しとJSONやXMLの解析を何度も書く必要をなくし、REST APIの使用をこれまでになく簡単にする、1クリックでのC#コード生成機能を提供する新しい使用システムが、Visual Studioに追加されました。生成されたクライアント コードは、ポータブル クラス ライブラリ (PCL) でもサポートされているので、Windows Phone 8.1、ユニバーサル アプリ、XamarinでAndroidとiOSをターゲットにして書かれたアプリといった、PCLをサポートする任意のプラットフォームで、クライアント コードを使えます。Azure App Serviceのリリースの発表するThe Official Microsoft Blog (英語 / 日本語)Azure App Serviceを発表するMicrosoft Azure Blog (英語 / 日本語) で、Azure App Serviceについてさらにお読みください。また、さらに学ぶために、発表のWebキャスト (英語 / 日本語) を視聴できます。

サード パーティーAPIの高度なマーケットプレイスへのアクセス

Azure Marketplace (英語 / 日本語) では、既存のMicrosoftのサービスや製品に対する多数のAPIが提供され、Twilio、Salesforce、DropboxといったパートナーのAPIも提供されるようになりました。カスタムAPIに対して利用可能なREST API使用機能は、Azure管理ポータルのインターフェイスを介してインストールされたAPIに対しても利用可能なので、急速に成長しているAzure Marketplaceの任意のAPIに対する、厳密に型指定されたクライアントにアクセスできます。

image

Azure API Appsの開発、デプロイ、使用のエンド ツー エンドのエクスペリエンス

さて、新しいAzure API Appsツールをウォークスルーしてみましょう。まず、Azure SDK 2.5.1リリースで利用可能になった新しいプロジェクト テンプレートを使って、Azure APIアプリを新規作成します。それから、そのAzure APIアプリをクラウドにデプロイします。デプロイしたら、厳密に型指定された自動生成クライアント コードを使って、デプロイされたAPIアプリを使用する単純なクライアント アプリケーションを作成します。

作業の開始: Azure API App テンプレート

Visual Studio 2013を使って、TodoListApiという名前のWebアプリケーション プロジェクトを新規作成します。

image

One ASP.NETダイアログが開いたら、Azure API Appテンプレートを選択します。Azure API Appテンプレートは、基本のWeb APIプロジェクトに、Azure API Apps SDKののNuGetパッケージ、(Web APIコントローラーに対する動的Swagger生成機能を提供する) SwashbuckleのNuGetパッケージを追加したものです。

image

API Appテンプレートのプロジェクトreadmeに注意してください。これには、Azure API Appsの作成、デプロイ、デバッグ、使用方法をより詳しく説明している、有益なドキュメントへのリンクが含まれています。

image

カスタムのモデルと、そのモデルを利用するコントローラーを追加します。次のスクリーンショットは、TodoItemモデルとTodoControllerクラスを追加した後の、プロジェクトの構造を示しています。

image

次に、Wwbプロジェクトを右クリックして「発行」機能を選択することで、自分のAzureサブスクリプションでAzure APIアプリを新規作成します。

image

新しい「Microsoft Azure API Apps (Preview)」発行ターゲットを選択します。

image

Azure API Apps発行ダイアログが開きます。自分のAzureサブスクリプションでAzure APIアプリを新規作成するために、「新規」ボタンをクリックします。

image

Azure APIアプリ作成ダイアログが開きます。ここで、自分のAPIアプリのデプロイ先となる、既存のアプリ サービス プランリソース グループを選択します。ここでは、ダイアログの便利なオプションを使って、アプリ サービス プランとリソース グループを新規作成します。

image

「OK」をクリックすると、Azure APIアプリのプロビジョニングが始まります。このプロセスには1-2分かかることを伝える警告が表示されます。プロビジョニングが完了したら、自分のコードをAPIアプリ インスタンスに発行するために、発行作業を再度実行します。

image

Azure App Service Activityウィンドウには、自分のAzureサブスクリプションでのAzure APIアプリの新規作成のプロセスが表示されます。作成プロセスが完了したら、通知されます。

image

作成プロセスが完了したら、APIアプリ プロジェクトを右クリックして「発行」を実行し、発行設定があり、コードをAzureに発行する準備ができていることを確認します。

: 新しくプロビジョニングされたサイトに自分のコードが発行されるようにするためには、発行プロセスを2回実行する必要があります。最初の発行プロセスは、自分のサブスクリプションでAzure APIアプリのリソースを作成しますが、作成が完了した後にコードを発行しないので、自分のコードをデプロイするために、発行を2回実行する必要があります。

image

「発行」ボタンをクリックすると、APIアプリのコードが、実行中の自分のAzure APIアプリ インスタンスにデプロイされます。

Azure管理ポータルでの、Azure APIアプリの定義の表示

デプロイに続いて、WebブラウザーでAzure管理ポータルを開き、デプロイしたAPIアプリに進みます。APIアプリのブレードで「API定義」ボタンをクリックすることで、自分のWeb API TodoControllerと (プロジェクトからValuesController.csファイルを削除していない場合) 既定のValueControllerに対するREST APIエンドポイントを確認します。

image

Azure APIアプリがデプロイされたので、Windowsデスクトップ コンソール アプリケーションから、このAPIアプリを使用します。

Visual Studioでの、1クリックでのAPIアプリ クライアント コード生成

APIアプリの使用は、ほとんどの種類のC#プロジェクトで利用可能であり、今後のリリースでさらなる種類のプロジェクトが追加される予定です。ここでは、Azure APIアプリを使用できることを確認するために、それを呼び出す単純なコンソール アプリケーションを作成します。APIの使用の作業を開始するには、Visual Studioで自分のソリューションにプロジェクトを新規追加します。

image

次に、ダイアログから「コンソール アプリケーション」プロジェクト テンプレートを選択し、プロジェクトにTodoListApiClientという名前を付けます。

image

Visual Studioでプロジェクトがロードされたら、Azure APIアプリ クライアント生成ダイアログを開くために、プロジェクト ノードを右クリックし「追加」>「Azure API App Client」コンテキスト メニュー項目を選択します。ダイアログが開いたら、「Download from Microsoft Azure API App」ラジオ ボタンを選択し、Azureに発行したTodoListApi APIアプリを選択します。それから、「OK」ボタンをクリックします。もしそうしたければ、APIアプリ クライアントのコードに対してカスタム名前空間を提供することもできますが、既定の名前空間は、自分のコンソール アプリケーション プロジェクトの基本の名前空間であることに注意してください。

image

「OK」ボタンをクリックすると、Visual Studioは、自分のコンソール アプリケーションがAzure APIアプリのエンドポイントを呼び出すのを簡単にするために、自分のAzure APIアプリが公開しているSwaggerメタデータを取得し、クライアント コードを生成します。APIアプリ クライアント コードが生成されたら、そのコードがコンソール アプリケーション プロジェクトに追加されていることを確認できます。

image

ここで、コンソール アプリケーション プロジェクトのProgram.csファイルを開きます。生成されたコードによって、厳密に型指定されたクラスとメソッドを使うことができ、自分のAzure APIアプリのエンドポイントを呼び出すのが、これまでになく簡単になります。次のコードは、TodoItemのリストを返す、APIのGetメソッドを呼び出します。

image

Visual Studioデバッガーでコンソール アプリケーションを起動するためにF5を押すと、このアプリケーションは、クラウドで動作しているAzure APIアプリを呼び出し、TodoItemのリストを取得し、コンソール ウィンドウにそのリストを表示します。

image

REST APIの開発やデプロイ、REST APIを介して返されるデータの使用が、これまでになく簡単になります。Azure API Apps向けの新しいツールを試すために、Visual Studio向けのAzure SDKをダウンロードしてください。

連絡を取りましょう!

コミュニティからのフィードバックは、Visual Studio Web Tools拡張機能の成功に欠かせないものであり、我々は皆さんからのフィードバックを高く評価します。Visual Studio内の笑顔/渋面の送信 (英語 / 日本語) UIを介したフィードバックを歓迎します。また、Visual Studio Connectサイト (英語 / 日本語) を介してバグを登録できます。紹介したAzure API Appsツールの機能拡張のアイデアがある場合は、Visual Studio UserVoice (英語 / 日本語)ASP.NET UserVoice (英語 / 日本語) で共有してください。Azure API Appsのリソースやツールは、2.5.1リリースの時点ではプレビューです。さらなる新機能を予定しており、プレビュー期間中の皆さんからのフィードバックを歓迎します。また、機能と既知の問題の完全な一覧については、Azure SDK for .NETのリリース ノート (英語 / 日本語 / 日本語) を確認してください。

関連情報

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中