获取订阅下的所有容器注册表 - .NET Azure sdk

Get all container registries under a subscription - .NET Azure sdk

正在查找 .NET SDK 引用以获取指定的容器注册表或资源组或订阅中的所有容器注册表。

除了可用的 REST API 之外还需要参考: https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01

我看到可以通过 Powershell 和 CLI cmdlet 进行操作; Get-AzContainerRegistryaz acr list,但寻找基于 .NET SDK 的库参考(Azure.ResourceManager 首选)。

我已经完成 https://github.com/Azure/azure-sdk-for-net,但是没有与获取特定或列出订阅下的容器注册表相关的扩展。

Nuget 包:

// Change these as needed
ArmClient armClient = new ArmClient(new DefaultAzureCredential());
Subscription subscription = await armClient.GetDefaultSubscriptionAsync();

// You can also get the resource group first if you know it already
// subscription.GetResourceGroups().Get("myresourcegroup");
var registyResources = subscription.GetGenericResourcesAsync("resourceType eq 'Microsoft.ContainerRegistry/registries'").AsPages();

await foreach (var resource in registyResources)
{
    var id = resource.Values.First().Id;
    Console.WriteLine($"Id: {id}");
    Console.WriteLine($"Resource Group: {id.ResourceGroupName}");
    Console.WriteLine($"Container registry name: {id.Name}");
}

如果您需要任何其他信息,也可以探索返回的资源。然后,您可以继续使用特定 Container Registry 的 specialized SDK