c# - Microsoft AnalysisServices - 使用 Azure Functions 启动和停止服务器
问题描述
我想编写一个 Azure 函数来停止和恢复 MS 分析服务。我的任务是使用API Resume和API Suspend执行此操作。这是我第一次使用 C#(我有 Python/Javascript 背景)。我究竟做错了什么?有人可以提供正确的解决方案吗?我会从心底感激。
这是我当前的代码示例:
using System;
using System.Net;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
static HttpClient client = new HttpClient();
public static async Task<HttpResponseMessage> Run(HttpRequestMessage req)
{
var subscriptionId = "mySId";
var resourceGroupName = "myRGName";
var serverName = "mySName";
var APIurl = $"https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AnalysisServices/servers/{serverName}/resume?api-version=2017-08-01";
var response = await client.PostAsync(APIurl, null);
string result = await response.Content.ReadAsStringAsync();
return req.CreateResponse(HttpStatusCode.OK);
}
解决方案
由于您在问题中提到的api“Resume”需要Azure Active Directory OAuth2 Flow,因此您需要先参考本教程获取访问令牌,然后使用访问令牌在您的功能代码中请求此api。
在你的函数应用的代码中,你需要将我们上面得到的访问令牌设置为授权的值,然后进行 post reuqest。
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "Your Oauth token");
推荐阅读
- cookies - HttpOnly 和 Signed Cookie 的区别
- r - 如何将复杂的文本文档转换为单个字符串
- regex - 正则表达式从路径中选择最后一个单词
- azure - Azure Web App for Containers - Auto Scale 如何处理内部服务器存储?
- ember-data - 如何处理 ember-data 中已弃用的“就绪”模型生命周期挂钩?
- node.js - Nextjs 在生产模式下出现 express 404 问题
- c++ - 找到适合 int 的最大斐波那契数的最快方法是什么?
- laravel - laravel,如何更新 json 列中的数组?
- c# - 用字典键替换字符串(文本框)中的字符
- react-native - 测试失败,我不知道为什么