我正试图通过我的c#程序使用azure REST API停止并启动Stream Analytics Job。我已经能够为我的数据仓库执行此操作,但现在遇到了问题。
文档:
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是否存在问题?
答案 0 :(得分:1)
根据您的描述,我已在我的控制台应用程序中测试了您的代码,使用我的参数我可以成功停止我的Stream Analytics Job,如下所示:
我得到的答案是:远程服务器返回错误:(405)方法不允许。
我认为您可以尝试利用Fiddler来收集执行代码时的网络跟踪,也可以使用fiddler提供的Composer或使用Postman模拟停止请求,如下所示: