使用OpenAPI示例

本文为您介绍使用OpenAPI查询DDoS高防实例的规格配置的完整示例。

查看OpenAPI文档

通过阅读API概览得知,查询DDoS高防实例的规格配置的OpenAPI为DescribeInstanceSpecs。请您根据文档,了解调用该接口需要准备的数据和权限。

创建RAM用户并授权

身份

您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异,请参见身份、凭据、授权。本案例中,我们使用RAM用户进行接口调用。

登录RAM访问控制,创建一个仅允许API调用的RAM用户,并记录AccessKey信息。具体操作,请参见创建RAM用户

授权

  1. 访问RAM用户列表,单击目标RAM用户操作列的添加权限

  2. 选择权限区块中,搜索并选择AliyunYundunNewBGPAntiDDoSServicePROFullAccesAliyunYundunAntiDDoSPremiumFullAccess策略。

    说明
    • DDoS高防的系统权限策略如下:

      • AliyunYundunNewBGPAntiDDoSServicePROFullAccess:管理DDoS高防(中国内地)的权限。

      • AliyunYundunNewBGPAntiDDoSServicePROReadOnlyAccess:只读访问DDoS高防(中国内地)的权限。

      • AliyunYundunAntiDDoSPremiumFullAccess:管理DDoS高防(非中国内地)的权限。

      • AliyunYundunAntiDDoSPremiumReadOnlyAccess:只读访问DDoS高防(非中国内地)的权限。

      • AliyunYundunDDoSRewardsReadOnlyAccess:只读访问DDoS高防增值服务的权限。

      • AliyunYundunDDoSRewardsFullAccess:管理DDoS高防增值服务的权限。

    • 关于如何创建自定义权限,请参见授权信息

  3. 单击确定,完成授权操作。

凭证

在创建RAM用户时会默认生成一个AccessKey,可直接使用。您也可以进入到对应的RAM用户详情页面,在认证管理页签,单击创建AccessKey,创建一个新的AccessKey。具体操作,请参见创建AccessKey

调用OpenAPI

本文以Python语言为例,为您介绍OpenAPI的调用方法。

准备Python环境

  1. 下载并安装Python。

    Python 3的下载地址,请参见Python 3

  2. 查看Python版本。

    • Linux和macOS系统

      打开终端,输入python --version

    • Windows系统

      • 在Python的安装路径下,双击python.exe。

      • 打开命令提示符页面。

        通过键盘快捷键Win+R打开运行对话框,输入命令python,单击确定

配置环境变量

为避免将AccessKey硬编码到业务代码中带来的安全风险,本示例采用配置环境变量的方法管理AccessKey。不同操作系统的环境变量配置方法不同,具体操作,请参见在Linux、macOS和Windows系统配置环境变量

安装依赖

pip install alibabacloud_credentials
pip install alibabacloud_ddoscoo20200101==1.0.3
pip install alibabacloud_tea_console

下载示例代码

  1. 在OpenAPI门户,访问DescribeInstanceSpecs接口的调试地址

  2. 请求参数InternetIp输入ddoscoo-cn-nwy3c8k6****,直接单击发起调用

  3. 先单击SDK示例页签,再单击Python页签。

    获取Python语言的SDK示例。

  4. 单击下载完整工程,下载示例代码包。

  5. 在本地解压示例代码包,并进入alibabacloud_sample目录。

运行代码

执行以下命令:

python sample.py

得到如下输出结果:

{
  "RequestId": "B0A0C363-514E-5A93-BB26-2DB3C2E97BE7",
  "InstanceSpecs": [
    {
      "ConnLimit": 100000,
      "PortLimit": 50,
      "InstanceId": "ddoscoo-cn-nwy3c8k6****",
      "DomainLimit": 50,
      "SiteLimit": 5,
      "RealLimitBw": 0,
      "ElasticQps": 0,
      "QpsLimit": 3000,
      "CpsLimit": 5000,
      "BaseBandwidth": 30,
      "ElasticBw": 0,
      "ElasticQpsMode": "month",
      "FunctionVersion": "enhance",
      "ElasticBwModel": "month",
      "ElasticBandwidth": 30,
      "BandwidthMbps": 100
    }
  ]
}