详情页标题前

阿里云日志服务SLSPutLogs-云淘科技

详情页1

调用PutLogs接口向指定的Logstore中写入日志数据

接口说明

  • 服务端会对每次PutLogs写入的日志数据做格式检查,只要日志数据中有任何一条日志不符合规范,则整个请求失败且无任何日志数据成功写入。
  • 目前仅支持写入PB格式的日志数据,日志数据以LogGroup的形式展示。
  • 日志数据写入时有两种模式:
    • 负载均衡模式(LoadBalance):自动根据Logstore下所有可写的Shard进行负载均衡写入。该方法写入可用性较高,适合不保证顺序的数据消费场景。
    • Key路由Shard模式(KeyHash):在URL参数中增加Key字段,用来判断数据写入哪个Shard中。该参数为可选参数,不设置时自动切换为负载均衡写入模式。例如,可以将某个生产者(例如instance)根据名称Hash固定到Shard上,这样就能保证写入与消费在该Shard上的数据是严格有序的(在合并、分裂过程中能够严格保证对于Key在一个时间点只会出现在一个Shard上,请参见分区(Shard))。
  • PutLogs接口每次可以写入的原始日志大小上限为10 MB,日志组中每条日志下的Value部分建议不超过1 MB。历史版本的SDK可能存在不同限制,建议升级到最新的版本解决。
  • 在SDK参考中,日志服务提供Java和Python SDK等PutLogs的使用示例。更多信息,请参见Java SDK快速入门和Python SDK快速入门等。

PB数据

PB格式日志压缩数据字段描述如下。详情请参见数据模型和数据编码方式。

  • Log
    参数名称 数据类型 是否必填 描述
    Time Integer 日志时间。Unix时间戳格式,表示从1970-1-1 00:00:00 UTC计算起的秒数。
    Contents List 日志字段列表,至少包含一个元素,每个元素类型请参见Content表格。
  • Content
    参数名称 数据类型 是否必填 描述
    Key String 自定义Key名称。
    Value String 自定义Key对应的值。
  • LogTag
    参数名称 数据类型 是否必填 描述
    Key String 自定义Key名称。
    Value String 自定义Key对应的值。
  • LogGroup
    参数名称 数据类型 是否必填 描述
    Logs List 日志列表,每个元素请参见Log字段表格。
    Topic String 日志主题,用户自定义字段,用于区分不同特征的日志数据。
    Source String 日志的来源。例如产生该日志的机器的IP地址。
    LogTags List 日志的标签列表,每个元素请参见LogTag。

请求语法

  • 负载均衡模式
    POST /logstores/logstoreName/shards/lb HTTP/1.1
    Authorization: LOG yourAccessKeyId:yourSignature
    Content-Type: application/x-protobuf
    Content-Length: Content Length
    Content-MD5: Content MD5
    Date: GMT Date
    Host: ProjectName.Endpoint
    x-log-apiversion: 0.6.0
    x-log-bodyrawsize: BodyRawSize
    x-log-compresstype: lz4
    x-log-signaturemethod: hmac-sha1
    
  • Key路由Shard模式
    POST /logstores/logstoreName/shards/route?key=14d2f850ad6ea48e46e4547edbbb27e0
    Authorization: LOG yourAccessKeyId:yourSignature
    Content-Type: application/x-protobuf
    Content-Length: Content Length
    Content-MD5: Content MD5
    Date: GMT Date
    Host: ProjectName.Endpoint
    x-log-apiversion: 0.6.0
    x-log-bodyrawsize: BodyRawSize
    x-log-compresstype: lz4
    x-log-signaturemethod: hmac-sha1
    

其中,Host由Project名称和日志服务Endpoint构成,您需要在Host中指定Project。

请求参数

  • 请求头

    关于Log Service API的公共请求头,请参见公共请求头。

  • 请求参数
    参数名称 数据类型 是否必填 示例值 描述
    projectName String ali-test-project Project名称。
    logstoreName String sample-logtail-config Logstore名称。

返回数据

  • 响应头

    PutLogs接口无特有响应头。关于Log Service API的公共响应头,请参见公共响应头。

  • 响应元素

    返回HTTP状态码200,则表示请求成功。该接口调用成功后无任何响应元素。

示例

  • 请求示例
    POST /logstores/sls-test-logstore/shards/lb
    {
        "Content-Length": 118,
        "Content-Type":"application/x-protobuf",
        "x-log-bodyrawsize":1356,
        "Host": "ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com",
        "Content-MD5":"6554BD042149C844761C2C094A8FECCE",
        "Date":"Thu, 12 Nov 2015 06:54:26 GMT",
        "x-log-apiversion": "0.6.0",
        "x-log-compresstype":"lz4"
        "x-log-signaturemethod": "hmac-sha1",
        "Authorization":"LOG yourAccessKeyId:yourSignature"
    }
    
  • 正常返回示例
    Header
    {   
        "Access-control-allow-origin" : "*", 
        "Date" : "Wed, 11 Nov 2015 08:28:20 GMT",
        "Server" : "Tengine",
        "Content-Length" : 0, 
        "x-log-requestid" : "5642FC2399248C8F7B0145FD",
        "Connection" : "close"
    }

错误码

HTTP状态码 错误码 错误消息 描述
400 PostBodyInvalid Protobuffer content cannot be parsed. Protobuffer内容不合法,无法解析。
400 InvalidTimestamp Invalid timestamps are in logs. 日志内容中有无效的日志时间戳。
400 InvalidEncoding Non-UTF8 characters are in logs. 日志内容中有非UTF8字符。
400 InvalidKey Invalid keys are in logs. 日志内容中有无效的Key。
400 PostBodyTooLarge Logs must be less than or equal to 3 MB and 4096 entries. 日志内容包含的日志必须小于3 MB和4096条。
400 PostBodyUncompressError Failed to decompress logs. 日志内容解压失败。具体操作,请参见SDK数据压缩原理。
400 PostBodyInvalid The post data time is out of range 日志中时间范围不在[-7*24小时 + 15分钟]有效范围内。
404 LogStoreNotExist logstore logstoreName does not exist. Logstore不存在。

更多错误码,请参见通用错误码。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/160317.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云日志服务SLS自助分析阿里云账单-云淘科技

    日志服务联合费用中心推出自助分析功能,一键开通后自动导入账单,并提供可视化的账单分析报表,帮助您提高账单分析的效率。 前提条件 已开通日志服务。 背景信息 阿里云资源具备随时可用、规模弹性、规格丰富的特征,保证您在任意时刻都有足够的资源。在您使用云资源的同时,成本是个不容忽视的问题。阿里云的计费方式有按量付费和包年包月。手工对账单进行统计分析不仅耗费时间和精…

    阿里云日志服务SLS 2023年12月10日
  • 阿里云大数据开发治理平台 DataWorks导入数据至电子表格-云淘科技

    创建完成电子表格后,您可以在电子表格中直接写入数据,也可以导入其它数据源或本地数据至电子表格中,为后续数据分析做准备。本文为您介绍如何导入数据至电子表格。 前提条件 已创建完成一个空白的电子表格,详情请参见创建电子表格。进入电子表格的编辑页面进入电子表格。在电子表格页签,单击全部电子表格下相应的文件名,进入电子表格的编辑页面。 导入本地数据在电子表格的编辑页…

    2023年12月10日
  • 阿里云RDS数据库UntagResources – 解绑标签-云淘科技

    该接口用于为指定的RDS实例解绑标签。 接口说明 适用引擎 RDS MySQL RDS PostgreSQL RDS SQL Server RDS MariaDB 注意事项 每次解绑的标签数量不能超过20个。 标签从一个实例解绑后,如果没有绑定到其它实例,则该标签自动被删除。 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困…

    阿里云数据库 2023年12月9日
  • 阿里云大数据开发治理平台 DataWorks删除或变更节点输出的影响-云淘科技

    本文为您介绍导致删除或变更节点输出的操作,以及删除或变更节点输出的影响与解决方案。 注意事项 若本节点存在下游依赖,删除本节点的节点输出: 当下游仅存在一个父节点依赖,可能会导致下游节点成为孤立节点不能正常调度。 当下游节点还未形成依赖,导致早于上游节点产出表数据,从而产生数据质量问题。 因此,存在输出变更的场景请评估影响并谨慎操作。 导致节点输出被删除或变…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云人工智能平台PAI文字检测识别组件-云淘科技

    文字检测识别组件基于PAI团队自研的OCR算法和阿里云大数据,能够对OCR模型进行离线推理。本文介绍文字检测识别组件的配置方法及使用示例。 前提条件 已开通OSS并完成授权,详情请参见开通OSS服务和为PAI-Studio授予OSS访问权限。 使用限制 仅PAI-Designer提供该算法组件。 算法简介 文字检测识别组件位于组件库音视觉算法文件夹下的离线模…

    2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。