java - 如何使用 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);
请帮忙。
解决方案
如果要使用 java 列出 Azure APi 管理中的 API,可以使用 sdk azure-mgmt-apimanagement
。更多详情请参考https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/apimanagement。
例如
- 安装 SDK
<dependency>
<groupId>com.microsoft.azure.apimanagement.v2019_01_01</groupId>
<artifactId>azure-mgmt-apimanagement</artifactId>
<version>1.0.0-beta-1</version>
</dependency>
- 代码
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());
}
推荐阅读
- bash - 如何使用 shell 脚本在重新启动时在 localhost 服务器上启动程序
- groovy - 詹金斯找不到定义的功能?
- android - 如何修复“调试”到“发布”开关处的 ExampleInstrumentedTest 错误?
- microsoft-graph-api - 使用 azure 函数处理来自 azure logic app 的会议请求
- c# - 用于 C# 的 Selenium 中的警报阻止执行
- c++ - 为什么编译后会出现错误(c++ eigen)“error C2659: '=' : function as left operand”?
- haskell - 系统 T 组合语言的 Haskell 解释器
- java - 如何让我的机器人在没有更新的情况下发送消息?
- python - 在以日期时间为索引的python中使用interpolate.interp1d对数据进行插值
- c# - Json.NET 忽略字典中的空值