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

通过 Java SDK 创建基础资源

最近更新时间2023.11.23 21:39:11

首次发布时间2023.11.23 21:39:11

日志服务基础资源包括日志项目、日志主题等,本文档通过示例代码演示如何通过 SDK 创建日志项目、日志主题并配置索引。

前提条件

  • 已安装日志服务 Java SDK。更多信息,请参见安装 Java SDK
  • 已添加 VOLCENGINE_ACCESS_KEY_ID 等环境变量。环境变量的配置方式请参考配置身份认证信息

    注意

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

创建基础资源

场景说明

本文档通过示例代码演示如何通过 SDK 在指定地域下创建日志项目、日志主题并配置索引。日志项目所在的地域与初始化 Client 时填写的地域一致。创建日志主题时,推荐开启自动分裂分区,在业务突发大流量的场景中避免数据读写速度受限于分区数量。本文以同时开启全文索引和键值索引为例,您可以根据日志字段及检索分析需求按需设置索引,关于设置索引的详细说明请参考配置索引

示例代码

创建日志项目、日志主题并配置索引的示例代码如下。

package com.volcengine.example.tls.demo;

import com.volcengine.model.tls.*;
import com.volcengine.model.tls.exception.LogException;
import com.volcengine.model.tls.request.*;
import com.volcengine.model.tls.response.*;
import com.volcengine.service.tls.TLSLogClient;

import java.util.ArrayList;
import java.util.List;


public class Demo {
    public static void main(String[] args) throws LogException {
        // 初始化客户端,推荐通过环境变量动态获取火山引擎密钥等身份认证信息,以免 AccessKey 硬编码引发数据安全风险。详细说明请参考https://www.volcengine.com/docs/6470/1166455
        // 使用 STS 时,ak 和 sk 均使用临时密钥,且设置 VOLCENGINE_TOKEN;不使用 STS 时,VOLCENGINE_TOKEN 部分传空
        ClientConfig clientConfig = new ClientConfig(System.getenv("VOLCENGINE_ENDPOINT"), System.getenv("VOLCENGINE_REGION"),
            System.getenv("VOLCENGINE_ACCESS_KEY_ID"), System.getenv("VOLCENGINE_ACCESS_KEY_SECRET"), System.getenv("VOLCENGINE_TOKEN"));
        TLSLogClient client = ClientBuilder.newClient(clientConfig);

        // 创建日志项目
        // 请根据您的需要,填写ProjectName和可选的Description;请您填写和初始化client时一致的Region;
        // CreateProject API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112174
        CreateProjectRequest createProjectRequest = new CreateProjectRequest("project-name", "region", "description");
        CreateProjectResponse createProjectResponse = client.createProject(createProjectRequest);
        String projectID = createProjectResponse.getProjectId();

        // 创建日志主题
        // 请根据您的需要,填写ProjectId、TopicName、Ttl、Description、ShardCount、AutoSplit、MaxSplitShard、EnableTracking等参数值
        // CreateTopic API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112180
        CreateTopicRequest createTopicRequest = new CreateTopicRequest();
        createTopicRequest.setProjectId(projectID);
        createTopicRequest.setTopicName("topic-name");
        createTopicRequest.setTtl(30);
        createTopicRequest.setDescription("description");
        createTopicRequest.setShardCount(2);
        createTopicRequest.setAutoSplit(true);
        createTopicRequest.setMaxSplitShard(10);
        createTopicRequest.setEnableTracking(true);
        CreateTopicResponse createTopicResponse = client.createTopic(createTopicRequest);
        String topicID = createTopicResponse.getTopicId();

        // 创建索引配置
        // 请根据您的需要,填写TopicId,开启FullText全文索引或KeyValue键值索引或同时开启二者
        // CreateIndex API的请求参数规范请参阅https://www.volcengine.com/docs/6470/112187
        FullTextInfo fullText = new FullTextInfo(false, ",-;", false);
        ValueInfo textValueInfo = new ValueInfo();
        textValueInfo.setValueType("text");
        textValueInfo.setDelimiter(",");
        textValueInfo.setCaseSensitive(false);
        textValueInfo.setIncludeChinese(false);
        textValueInfo.setSqlFlag(false);
        List<KeyValueInfo> keyValue = new ArrayList<>();
        keyValue.add(new KeyValueInfo("key1", textValueInfo));
        CreateIndexRequest createIndexRequest = new CreateIndexRequest(topicID, fullText, keyValue);
        CreateIndexResponse createIndexResponse = client.createIndex(createIndexRequest);
    }
}

相关文档

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

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

    API

    说明

    CreateProject

    调用 CreateProject 接口创建一个日志项目。

    CreateTopic

    调用 CreateTopic 接口创建日志主题。

    CreateIndex

    调用 CreateIndex 接口创建索引。

  • 关于日志服务基础资源管理的完整示例代码,请参考 TLS Java SDK Demo on GitHub