【发布时间】:2021-02-02 14:30:37
【问题描述】:
对于我的 Azure 帐户中的每个资源,我想列出一些关于它的基本信息,然后找到与之关联的策略。使用 Azure 的 Java SDK,这是我目前所拥有的:
AzureResourceManager azureResourceManager = AzureResourceManager
.authenticate(credential, profile)
.withSubscription("<my-subscription-id>");
for(GenericResource resource : azureResourceManager.genericResources().list())
{
System.out.println("Resource Name: " + resource.name());
System.out.println("Resource ID: " + resource.id());
PagedIterable<PolicyAssignment> policiesAssignmentsForThisResource = azureResourceManager.policyAssignments().listByResource(resource.id());
for(PolicyAssignment policyAssignment : policiesAssignmentsForThisResource)
{
System.out.println("Policy Assignment Display Name: " + policyAssignment.displayName());
}
}
这将列出资源名称和 ID,但是当尝试循环访问策略分配时,它会抛出以下错误:
IllegalArgumentException: Parameter parentResourcePath is required and cannot be null.
有没有办法解决这个错误?有没有更好的方法来查找资源的策略?
这是我正在使用的listByResource() 方法:
【问题讨论】:
标签: java azure azure-resource-manager azure-policy