aliyun-sls-skills
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese能力概述
能力概述
目录结构
目录结构
aliyun-sls-skills/
├── SKILL.md
├── .env.example
├── reference/ # API 定义(YML),含入参与返回值
│ ├── list_project.yml
│ ├── list_logstores.yml
│ └── get_log_v2.yml
└── scripts/
├── sls_util.py # 凭证与 Client 构造(供脚本复用)
├── list_project.py
├── list_logstores.py
├── get_logs_v2.py
└── requirements.txt- reference/:存放 API 相关信息(YML 片段),供查阅参数与响应含义。
- scripts/:可直接运行的示例(例如在 目录下执行
aliyun-sls-skills);也可阅读实现后改写。python scripts/list_logstores.py ... - 依赖:。
pip install -r aliyun-sls-skills/scripts/requirements.txt
本 skill 提供以下独立能力,可按需组合:
| 能力 | API | 用途 | 使用场景 |
|---|---|---|---|
| 列出 Project | ListProject | 列出账号下 SLS Project | 确认 project 名称、分页浏览 |
| 列出日志库 | ListLogStores | 列出 Project 下 LogStore | 确认 logstore 名称、分页浏览 |
| 查询日志 | GetLogsV2 | 按时间范围与查询语句拉取日志 | 检索错误日志、SQL 分析、scan 模式 |
说明:
- 若用户不确定 名称,可先 ListProject 查看账号下所有项目。
project - 若用户不确定 名称,可先 ListLogStores 再 GetLogsV2。
logstore - GetLogsV2 时间区间为左闭右开 ,且须满足
[from, to)。from < to - Python SDK 中请求参数字段名以 为准(例如
alibabacloud_sls20201230.models使用GetLogsV2Request、from_,而非to/from_time)。to_time
aliyun-sls-skills/
├── SKILL.md
├── .env.example
├── reference/ # API 定义(YML),含入参与返回值
│ ├── list_project.yml
│ ├── list_logstores.yml
│ └── get_log_v2.yml
└── scripts/
├── sls_util.py # 凭证与 Client 构造(供脚本复用)
├── list_project.py
├── list_logstores.py
├── get_logs_v2.py
└── requirements.txt- reference/:存放 API 相关信息(YML 片段),供查阅参数与响应含义。
- scripts/:可直接运行的示例(例如在 目录下执行
aliyun-sls-skills);也可阅读实现后改写。python scripts/list_logstores.py ... - 依赖:。
pip install -r aliyun-sls-skills/scripts/requirements.txt
本 skill 提供以下独立能力,可按需组合:
| 能力 | API | 用途 | 使用场景 |
|---|---|---|---|
| 列出 Project | ListProject | 列出账号下 SLS Project | 确认 project 名称、分页浏览 |
| 列出日志库 | ListLogStores | 列出 Project 下 LogStore | 确认 logstore 名称、分页浏览 |
| 查询日志 | GetLogsV2 | 按时间范围与查询语句拉取日志 | 检索错误日志、SQL 分析、scan 模式 |
说明:
- 若用户不确定 名称,可先 ListProject 查看账号下所有项目。
project - 若用户不确定 名称,可先 ListLogStores 再 GetLogsV2。
logstore - GetLogsV2 时间区间为左闭右开 ,且须满足
[from, to)。from < to - Python SDK 中请求参数字段名以 为准(例如
alibabacloud_sls20201230.models使用GetLogsV2Request、from_,而非to/from_time)。to_time
项目配置文件(.aliyun-config.json
)
.aliyun-config.json项目配置文件(.aliyun-config.json
)
.aliyun-config.json将 SLS 相关的上下文信息保存到当前工作目录下的 ,便于后续操作复用已确认的 region、project、logstore 等配置,避免重复询问。
.aliyun-config.json将 SLS 相关的上下文信息保存到当前工作目录下的 ,便于后续操作复用已确认的 region、project、logstore 等配置,避免重复询问。
.aliyun-config.json建议字段
建议字段
json
{
"version": 1,
"sls": {
"region": "cn-hangzhou",
"project": "your-project",
"logstore": "your-logstore",
"last_query_at": "2026-04-01T12:00:00Z"
},
"notes": "可选备注"
}| 字段 | 说明 |
|---|---|
| 配置文件版本号 |
| SLS 所在地域(如 |
| Project 名称 |
| 默认 LogStore 名称(可选) |
| 上次查询时间(ISO 8601 格式) |
json
{
"version": 1,
"sls": {
"region": "cn-hangzhou",
"project": "your-project",
"logstore": "your-logstore",
"last_query_at": "2026-04-01T12:00:00Z"
},
"notes": "可选备注"
}| 字段 | 说明 |
|---|---|
| 配置文件版本号 |
| SLS 所在地域(如 |
| Project 名称 |
| 默认 LogStore 名称(可选) |
| 上次查询时间(ISO 8601 格式) |
读取规则
读取规则
执行 SLS 操作前,先检查当前工作目录是否存在 :
.aliyun-config.jsonpython
import json
import os
config_path = os.path.join(os.getcwd(), ".aliyun-config.json")
sls_config = {}
if os.path.exists(config_path):
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
sls_config = config.get("sls", {})
region = sls_config.get("region")
project = sls_config.get("project")
logstore = sls_config.get("logstore")配置复用逻辑:
- 若 中已存在完整的
.aliyun-config.json、sls.region(以及按需的sls.project),且与用户本次意图一致,可 直接复用 而无需再次询问。sls.logstore - 若用户明确要求变更 region、project 或 logstore,须 重新确认 并更新配置。
- 若配置文件不存在或字段缺失,需先通过 ListProject / ListLogStores 等 API 查询后,由用户选择或确认 再写入。
执行 SLS 操作前,先检查当前工作目录是否存在 :
.aliyun-config.jsonpython
import json
import os
config_path = os.path.join(os.getcwd(), ".aliyun-config.json")
sls_config = {}
if os.path.exists(config_path):
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
sls_config = config.get("sls", {})
region = sls_config.get("region")
project = sls_config.get("project")
logstore = sls_config.get("logstore")配置复用逻辑:
- 若 中已存在完整的
.aliyun-config.json、sls.region(以及按需的sls.project),且与用户本次意图一致,可 直接复用 而无需再次询问。sls.logstore - 若用户明确要求变更 region、project 或 logstore,须 重新确认 并更新配置。
- 若配置文件不存在或字段缺失,需先通过 ListProject / ListLogStores 等 API 查询后,由用户选择或确认 再写入。
写入规则
写入规则
在以下时机更新 :
.aliyun-config.json- 用户首次确认 region、project、logstore 后:写入完整配置。
- 每次成功执行查询后:更新 。
sls.last_query_at - 用户变更目标资源时:覆盖对应字段。
python
import json
import os
from datetime import datetime, timezone
config_path = os.path.join(os.getcwd(), ".aliyun-config.json")在以下时机更新 :
.aliyun-config.json- 用户首次确认 region、project、logstore 后:写入完整配置。
- 每次成功执行查询后:更新 。
sls.last_query_at - 用户变更目标资源时:覆盖对应字段。
python
import json
import os
from datetime import datetime, timezone
config_path = os.path.join(os.getcwd(), ".aliyun-config.json")读取现有配置(若存在)
读取现有配置(若存在)
config = {}
if os.path.exists(config_path):
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
config = {}
if os.path.exists(config_path):
with open(config_path, "r", encoding="utf-8") as f:
config = json.load(f)
更新 sls 部分
更新 sls 部分
config["version"] = config.get("version", 1)
config["sls"] = {
"region": "cn-hangzhou",
"project": "your-project",
"logstore": "your-logstore",
"last_query_at": datetime.now(timezone.utc).isoformat()
}
config["version"] = config.get("version", 1)
config["sls"] = {
"region": "cn-hangzhou",
"project": "your-project",
"logstore": "your-logstore",
"last_query_at": datetime.now(timezone.utc).isoformat()
}
写入
写入
with open(config_path, "w", encoding="utf-8") as f:
json.dump(config, f, indent=2, ensure_ascii=False)
undefinedwith open(config_path, "w", encoding="utf-8") as f:
json.dump(config, f, indent=2, ensure_ascii=False)
undefined与其他 skill 共享
与其他 skill 共享
.aliyun-config.jsonosscdndomainslsjson
{
"version": 1,
"sls": { "region": "cn-hangzhou", "project": "..." },
"oss": { "bucket": "...", "region": "..." },
"cdn": { "domain": "..." }
}.aliyun-config.jsonosscdndomainslsjson
{
"version": 1,
"sls": { "region": "cn-hangzhou", "project": "..." },
"oss": { "bucket": "...", "region": "..." },
"cdn": { "domain": "..." }
}安全提示
安全提示
- 勿在配置文件中存储 AK/SK 等敏感凭证;凭证应通过环境变量或 管理。
.env - 是否将 提交到版本库,由团队规范决定(建议加入
.aliyun-config.json)。.gitignore
- 勿在配置文件中存储 AK/SK 等敏感凭证;凭证应通过环境变量或 管理。
.env - 是否将 提交到版本库,由团队规范决定(建议加入
.aliyun-config.json)。.gitignore
前置检查(必须首先执行)
前置检查(必须首先执行)
调用 SLS 前须确认访问凭证已配置。
调用 SLS 前须确认访问凭证已配置。
检查顺序
检查顺序
1. 环境变量
bash
echo "AK_ID: ${ALIBABA_CLOUD_ACCESS_KEY_ID:+已设置}"
echo "AK_SECRET: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:+已设置}"2. 当前目录
.envbash
find . -maxdepth 1 -name ".env" -exec cat {} \;示例见 .env.example。
3. Python 中加载(与 scripts 行为一致)
python
from dotenv import load_dotenv
import os
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
load_dotenv()
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
raise RuntimeError("缺少 ALIBABA_CLOUD_ACCESS_KEY_ID / ALIBABA_CLOUD_ACCESS_KEY_SECRET")未通过凭证检查时不应继续调用 API。
1. 环境变量
bash
echo "AK_ID: ${ALIBABA_CLOUD_ACCESS_KEY_ID:+已设置}"
echo "AK_SECRET: ${ALIBABA_CLOUD_ACCESS_KEY_SECRET:+已设置}"2. 当前目录
.envbash
find . -maxdepth 1 -name ".env" -exec cat {} \;示例见 .env.example。
3. Python 中加载(与 scripts 行为一致)
python
from dotenv import load_dotenv
import os
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
load_dotenv()
access_key_id = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_ID", "").strip()
access_key_secret = os.environ.get("ALIBABA_CLOUD_ACCESS_KEY_SECRET", "").strip()
if not access_key_id or not access_key_secret:
raise RuntimeError("缺少 ALIBABA_CLOUD_ACCESS_KEY_ID / ALIBABA_CLOUD_ACCESS_KEY_SECRET")未通过凭证检查时不应继续调用 API。
安装依赖
安装依赖
bash
pip install -r aliyun-sls-skills/scripts/requirements.txt或手动安装(与仓库其他 Tea SDK skill 一致):
bash
pip install alibabacloud_sls20201230 alibabacloud_credentials alibabacloud_tea_openapi alibabacloud_tea_util python-dotenvbash
pip install -r aliyun-sls-skills/scripts/requirements.txt或手动安装(与仓库其他 Tea SDK skill 一致):
bash
pip install alibabacloud_sls20201230 alibabacloud_credentials alibabacloud_tea_openapi alibabacloud_tea_util python-dotenv创建 SLS Client
创建 SLS Client
endpoint{region}.log.aliyuncs.comcreate_sls_client(region)若需无 AK 链(ECS 角色、OIDC 等),可在自定义代码中改用 传入 ,并仍设置 。
CredentialClient()open_api_models.Config(credential=credential)endpointpython
from alibabacloud_sls20201230.client import Client as Sls20201230Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
credential = CredentialClient()
config = open_api_models.Config(credential=credential)
config.endpoint = f"{region}.log.aliyuncs.com"
client = Sls20201230Client(config)endpoint{region}.log.aliyuncs.comcreate_sls_client(region)若需无 AK 链(ECS 角色、OIDC 等),可在自定义代码中改用 传入 ,并仍设置 。
CredentialClient()open_api_models.Config(credential=credential)endpointpython
from alibabacloud_sls20201230.client import Client as Sls20201230Client
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
credential = CredentialClient()
config = open_api_models.Config(credential=credential)
config.endpoint = f"{region}.log.aliyuncs.com"
client = Sls20201230Client(config)ListProject
ListProject
列出当前账号下符合条件的 Project 信息。完整字段见 reference/list_project.yml。
列出当前账号下符合条件的 Project 信息。完整字段见 reference/list_project.yml。
常用参数(摘要)
常用参数(摘要)
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| projectName | | Project 名称,支持模糊匹配 |
| offset | | 查询开始行,默认 0 |
| size | | 每页行数,默认 500,最大 500 |
| resourceGroupId | | 资源组 ID |
| fetchQuota | | 是否获取 Project 配额信息 |
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| projectName | | Project 名称,支持模糊匹配 |
| offset | | 查询开始行,默认 0 |
| size | | 每页行数,默认 500,最大 500 |
| resourceGroupId | | 资源组 ID |
| fetchQuota | | 是否获取 Project 配额信息 |
核心流程
核心流程
- 创建 SLS Client(使用凭据链或显式 AK/SK)
create_client() - 构建
ListProjectRequest client.list_project_with_options(request, headers, runtime)- 使用 得到字典
resp.body.to_map()
示例脚本:scripts/list_project.py
- 创建 SLS Client(使用凭据链或显式 AK/SK)
create_client() - 构建
ListProjectRequest client.list_project_with_options(request, headers, runtime)- 使用 得到字典
resp.body.to_map()
示例脚本:scripts/list_project.py
命令行示例
命令行示例
bash
cd aliyun-sls-skills
python scripts/list_project.pybash
cd aliyun-sls-skills
python scripts/list_project.py代码示例
代码示例
python
from alibabacloud_sls20201230.client import Client as Sls20201230Client
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util import models as util_models
import json
credential = CredentialClient()
config = open_api_models.Config(credential=credential)
config.endpoint = "cn-hangzhou.log.aliyuncs.com"
client = Sls20201230Client(config)
request = sls_models.ListProjectRequest(project_name="test", size=10)
runtime = util_models.RuntimeOptions()
resp = client.list_project_with_options(request, {}, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))响应(body,常见字段):、、 等,以实际返回为准。
totalcountprojectspython
from alibabacloud_sls20201230.client import Client as Sls20201230Client
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_credentials.client import Client as CredentialClient
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_tea_util import models as util_models
import json
credential = CredentialClient()
config = open_api_models.Config(credential=credential)
config.endpoint = "cn-hangzhou.log.aliyuncs.com"
client = Sls20201230Client(config)
request = sls_models.ListProjectRequest(project_name="test", size=10)
runtime = util_models.RuntimeOptions()
resp = client.list_project_with_options(request, {}, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))响应(body,常见字段):、、 等,以实际返回为准。
totalcountprojectsListLogStores
ListLogStores
列出指定 project 下的 LogStore。完整字段见 reference/list_logstores.yml。
列出指定 project 下的 LogStore。完整字段见 reference/list_logstores.yml。
常用参数(摘要)
常用参数(摘要)
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| project | 方法参数 | 必填 |
| logstoreName | | 模糊匹配过滤 |
| offset / size | | 分页,size 最大 500,默认 200 |
| telemetryType | | 日志 / Metrics |
| mode | | |
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| project | 方法参数 | 必填 |
| logstoreName | | 模糊匹配过滤 |
| offset / size | | 分页,size 最大 500,默认 200 |
| telemetryType | | 日志 / Metrics |
| mode | | |
核心流程
核心流程
create_sls_client(region)- 构建
ListLogStoresRequest client.list_log_stores_with_options(project, request, {}, runtime)- 使用 得到字典
resp.body.to_map()
示例脚本:scripts/list_logstores.py
create_sls_client(region)- 构建
ListLogStoresRequest client.list_log_stores_with_options(project, request, {}, runtime)- 使用 得到字典
resp.body.to_map()
示例脚本:scripts/list_logstores.py
命令行示例
命令行示例
bash
cd aliyun-sls-skills
python scripts/list_logstores.py --region cn-hangzhou --project your-project
python scripts/list_logstores.py --region cn-hangzhou --project your-project --logstore-name appbash
cd aliyun-sls-skills
python scripts/list_logstores.py --region cn-hangzhou --project your-project
python scripts/list_logstores.py --region cn-hangzhou --project your-project --logstore-name app代码示例
代码示例
python
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_tea_util import models as util_models
import json
from sls_util import create_sls_client
client = create_sls_client("cn-hangzhou")
request = sls_models.ListLogStoresRequest(logstore_name="error")
runtime = util_models.RuntimeOptions()
resp = client.list_log_stores_with_options("your-project", request, {}, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))响应(body,常见字段):、、 等,以实际返回为准。
totalcountlogstorespython
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_tea_util import models as util_models
import json
from sls_util import create_sls_client
client = create_sls_client("cn-hangzhou")
request = sls_models.ListLogStoresRequest(logstore_name="error")
runtime = util_models.RuntimeOptions()
resp = client.list_log_stores_with_options("your-project", request, {}, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))响应(body,常见字段):、、 等,以实际返回为准。
totalcountlogstoresGetLogsV2
GetLogsV2
在指定 project、logstore 上按时间范围查询。完整说明见 reference/get_log_v2.yml。
在指定 project、logstore 上按时间范围查询。完整说明见 reference/get_log_v2.yml。
常用参数(摘要)
常用参数(摘要)
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| from(Unix 秒) | | 区间左端(含) |
| to(Unix 秒) | | 区间右端(不含) |
| query | | 搜索或 SQL 分析语句 |
| line / offset | | 搜索语句下的分页,line 最大 100 |
| reverse | | 是否按时间逆序(搜索语句时) |
| topic | | 主题 |
| powerSql | | SQL 增强 |
| session | | 如 |
| Accept-Encoding | | 如 |
若为分析语句,query/line往往不生效,请用 SQLoffset等分页(见官方文档)。LIMIT
| 概念 | SDK 字段 | 说明 |
|---|---|---|
| from(Unix 秒) | | 区间左端(含) |
| to(Unix 秒) | | 区间右端(不含) |
| query | | 搜索或 SQL 分析语句 |
| line / offset | | 搜索语句下的分页,line 最大 100 |
| reverse | | 是否按时间逆序(搜索语句时) |
| topic | | 主题 |
| powerSql | | SQL 增强 |
| session | | 如 |
| Accept-Encoding | | 如 |
若为分析语句,query/line往往不生效,请用 SQLoffset等分页(见官方文档)。LIMIT
核心流程
核心流程
- 构建
GetLogsV2Request(from_=..., to=..., query=..., ...) - (或
headers = GetLogsV2Headers(accept_encoding="lz4"))gzip client.get_logs_v2with_options(project, logstore, request, headers, runtime)- — 通常含
resp.body.to_map()、metadata
示例脚本:scripts/get_logs_v2.py
- 构建
GetLogsV2Request(from_=..., to=..., query=..., ...) - (或
headers = GetLogsV2Headers(accept_encoding="lz4"))gzip client.get_logs_v2with_options(project, logstore, request, headers, runtime)- — 通常含
resp.body.to_map()、metadata
示例脚本:scripts/get_logs_v2.py
命令行示例
命令行示例
bash
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore --recent-minutes 15 --query "error"
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore \
--from-time 1700000000 --to-time 1700003600 --query '* | SELECT count(*) AS cnt'
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore \
--from-time 1700000000 --to-time 1700003600 --query '*' --session "mode=scan"bash
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore --recent-minutes 15 --query "error"
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore \
--from-time 1700000000 --to-time 1700003600 --query '* | SELECT count(*) AS cnt'
python scripts/get_logs_v2.py --region cn-hangzhou --project your-project --logstore your-logstore \
--from-time 1700000000 --to-time 1700003600 --query '*' --session "mode=scan"代码示例
代码示例
python
import time
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_tea_util import models as util_models
import json
from sls_util import create_sls_client
client = create_sls_client("cn-hangzhou")
now = int(time.time())
request = sls_models.GetLogsV2Request(
query="error",
from_=now - 900,
to=now,
line=100,
offset=0,
reverse=False,
)
headers = sls_models.GetLogsV2Headers(accept_encoding="lz4")
runtime = util_models.RuntimeOptions()
resp = client.get_logs_v2with_options("your-project", "your-logstore", request, headers, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))python
import time
from alibabacloud_sls20201230 import models as sls_models
from alibabacloud_tea_util import models as util_models
import json
from sls_util import create_sls_client
client = create_sls_client("cn-hangzhou")
now = int(time.time())
request = sls_models.GetLogsV2Request(
query="error",
from_=now - 900,
to=now,
line=100,
offset=0,
reverse=False,
)
headers = sls_models.GetLogsV2Headers(accept_encoding="lz4")
runtime = util_models.RuntimeOptions()
resp = client.get_logs_v2with_options("your-project", "your-logstore", request, headers, runtime)
print(json.dumps(resp.body.to_map(), default=str, indent=2, ensure_ascii=False))错误处理
错误处理
python
try:
resp = client.get_logs_v2with_options(project, logstore, request, headers, runtime)
except Exception as error:
print(getattr(error, "message", str(error)))
if hasattr(error, "data") and error.data:
print(error.data.get("Recommend", ""))脚本使用 scripts/sls_util.py 中的 做同类输出。
print_operation_error| 常见情况 | 说明 |
|---|---|
| 401/403 | AK/SK 或 RAM 权限不足 |
| ProjectNotExist | Project 名或 region 错误 |
| LogStoreNotExist | 先用 ListLogStores 核对名称 |
| ParameterInvalid | 时间区间、query 语法、offset 等参数不合法 |
python
try:
resp = client.get_logs_v2with_options(project, logstore, request, headers, runtime)
except Exception as error:
print(getattr(error, "message", str(error)))
if hasattr(error, "data") and error.data:
print(error.data.get("Recommend", ""))脚本使用 scripts/sls_util.py 中的 做同类输出。
print_operation_error| 常见情况 | 说明 |
|---|---|
| 401/403 | AK/SK 或 RAM 权限不足 |
| ProjectNotExist | Project 名或 region 错误 |
| LogStoreNotExist | 先用 ListLogStores 核对名称 |
| ParameterInvalid | 时间区间、query 语法、offset 等参数不合法 |
使用流程小结
使用流程小结
- 检查环境变量或 中的 AK/SK。
.env - 安装 。
scripts/requirements.txt - 检查 是否已有 SLS 配置(region、project、logstore),若存在且与意图一致可直接复用。
.aliyun-config.json - 若不确定 project 名称,先 ListProject 查看账号下项目。
- 确认 region、project;不确定 logstore 时先 ListLogStores。
- GetLogsV2 传入合法时间区间与 ,解析
query中body/meta。data - 操作成功后更新 ,保存本次使用的 region、project、logstore 等信息。
.aliyun-config.json
- 检查环境变量或 中的 AK/SK。
.env - 安装 。
scripts/requirements.txt - 检查 是否已有 SLS 配置(region、project、logstore),若存在且与意图一致可直接复用。
.aliyun-config.json - 若不确定 project 名称,先 ListProject 查看账号下项目。
- 确认 region、project;不确定 logstore 时先 ListLogStores。
- GetLogsV2 传入合法时间区间与 ,解析
query中body/meta。data - 操作成功后更新 ,保存本次使用的 region、project、logstore 等信息。
.aliyun-config.json