回答:
Azureの現在の状態に対する回答を更新します。
App Servicesは、すべてのモバイル、Api、およびWeb Appsフレーバーを単一のアプリフレームワークとして置き換え、すべての機能がロールオーバーされて、アプリケーションタイプ間でよりアクセスしやすくなりました。現在、すべてのWeb、モバイル、およびAPIアプリは、まとめてApp Servicesと呼ばれています。ギャラリーでモバイルアプリとWebアプリを作成できるようにお客様に提供していますが、それは基本的にApp Serviceアプリに解決されます。
https://azure.microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best-platform/
Easy TablesやEasy APIなどのWebアプリケーションのモバイル作業用の機能。また、API CorsやAPI定義などのAPIアプリの機能がWebアプリでも機能するようになりました。顧客は、単一のWebアプリをホストして、任意のモバイルサービスとして、またはアプリサービスを通じて提供されるすべての機能を持つAPIとして機能させることができます。
また、APIの管理エクスペリエンスを提供することで、特にAPIアプリを対象とするプレビューの新しいサービスも提供しています。基本的に、トライAPIページの生成の制御、実行分析の収集、スロットルなどを行うことができます。Azure API管理機能の詳細については、機能に関するブログをご覧ください。そして、はい、APIをApp Serviceアプリとしてホストし、API管理に接続できます。
https://azure.microsoft.com/en-us/documentation/articles/api-management-get-started/
さまざまなアプリサービスの種類に違いがあった時期がありましたが、それはもはや正しくありません。ドキュメントは、今述べて:
3つのアプリの種類(API、Web、モバイル)の唯一の違いは、Azureポータルでそれらに使用される名前とアイコンです。
したがって、デプロイするアプリサービスの種類は問題ではありません(アイコンの外観を気にしない限り)。
更新
関数アプリは今は例外です。関数アプリを作成すると、ポータルのユーザーインターフェイスが変更されます。ただし、基盤となるWebアプリは同じです。FUNCTIONS_EXTENSION_VERSION
= という名前のアプリ設定を設定すると、~1
すべてのWebアプリが関数アプリになります(ポータルのユーザーインターフェイスを除く)。
Web APIとAPIアプリの間には多くの小さな違いがありますが、非常に注目すべき重要な違いは
ネイティブSwagger実装-Visual StudioでAPIアプリを作成すると、デフォルトでswagger参照が提供されます。Swaggerは、開発者にとって非常に使いやすい機能を提供し、APIコンシューマーがSwagger UIを通じてAPIを操作できるようにします。また、SwaggerベースのAPIはクライアントSDK生成(.NetベースのクライアントとJavascriptベースのクライアントの両方)を提供し、通常のメソッド呼び出しと同じようにAPIを簡単に呼び出すことができます。注:通常のWeb APIでのSwagger実装は手動で可能です。
APIアプリをAzureマーケットプレイスに公開する機能。Azureマーケットプレイスは、無料または有料で利用できるすべてのAPIアプリのパブリックリポジトリです。
Channel 9からのこの 15分のビデオは、Apiアプリに関する優れた概要を提供します。
グレッグの答えを補足するために、違いを説明するさらに最近の記事を次に示します。
総括する:
「APIアプリの主要な機能(認証、CORS、APIメタデータ)は直接App Serviceに移行しました。この変更により、Web、モバイル、およびAPIアプリ全体で機能を利用できるようになりました。実際、3つすべてが同じMicrosoft.Web /を共有していますResource Managerのサイトリソースタイプ。」
そしてここに別の重要な注意があります:
「APIがすでにWebアプリまたはモバイルアプリとしてデプロイされている場合、新機能を利用するためにアプリを再デプロイする必要はありません。」
これは、何をしようとしているのかによって異なりますが、サービスを作成するときにWeb APIを使用します。ASP.Net Web APIは、幅広いクライアントが利用できるHTTPサービスを構築するためのフレームワークです。これにより、Webアプリだけでなく、Androidアプリ、IOSアプリ、Webアプリ、Windows 8アプリ、WPFアプリなどに接続するためにそれを開くことができます。
したがって、Webサービスが必要だがSOAPが不要な場合は、Web APIを使用できます。
ここに私のコメント:
APIアプリ:特定の機能に使用されます。URLからその機能をトリガーする。GET、POST、PUT、DELETEで使用できます。BODY(Json)でパラメーターを受信できます。有効なステータスコード(失敗、成功)を含む応答
Web APP:複数の機能を使用してデプロイされたアプリケーション。たとえば、顧客の作成、更新、削除、または完全なERPの作成のためのカタログ。
関数アプリ:APIアプリと非常によく似ており、特定の機能に使用されます。URLからその機能をトリガーする。GET、POST、PUT、DELETEで使用できます。BODY(Json)でパラメーターを受信できます。有効なステータスコード(失敗、成功)を含む応答
実際には、aspnet webapiをAzure WebAppにデプロイし、セルフホストをワーカーロールにデプロイできます。
WebApp(以前のAzure Webサイト)では、IISにデプロイされるため、IISの機能を利用できます。