Azure SDK 中的哪个 Java API 删除 NetworkSecurityRule?

Which Java API from the Azure SDK to delete a NetworkSecurityRule?

我无法从 Azure SDK 中找到 Java API 来删除 NetworkSecurityRule 资源。

REST API 已记录 here

我使用这个 Maven 依赖项:com.microsoft.azure:azure-mgmt-network:jar:1.31.0

在我的代码中,我持有对 NetworkManager 实例的引用,并且我有一个 NetworkSecurityRule 对象的集合。

有人知道怎么做吗?

谢谢, 克里斯

根据我的测试,我们可以使用下面的代码。更多详情,请参考docuemnt 1. 创建一个服务主体并为 sp.

分配 Reader 角色
az login
az account set --subscription "<your subscription id>"
# it will assign  Contributor to the sp at subscription level
az ad sp create-for-rbac -n "mysample" --role  Contributor

  1. 代码
public static void main(String[] args){
 String clientId = "your sp appId";
       String secret = "your sp password";
       String domain = "your tenant domain";
       ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(clientId, domain, secret,
            AzureEnvironment.AZURE);
       Azure azure = AzureAzure.configure().withLogLevel(LogLevel.BASIC).authenticate(credentials)
            .withDefaultSubscription();

       NetworkSecurityGroup group = azure.networkSecurityGroups().getById(
            "your nsg resource id");

       for(String i : group.securityRules().keySet()){

            System.out.println(i);

       } 

       group.update().withoutRule.apply();
       group = azure.networkSecurityGroups().getById(
            "/subscriptions/e5b0fcfa-e859-43f3-8d84-5e5fe29f4c68/resourceGroups/testgroup/providers/Microsoft.Network/networkSecurityGroups/test0123");
       System.out.println(group.Name());
       for(String i : group.securityRules().keySet()){

            System.out.println(i);

       } 
}