一、临时密钥
·临时密钥(临时访问凭证)是通过 CAM 云 API 提供的接口,获取到权限受限的密钥。
·CLS API 可以使用临时密钥计算签名,用于发起 CLS API 请求。
·CLS API 请求使用临时密钥计算签名时,需要用到获取临时密钥接口返回信息中的三个字段,如下:
·secretId:临时证书密钥 ID
·secretKey:临时证书密钥 Key
·secretToken:临时证书密钥 Token
二、获取临时密钥
获取临时密钥,可以直接请求 STS 云 API 的方式获取。
三、使用临时密钥访问 CLS
以 CLS Java SDK 为例,使用临时密钥访问 CLS 示例如下:
注意:说明:
注意:运行如下示例前,请前往 Github 项目 获取 Java SDK 安装包。
package com.tencentcloudapi.cls;import com.tencentcloudapi.cls.producer.errors.ProducerException;import org.junit.Test;public class AsyncProducerClientTest { @Test public void testAsyncProducerClient() throws ProducerException, InterruptedException { String endpoint = "ap-guangzhou.cls.tencentcs.com"; // 临时密钥 secretId,必填 String secretId = ""; // 临时密钥 secretKey,必填 String secretKey = ""; // 临时密钥 secretToken,必填 String secretToken = ""; // 日志主题ID,必填 String topicId = ""; final AsyncProducerConfig config = new AsyncProducerConfig(endpoint, secretId, secretKey, NetworkUtils.getLocalMachineIP(), secretToken); // 构建一个客户端实例 final AsyncProducerClient client = new AsyncProducerClient(config); for (int i = 0; i < 10000; ++i) { List<LogItem> logItems = new ArrayList<>(); int ts = (int) (System.currentTimeMillis() / 1000); LogItem logItem = new LogItem(ts); logItem.PushBack(new LogContent("__CONTENT__", "你好,我来自深圳|hello world")); logItem.PushBack(new LogContent("city", "guangzhou")); logItem.PushBack(new LogContent("logNo", Integer.toString(i))); logItem.PushBack(new LogContent("__PKG_LOGID__", (String.valueOf(System.currentTimeMillis())))); logItems.add(logItem); client.putLogs(topicId, logItems, result -> System.out.println(result.toString())); } client.close(); }}