Python SDK调用示例

本文介绍如何使用阿里云日志服务Python SDK开发包,调用日志服务ListProject接口查询Project信息。

查看OpenAPI文档

在调用OpenAPI前,建议您先阅读对应接口文档,了解、学习调用该接口所需要的参数及权限等。更多信息,请参见API概览

创建RAM用户并完成授权

说明

阿里云账号(主账号)的AccessKey拥有所有API的访问权限,建议您创建RAM用户并按需为其分配最小权限。避免使用阿里云账号(主账号)密码或访问密钥(AccessKey),从而降低企业的安全风险。

  1. 使用阿里云账号(主账号)或RAM管理员登录RAM控制台

  2. 创建RAM用户。

    1. 在左侧导航栏,选择身份管理 > 用户

    2. 用户页面,单击创建用户

    3. 创建用户页面,设置登录名称显示名称均为openapi-operator访问方式选择OpenAPI调用访问

    4. 单击确定

    重要
    • 创建RAM用户成功后,系统将自动为该RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

    • 请保存好AccessKey ID和AccessKey Secret,您在调用OpenAPI时,需要使用RAM用户的AccessKey ID和AccessKey Secret。

  3. 为RAM用户授权。

    说明

    创建RAM用户后,该RAM用户无任何权限,建议您遵循最小化原则,按需授予RAM用户必要的权限。本示例以授予RAM用户AliyunLogReadOnlyAccess权限为例,为您说明具体授权步骤。

    1. 用户页面,单击目标RAM用户(openapi-operator操作列的添加权限

    2. 新增授权页面,选中AliyunLogReadOnlyAccess,然后单击确认新增授权

    3. 确认授权结果,单击关闭

    权限策略说明:

    策略名称

    说明

    AliyunLogFullAccess

    管理日志服务(Log)的权限

    AliyunLogReadOnlyAccess

    只读访问日志服务(Log)的权限

    自定义策略

    当系统策略无法满足您的需求,您可以通过创建自定义策略实现精细化权限管理。

    具体操作,请参见创建自定义权限策略

    权限策略示例请参见RAM自定义授权示例日志服务RAM授权策略

调用OpenAPI

本文介绍阿里云Python SDK方式调用OpenAPI,其他语言SDK的用法也类似。更多信息,请参见日志服务SDK

准备Python环境

安装Python。更多信息,请参见Python官网

说明

日志服务Python SDK支持Python3及以上版本。

您可以执行python -V命令查看您已安装的Python版本。

配置环境变量

为避免将AccessKey硬编码到业务代码中,带来安全风险,推荐使用环境变量方式管理AccessKey。

  • Linux系统、macOS系统

    将以下命令中的<access_key_id><access_key_secret>替换为已准备好的RAM用户的AccessKey ID和AccessKey Secret,然后在终端执行如下命令。

    export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id>
    export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统

    新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的RAM用户的AccessKey ID和AccessKey Secret,然后重启Windows系统。

下载示例代码

  1. 访问ListProject

  2. 在左侧的参数配置页签,填写需要的参数信息,例如输入待查询的projectName。

  3. 在右侧的SDK示例页签,选择Python语言,单击下载完整工程,下载示例代码包。

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

安装依赖

说明

下载示例代码后,您可以查看README.md文件查看SDK版本、依赖项等信息。

pip install alibabacloud-sls20201230

运行代码

运行sample.py文件,返回示例如下:

[LOG]
{
  "headers": {
    "server": "AliyunSLS",
    "content-type": "application/json",
    "content-length": "230",
    "connection": "keep-alive",
    "access-control-allow-origin": "*",
    "date": "Tue, 25 Jul 2023 10:08:25 GMT",
    "x-log-time": "1690279705",
    "x-log-requestid": "64BF9F199ED2B749708E5445"
  },
  "statusCode": 200,
  "body": {
    "count": 1,
    "projects": [
      {
        "createTime": "1656666120",
        "description": "",
        "lastModifyTime": "1665978308",
        "owner": "",
        "projectName": "re****-nginx",
        "region": "cn-hangzhou",
        "resourceGroupId": "rg-a****a",
        "status": "Normal"
      }
    ],
    "total": 1
  }
}