You need to enable JavaScript to run this app.
导航
通过 Go SDK 投递日志到 TOS
最近更新时间:2024.12.30 10:18:04首次发布时间:2024.12.30 10:18:04

日志服务支持通过 SDK 投递日志到 TOS。本文档通过示例代码演示如何通过 Go SDK 投递日志到 TOS。

前提条件

  • 已安装日志服务 Go SDK。更多信息,请参见安装 Go SDK

  • 已执行以下命令安装 proto 依赖包。

    go get -u github.com/gogo/protobuf/proto
    
  • 已添加 VOLCENGINE_ACCESS_KEY_ID 等环境变量。环境变量的配置方式请参考配置身份认证信息

    注意

    推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。

场景说明

本文档通过示例代码演示如何通过 GO SDK 在指定 Project 中创建投递日志到 TOS 的配置。相关的注意事项、费用说明,请参考概述

示例代码

package demo

import (
    "github.com/volcengine/volc-sdk-golang/service/tls"
    "os"
    "time"
)

func CreateShipperTosDemo() (*tls.CreateShipperResponse, error) {
    // 初始化客户端,推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。详细说明请参考https://www.volcengine.com/docs/6470/1166455。
    // 使用 STS 时,ak 和 sk 均使用临时密钥,且设置 VOLCENGINE_TOKEN;不使用 STS 时,VOLCENGINE_TOKEN 部分传空。
    client := tls.NewClient(os.Getenv("VOLCENGINE_ENDPOINT"), os.Getenv("VOLCENGINE_ACCESS_KEY_ID"), os.Getenv("VOLCENGINE_ACCESS_KEY_SECRET"), os.Getenv("VOLCENGINE_TOKEN"), os.Getenv("VOLCENGINE_REGION"))
    //创建数据投递配置。
    //CreateShipper API 的请求参数说明请参考https://www.volcengine.com/docs/6470/1333747。
    createShipperRes, err := client.CreateShipper(&tls.CreateShipperRequest{
       TopicId:          "c7****",
       ShipperName:      "tosship",
       ShipperType:      "tos",
       ShipperStartTime: int(time.Now().UnixMilli()),
       ShipperEndTime:   int(time.Now().UnixMilli()) + 3600*1000,
       TosShipperInfo: &tls.TosShipperInfo{
          Bucket:          "mytos",
          Prefix:          "testprefix",
          MaxSize:         10,
          Compress:        "none",
          Interval:        900,
          PartitionFormat: "%Y/%m/%d/%H",
       },
       ContentInfo: &tls.ContentInfo{
          Format: "json",
          JsonInfo: &tls.JsonInfo{
             Keys:   []string{"__content__", "__source__", "__path__"},
             Enable: true,
             Escape: true,
          },
       },
    })

    if err != nil {
       return nil, err
    }

    return createShipperRes, nil
}

相关文档

  • 通过 SDK 发送调用 API 的请求以后,您会收到服务端的响应,如果响应中包含 200 以外的状态码,表示接口调用失败。您可以参考各个 API 的文档查看对应的错误码信息。

  • 本示例中涉及到的 API 接口如下。您可以参考 API 文档查看对应接口的详细信息。

    API

    说明

    CreateShipper

    调用接口 CreateShipper 创建投递配置。

    DeleteShipper

    调用接口 DeleteShipper 删除指定的投递配置。

    ModifyShipper

    调用接口 ModifyShipper 修改指定的投递配置。

    DescribeShipper

    调用接口 DescribeShipper 获取投递配置的详细信息。

    DescribeShippers

    调用接口 DescribeShippers 获取投递配置列表。