You need to enable JavaScript to run this app.
导航

Python

最近更新时间2024.01.23 16:21:50

首次发布时间2024.01.23 16:21:50

一、简介

火山引擎DataSail提供通用数据上报Python SDK,用户在开通DataSail服务之后,可以通过API将数据上报到火山云DataSail。

二、前置准备

服务开通

请确保您已开通了您需要访问的服务。您可前往火山引擎控制台开通全域数据集成服务,详见服务开通

获取安全凭证

Access Key(访问密钥)是访问火山引擎服务的安全凭证,包含Access Key ID(简称为AK)和Secret Access Key(简称为SK)两部分。您可登录火山引擎控制台,前往访问控制访问密钥 中创建及管理您的Access Key。更多信息可参考访问密钥帮助文档

产品接入

  1. 申请Topic

路径:数据采集-topic管理-新建Topic

  1. 申请数据采集

路径:数据采集-采集管理-新建采集任务

三、SDK接入

所需信息汇总

字段说明示例备注

AK

火山引擎Access Key

AKLTYzl******

SK

火山引擎Secret Key

TVdFMlp******

采集任务ID

DataSail申请的采集任务ID

hkktppvwtuv0xy000

获取路径:数据采集->采集管理->采集任务 ID 🔗

服务域名上报数据的域名datasail01-cn-beijing.volceapplog.com

服务域名

地域服务域名
华北2(北京)datasail01-cn-beijing.volceapplog.com

版本要求

Python 版本>=3.5

接入示例

  1. 将python包导入本地仓库

general\_collector\_python\_cloud-1.0.0-py3-none-any.whl
15.99KB
pip3 install general_collector_python_cloud-1.0.0-py3-none-any.whl
  1. 示例代码

from general_collector.exceptions import *
from general_collector.config import *
from general_collector.request import *
from general_collector.response import *
from general_collector.collector import *

if __name__ == '__main__':
    # 配置Config参数
    config = Config(os.getenv('AK'), os.getenv('SK'), os.getenv('ENDPOINT'), os.getenv('TASK_KEY'))
    # 创建Collector对象
    collector = GeneralCollector(config)

    # 上报任意类型的数据
    generalReq = GeneralDataRequest('test')
    try:
        resp = collector.collect_general_data(generalReq)
        print(resp)
    except general_collector.exceptions.CollectException as e:
        print(e)
    except Exception as e:
        print(e)

    # 通过JsonArray批量上报数据,需符合JsonArray的格式
    jsonReq = JsonArrayRequest("""["a","b","c"]""")
    try:
        resp = collector.collect_json_array(jsonReq)
        print(resp)
    except general_collector.exceptions.CollectException as e:
        print(e)
    except Exception as e:
        print(e)
        
    
    # Collector不再使用时关闭
    collector.close()
  1. 接口说明

通用数据上报

collect_general_data用于上报任意类型的数据,GeneralDataRequest中的data会原封不动地传至服务端,服务端收到数据后直接投递至task_key对应的topic。

// 上报通用数据(任意类型),请求失败时抛 CollectException
collect_general_data(req: GeneralDataRequest) -> GeneralDataResponse

Json数组上报

collectJsonArray通过Json数组上报批量数据,JsonArrayRequest中的data需要符合Json Array的格式;服务端收到数据后,会以Json Array进行解析,并遍历Json Array中的每一个Item,将抓包后的每一个Item投递至task_key对应的topic。

// 上报Json数组,请求失败时抛 CollectException
collect_json_array(req: JsonArrayRequest) -> JsonArrayResponse
  1. 异常说明

  • GeneralCollector初始化

    • 当Config配置错误时,会抛出异常 Exception
  • GeneralCollector方法调用

    • 对数据上报不符合预期的情况,会抛出异常CollectException,需要调用方关注

响应

参数名含义状态码

e

状态码

  • StatusOk = 0

  • StatusInvalidParam = -1

  • StatusInvalidEventFormat = -2

  • StatusParseArgError = -3

  • StatusNoSupportMethodError = -4

  • StatusTooManyElementError = -5

  • StatusTooManyEventError = -6

  • StatusGetAppidError = -7

  • StatusParseUserError = -8

  • StatusParseHeaderError = -9

  • StatusParseEventError = -10

  • StatusSaveEventError = -11

  • StatusEventEmptyError = -12

  • StatusUnknownError = -100

  • StatusIdentityMatchError = -101

  • StatusSignatureMatchError = -102

  • StatusNotSupportAppIdError = -103

  • StatusNotFoundRouteError = -104

m如失败,显示错误信息