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 static com.volcengine.model.tls.Const.LZ4;
public static void main(String[] args) throws LogException, InterruptedException {
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);
CreateProjectRequest createProjectRequest = new CreateProjectRequest("project-name", System.getenv("VOLCENGINE_REGION"), "description");
CreateProjectResponse createProjectResponse = client.createProject(createProjectRequest);
String projectID = createProjectResponse.getProjectId();
CreateTopicRequest createTopicRequest = new CreateTopicRequest();
createTopicRequest.setProjectId(projectID);
createTopicRequest.setTopicName("topic-name");
createTopicRequest.setTtl(30);
createTopicRequest.setDescription("description");
createTopicRequest.setShardCount(2);
CreateTopicResponse createTopicResponse = client.createTopic(createTopicRequest);
String topicID = createTopicResponse.getTopicId();
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("test-key", textValueInfo));
CreateIndexRequest createIndexRequest = new CreateIndexRequest(topicID, fullText, keyValue);
CreateIndexResponse createIndexResponse = client.createIndex(createIndexRequest);
List<LogItem> logs = new ArrayList<>();
for (int i = 0; i < 100; i++) {
LogItem item = new LogItem(System.currentTimeMillis());
item.addContent("index", String.valueOf(i));
item.addContent("test-key", "test-value");
PutLogsRequestV2 request = new PutLogsRequestV2(logs, topicID, null, LZ4, "log-path", "127.0.0.1");
PutLogsResponse putLogsResponse = client.putLogsV2(request);
SearchLogsRequest searchLogsRequest = new SearchLogsRequest();
searchLogsRequest.setTopicId("topicId");
searchLogsRequest.setQuery("*");
searchLogsRequest.setStartTime(1346457600);
searchLogsRequest.setEndTime(1630454400);
searchLogsRequest.setLimit(20);
SearchLogsResponseV2 searchLogsResponse = client.searchLogsV2(searchLogsRequest);
System.out.println(searchLogsResponse.getResultStatus());
System.out.println(searchLogsResponse.getCount());
System.out.println(searchLogsResponse.isAnalysis());