无效方法 (405) Azure StreamAnalytics Rest API

Invalid Method (405) Azure StreamAnalytics Rest API

我正在尝试通过我的 c# 程序使用 azure REST API 停止和启动流分析作业。我已经能够为我的数据仓库执行此操作,但现在遇到了问题。

文档:

https://docs.microsoft.com/en-us/rest/api/streamanalytics/stream-analytics-job#stop

    public static void PauseSAJ()
    {
        var request = (HttpWebRequest)WebRequest.Create("https://management.azure.com/subscriptions/" + AzureSubscriptionId + "/resourceGroups/" + RESOURCE_GROUP + "/providers/Microsoft.StreamAnalytics/streamingjobs/" + STREAMING_JOB_NAME + "/stop?api-version=2015-10-01");

        request.Method = "POST";
        request.ContentType = "application/json";
        request.ContentLength = 0;
        request.Headers.Add("Authorization", "Bearer " + AuthToken);

        var response = (HttpWebResponse)request.GetResponse();
        var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
        System.Diagnostics.Trace.WriteLine("Stopping Streaming Analytics Job if not stopped:  " + responseString);
    }

我得到的响应是:远程服务器返回错误:(405) 方法不允许。

文档中明确指出方法是POST。我正在使用此方法的几乎完全相同的副本来停止我的 DW(请求 URL 除外),所以我很困惑为什么我会遇到问题。 streamAnalytics Azure API 有问题吗?

根据您的描述,我已经在我的控制台应用程序中测试了您的代码,使用我的参数我可以成功停止我的流分析作业,如下所示:

The response I'm getting is: The remote server returned an error: (405) Method Not Allowed.

我假设你可以尝试利用 Fiddler 在执行代码时收集网络跟踪,也可以只使用 fiddler 提供的 Composer 或使用 Postman 模拟停止请求,如下所示: