文档

Python SDK调用示例

更新时间:

本文以Python SDK为例,为您介绍如何通过OpenAPI调用ListDiscovereesources接口查询配置审计资源列表。

步骤一:查看OpenAPI文档

通过阅读API概览得知,查询配置审计资源列表的OpenAPI为ListDiscovereesources。请您根据文档,了解调用该接口需要准备的数据和权限。

步骤二:创建RAM用户并完成授权

身份

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

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

凭证

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

重要

RAM用户的AccessKey Secret只在创建时显示,不支持查看,请注意保存。

授权

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

  2. 选择权限区块中输入关键字config进行搜索,根据最小授权原则,选择对应的权限策略。

    本文示例选择AliyunConfigReadOnlyAccess系统策略。

    说明
    • 配置审计的系统权限策略如下:

      • AliyunConfigFullAccess:管理配置审计(Config)的权限。

      • AliyunConfigReadOnlyAccess:只读访问配置审计(Config)的权限。

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

  3. 单击确认新增授权,完成授权操作。

步骤三:调用OpenAPI

本文以Python SDK调用OpenAPI,其他语言SDK的用法类似。更多信息,请参见配置审计SDK。您也可根据业务的实际需要选择其他调用方式,更多调用方法,请参见OpenAPI 调用方式

准备Python环境

  1. 下载并安装Python。

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

  2. 查看Python版本。

    • Linux和macOS系统

      打开终端,输入python --version

    • Windows系统

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

      • 打开命令提示符页面。

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

配置环境变量

在Linux、macOS和Windows操作系统下配置环境变量的方法,请参见在Linux、macOS和Windows系统配置环境变量

安装依赖

pip install alibabacloud_credentials
pip install alibabacloud_config20200907==2.2.8
pip install alibabacloud_tea_console

下载示例代码

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

  2. 请求参数MaxResults输入1,其他参数均可不填写,直接单击发起调用

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

    获取Python语言的SDK示例。

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

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

运行代码

执行以下命令:

python sample.py

得到如下输出结果:

{
  "DiscoveredResourceProfiles": {
    "TotalCount": 74,
    "NextToken": "h+AaTI5d1xePwRFi+1uN****",
    "MaxResults": 1,
    "DiscoveredResourceProfileList": [
      {
        "ResourceCreationTime": 1688983108000,
        "AccountId": "169827232854****",
        "ResourceId": "actiontrail-policy",
        "Version": 3,
        "ResourceName": "actiontrail-policy",
        "Region": "global",
        "ResourceStatus": "",
        "AvailabilityZone": "",
        "ResourceType": "ACS::RAM::Policy",
        "Tags": "{}",
        "ResourceDeleted": 1
      }
    ]
  },
  "RequestId": "B9A68D93-5FE4-5257-A2B9-6383945A8575"
}