查找 .NET SDK 引用以获取指定的容器注册表或资源组或订阅中的所有容器注册表。
除了可用的 REST API 之外还需要引用:
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.ContainerRegistry/registries?api-version=2019-05-01
我发现可以通过 Powershell 和 CLI cmdlet 进行该操作; Get-AzContainerRegistry
和 az 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}");
}
如果您需要任何其他信息,还可以浏览返回的资源。然后您可以继续使用 specialized SDK对于特定的容器注册表。
关于c# - 获取订阅下的所有容器注册表 - .NET Azure sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71063410/