none
Visual Studio Community 2015 から Azure API Apps に公開できない RRS feed

  • 質問

  • タイトルの通りなのですが、最初は以下の手順で公開できていました。

    1.Azureポータルから、API Apps のプランを選択して作成
    2.Visual Studio から公開しようとすると、1で作成した名称が表示されているため、それを選択

    ところが、いったんAzureポータルから、作成した API Apps を削除し、新たに作り直してから
    再度 Visual Studio から試してみると公開ができません。
    Visual Studio からの公開が初回の場合、API Apps の作成と、デプロイの2度実行する必要があると思いますが、
    1度目で失敗する状態です。


    公開していたアプリケーション自体は、Visual Studio の Azure API App(Preview) テンプレートで作成しただけのもので、
    公開できていたものです。
    公開できなくなったため、削除してもう一度作り直したみましたが、やはり公開できません。

    以下のエラーが表示されます。

    Registering the Azure Resource provider
    Creating the Azure resource group {ResourceGroupName}
    Creating the API App {AppName}
    Exception: 後述
    Azure API App provisioning failed

    Exceptionの部分は以下になります。
    心当たりがある方がいらっしゃれば、どうかご教示ください。
    よろしくお願いいたします。

    Exception: Request to https://management.azure.com/subscriptions/{GUID}/resourcegroups/{AppName}/providers/Microsoft.AppService/gateways/{AppName}{GUID}?api-version=2015-03-01-preview GET failed: BadRequest 400 (Bad Request). 
    {
        "error": {
            "code": "BadRequest", 
            "innerError": {
                "message": "An error occurred while sending the request.", 
                "stackTrace": "   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at EMA.Common.TracingHttpMessageHandler.<SendAsync>d__0.MoveNext() in d:\apiappwork\Thorp\EMA.ARMInterface\HttpClient\TracingHttpMessageHandler.cs:line 46
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.AppService.ApiApps.Service.TimeoutErrorMessageHandler.<SendAsync>d__0.MoveNext() in d:\apiappwork\Thorp\EMA.RuntimeSDK\Handlers\TimeoutErrorMessageHandler.cs:line 23
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.AppService.ApiApps.Service.Handlers.RetryMessageHandler.<>c__DisplayClass4.<<SendAsync>b__2>d__7.MoveNext() in d:\apiappwork\Thorp\EMA.RuntimeSDK\Handlers\RetryMessageHandler.cs:line 109
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.AppService.ApiApps.Service.Handlers.RetryMessageHandler.<SendAsync>d__a.MoveNext() in d:\apiappwork\Thorp\EMA.RuntimeSDK\Handlers\RetryMessageHandler.cs:line 131
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at EMA.Common.DisposeGuardHttpMessageHandler.<SendAsync>d__0.MoveNext() in d:\apiappwork\Thorp\EMA.Common\HttpClient\DisposeGuardHttpMessageHandler.cs:line 26
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Microsoft.Azure.AppService.ApiApps.Service.Management.<GetGatewayInfoAsync>d__76.MoveNext() in d:\apiappwork\Thorp\EMA.RuntimeSDK\Management.cs:line 329
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at EMA.ResourceProvider.Utility.GatewayConnector.<GetGatewayInfoAsync>d__c.MoveNext() in d:\apiappwork\Thorp\ResourceProvider\EMA.ResourceProvider\Utility\GatewayConnector.cs:line 57
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at EMA.ResourceProvider.Controllers.GatewayController.<ExpandGatewayAsync>d__42.MoveNext() in d:\apiappwork\Thorp\ResourceProvider\EMA.ResourceProvider\Controllers\GatewayController.cs:line 367
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at EMA.ResourceProvider.Controllers.GatewayController.<GetGateway>d__3a.MoveNext() in d:\apiappwork\Thorp\ResourceProvider\EMA.ResourceProvider\Controllers\GatewayController.cs:line 351
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__3`1.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
       at System.Web.Http.Controllers.ExceptionFilterResult.<ExecuteAsync>d__0.MoveNext()", 
                "typeName": "System.Net.Http.HttpRequestException"
            }, 
            "message": "An error occurred while sending the request."
        }
    }

    【追記】

    今まで使っていた Resource Group を使わずに、新たに作成したものを使うと公開できました。

    作成し直すたびに、Resource Group を作成するのは嫌なので、引き続き調べます。

    • 編集済み root_jp 2016年10月4日 6:14 追記
    2016年10月4日 5:19

回答

  • 解決しました。

    どうやら、綺麗にAPI Appsを削除できていなかったのが原因のようです。

    Gatewayというのが残っていて、それを削除すると公開できるようになりました!

    • 回答としてマーク 星 睦美 2016年10月28日 2:49
    2016年10月4日 7:31

すべての返信

  • こんにちは。

    エラーメッセージは、「An error occurred while sending the request」のみでしょうか。
    VisualStudio拡張のAzureSDKのバージョンはいくつでしょうか。

    2016年10月4日 6:00
    モデレータ
  • Tak1waさん

    ご返信ありがとうございます。

    そうなんですよ。。。エラーメッセージがそれだけなので良く分からず困っていました。

    AzureSDKというのは特に入れたことがないのですが、

    もしかしたらVisual Studio Community 2015 に元から組み込まれているものなんでしょうか?

    ちなみに、新たに作成した Resource Group を使用すると、うまく公開できました。

    ん~謎です。。。

    2016年10月4日 6:12
  • AzureSDKはVSに組み込まれています。
    VisualStudioのツールバーメニューに拡張機能に関するものはないでしょうか。

    過去にAzureSDKのバージョンが古かったためVisualStudioからのデプロイに失敗しているケースがあったようなので
    念の為の確認でした。

    2016年10月4日 7:03
    モデレータ
  • 解決しました。

    どうやら、綺麗にAPI Appsを削除できていなかったのが原因のようです。

    Gatewayというのが残っていて、それを削除すると公開できるようになりました!

    • 回答としてマーク 星 睦美 2016年10月28日 2:49
    2016年10月4日 7:31