本文介绍如何使用OpenAPI调用API网关接口查询API 网关实例列表。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应的接口文档DescribeInstances,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览。
步骤二:创建RAM用户并完成授权
阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份。
本案例中,我们使用RAM用户进行接口调用。
登录RAM访问控制。
在左侧导航栏,选择
。在用户页面,单击创建用户。
在创建用户页面,设置登录名称和显示名称、访问方式为控制台访问。
单击确定。
创建RAM用户成功后,请记录用户登录名称和密码,您在调用OpenAPI时,需要使用该RAM用户登录阿里云OpenAPI开发者门户。
- 说明
AliyunApiGatewayFullAccess
:管理网关服务的权限。AliyunApiGatewayReadOnlyAccess
:只读访问网关服务的权限。
如果您需要新建自定义权限,请参见授权信息。
访问RAM用户列表。
单击目标RAM用户操作列的添加权限。
在文本框中输入关键字
ApiGateway
进行搜索,选择AliyunApiGatewayFullAccess
策略。单击确认新增授权,完成授权操作。
进入到对应的RAM用户详情页,在认证管理页签,点击创建 AccessKey。
更多操作详情,请参见创建AccessKey。
步骤三:调用OpenAPI
本文以Java语言SDK调用OpenAPI,其他语言SDK的用法类似,更多信息请参见API 网关SDK。您也可根据业务的实际需要选择其他调用方式,更多调用方法请参见OpenAPI 调用方式。
调用接口前需配置环境变量,通过环境变量读取访问凭证。AccessKey ID
和AccessKey Secret
的环境变量名分别为:ALIBABA_CLOUD_ACCESS_KEY_ID
、ALIBABA_CLOUD_ACCESS_KEY_SECRET
。配置详情请参见在Linux、macOS和Windows系统配置环境变量。
下载示例代码
在左侧的参数配置页签,填写需要的参数信息。
InstanceId 参数输入示例值:apigateway-hz-67bb67*****。
Language 参数输入示例值:zh。
EnableTagAuthorization 参数输入示例值:true。
说明DescribeInstances 接口的请求参数为非必选项,也可以不填写。
在右侧的SDK示例页签,SDK版本选择v2.0,语言选择Java,单击下载完整工程按钮,下载示例代码包。
本地解压下载的
xxx-Java.zip
文件。
打开项目
使用IntelliJ IDEA加载项目,待相关依赖加载完毕后,打开src/main/java/com/aliyun/sample/Sample.java
。根据代码中的注释提示自行添加打印返回值的代码。
运行项目
点击IDE右上角的运行按钮,可查看输出日志。本案例中的返回内容如下:
{
"headers": {
"access-control-allow-origin": "*",
"date": "Tue, 18 Jun 2024 06:42:57 GMT",
"keep-alive": "timeout=25",
"transfer-encoding": "chunked",
"vary": "Accept-Encoding",
"x-acs-request-id": "31C7C09E-176B-5504-9E94-0A177E0*****",
"connection": "keep-alive",
"content-type": "application/json;charset=utf-8",
"access-control-expose-headers": "*",
"x-acs-trace-id": "93035b17ce474e96927d5253706*****"
},
"statusCode": 200,
"body": {
"instances": {
"instanceAttribute": [
{
"aclStatus": "off",
"connectCidrBlocks": "[\"10.192.0.0/16\",\"10.127.0.0/24\"]",
"connectVpcId": "vpc-bp1s5c5wq33lkzq******",
"createdTime": "2024-01-20T03:22:19Z",
"dedicatedInstanceType": "vpc_connect",
"egressIpv6Enable": false,
"httpsPolicies": "HTTPS2_TLS1_0",
"IPV6AclStatus": "off",
"instanceChargeType": "PayAsYouGo",
"instanceCidrBlock": "192.168.0.0/16",
"instanceId": "apigateway-hz-67bb6******",
"instanceName": "api-gateway",
"instanceRpsLimit": 2500,
"instanceSpec": "api.s1.small",
"instanceSpecAttributes": {
"specAttribute": [
{
"localName": "最大每秒请求数",
"value": "2500"
},
{
"localName": "SLA",
"value": "99.95%"
},
{
"localName": "最大连接数",
"value": "50000"
},
{
"localName": "最大出访连接池大小",
"value": "1200"
},
{
"localName": "最大公网入访带宽",
"value": "5120M"
},
{
"localName": "最大公网出访带宽",
"value": "100M"
}
]
},
"instanceType": "VPC_DEDICATED",
"internetEgressAddress": "116.62.***.***",
"maintainEndTime": "22:00Z",
"maintainStartTime": "18:00Z",
"networkInterfaceAttributes": {
"networkInterfaceAttribute": [
{
"cidrBlock": "10.192.0.0/16",
"securityGroupId": "sg-bp1h7qye5zu8ujk*****",
"vswitchId": "vsw-bp1umyj8athfrwih*****",
"zoneId": "cn-hangzhou-g"
},
{
"cidrBlock": "10.127.0.0/24",
"securityGroupId": "sg-bp1h7qye5zu8ujk*****",
"vswitchId": "vsw-bp14sk9xqjwrteer*****",
"zoneId": "cn-hangzhou-h"
}
]
},
"privateDnsList": {
"privateDns": [
]
},
"status": "RUNNING",
"supportIpv6": true,
"vpcEgressAddress": "10.192.142.96,10.127.0.134",
"vpcIntranetEnable": false,
"vpcSlbIntranetEnable": false,
"zoneId": "cn-hangzhou-MAZ2",
"zoneLocalName": "多可用区 2"
}
]
},
"pageNumber": 1,
"pageSize": 10,
"requestId": "31C7C09E-176B-5504-9E94-0A177E0*****",
"totalCount": 1
}
}