如何使用 Azure Mgmt SDK fluent 获取所有快照

How to get all snapshot by using of Azure Mgmt SDK fluent

我正在使用 Fluent 以编程方式获取 Azure 中的资源(C# .NET-Core Web 应用程序)并尝试通过提供如下服务主体来获取资源信息:

string subscriptionId="XXX"; 
AzureCredentials cred = new AzureCredentialsFactory()
                      .FromServicePrincipal(UIConstants.ClientID, 
                       UIConstants.Secret, UIConstants.Tenant,AzureEnvironment
                      .AzureGlobalCloud);                      
            
var azure = Azure.Configure()
            .WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic) 
            .Authenticate(cred) 
            .WithSubscription(subscriptionId);

当我试图像这样获取所有快照时

foreach (var s in azure.Snapshots.List())
{
//get snapshot
}

但是没有错误,循环也没有执行。 C#中是否有任何代码示例可以获取所有快照信息。

如评论中所述,这是因为没有快照。

其实在循环之前,你可以判断是否有返回快照。代码如下:

using System.Linq;

//your other code

 //convert to list
 var mysanpshots = azure.Snapshots.List().ToList();            

 //if there are snapshots existing
 if (mysanpshots.Count > 0)
 {
      foreach (var s in mysanpshots)
      {
          //code
      }
 }
 //if no snapshots
 else
 {
    //code
 }