[英]How to turn on/off Azure virtual machine via Azure management api (rest)
我想为自己创建一个启动/停止Azure VM机器人。 我想要做的是拥有一个侦听消息并通过命令/ start / stop启动/停止我的VM的Slack / Telegram机器人。 我应该使用哪个REST api命令来做到这一点?
需要什么:
C#中的一些示例代码调用了Azure管理API以启动释放的虚拟机
我可以从中获取API方法参数值的一些参考(例如,订阅ID,资源ID等)。
也
我已经阅读了这个问题,但是它并没有帮助我了解如何处理授权以及在何处获取这些参数。
我正在使用C#语言创建该机器人。
调用azure管理API以启动重新分配的虚拟机
虚拟机REST API列出了虚拟机上的操作。 要启动虚拟机,可以尝试使用以下API :
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/virtualMachines/{vm}/start?api-version={apiVersion}
在这里我可以获取API方法参数的值(例如,订阅ID,资源ID等)。
您可以在Azure门户上找到{subscriptionId}
和{ resourceGroup}
。
如何处理授权
您可以查看本文以开始使用Azure REST操作并请求身份验证。 并且您可以参考以下代码来获取访问令牌。
string tenantId = "{tenantId}";
string clientId = "{clientId}";
string clientSecret = "{secret}";
string subscriptionid = "{subscriptionid}";
string authContextURL = "https://login.windows.net/" + tenantId;
var authenticationContext = new AuthenticationContext(authContextURL);
var credential = new ClientCredential(clientId, clientSecret);
var result = await authenticationContext.AcquireTokenAsync(resource: "https://management.azure.com/", clientCredential: credential);
if (result == null)
{
throw new InvalidOperationException("Failed to obtain the JWT token");
}
string token = result.AccessToken;
此外,本文还介绍了如何创建可以访问资源的AD应用程序和服务主体 ,请参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.