首页 > 解决方案 > 如何使用 Java sdk 在“Azure API 管理”中导出我的注册 API 列表及其规范?

问题描述

我使用 Azure Java SDK 的代码如下。我能够验证并获取我的 API.Management 通用资源,但不明白如何继续从通用资源访问我注册的所有 API。

ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
                clientID, domainID, secret, AzureEnvironment.AZURE);
        Azure.Authenticated authenticated = Azure.authenticate(credentials);

        Azure azure = authenticated.withSubscription(subscriptionID);
        GenericResource genericResource = azure.genericResources().get(resourceGroupName,
                "Microsoft.ApiManagement", "service", resourceName);

请帮忙。

标签: javaazureazure-api-managementazure-sdk

解决方案


如果要使用 java 列出 Azure APi 管理中的 API,可以使用 sdk azure-mgmt-apimanagement。更多详情请参考https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/apimanagement

例如

  1. 安装 SDK
 <dependency>
      <groupId>com.microsoft.azure.apimanagement.v2019_01_01</groupId>
      <artifactId>azure-mgmt-apimanagement</artifactId>
      <version>1.0.0-beta-1</version>
    </dependency>



  1. 代码
ApplicationTokenCredentials credentials = new ApplicationTokenCredentials(
                clientID, domainID, secret, AzureEnvironment.AZURE);
        ApiManagementManager apimanager=ApiManagementManager.configure().authenticate(creds,subscriptionId);
        Observable<ApiContract> result = apimanager.apis().listByServiceAsync("testapi06","testapi06");
        ArrayList<ApiContract> apis = new ArrayList<ApiContract>();
        result.doOnNext(r -> apis.add(r))
                .doOnCompleted(() -> System.out.println("compltested"))
                .subscribe();



        for (ApiContract api: apis) {



            System.out.println(api.name());



        }

在此处输入图像描述


推荐阅读