AFAIK,似乎很难跟踪不返回 operationId 的 VM 重启状态。
登录 .NET 的 fluent Azure 管理库会利用底层AutoRest服务客户端跟踪。
创建一个实现Microsoft.Rest.IServiceClientTracingInterceptor
. 此类将负责拦截日志消息并将它们传递给您正在使用的任何日志记录机制。
class ConsoleTracer : IServiceClientTracingInterceptor
{
public void ReceiveResponse(string invocationId, HttpResponseMessage response) { }
}
在创建对象之前,通过调用并设置为trueMicrosoft.Azure.Management.Fluent.Azure
来初始化您在上面创建的对象。创建 Azure 对象时,包括和方法以将客户端连接到 AutoRest 的服务客户端跟踪。IServiceClientTracingInterceptor
ServiceClientTracing.AddTracingInterceptor()
ServiceClientTracing.IsEnabled
.WithDelegatingHandler()
.WithLogLevel()
ServiceClientTracing.AddTracingInterceptor(new ConsoleTracer());
ServiceClientTracing.IsEnabled = true;
var azure = Azure
.Configure()
.WithDelegatingHandler(new HttpLoggingDelegatingHandler())
.WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic)
.Authenticate(credentials)
.WithDefaultSubscription();
更多细节,你可以参考这篇文章。