前提条件
创建并获取云 API 密钥信息 accessKeyId 和 accessKey,密钥信息获取请前往 API 密钥管理。
请确保密钥关联的账号具有相应的 SDK 上传日志权限。
准备开发环境
请先安装 PHP,详情请参见 PHP 官网。
日志服务 PHP SDK 支持 PHP 5.6.0及以上版本。您可以执行如下命令检查您已安装的 PHP 版本。
php -v
执行如下命令安装环境依赖:
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
安装 PHP SDK
使用 Composer 安装腾讯云 CLS 的 PHP SDK。
composer require tencentcloud/tencentcloud-cls-sdk-php
请求参数
变量 | 类型 | 是否必填 | 说明 |
endpoint | String | 是 | |
accessKeyId | String | 是 | |
accessKey | String | 是 | |
topicId | String | 是 | 日志主题的 ID 信息。 |
token | String | 否 |
日志上传示例代码
以 PHP SDK 为例,展示通过调用 SDK 完成日志上传的操作,示例代码如下所示。
<?phprequire_once __DIR__ . '/vendor/autoload.php'; // 引入 Composer 自动加载器use TencentCloud\\Cls\\Models\\Request\\PutLogsRequest;use TencentCloud\\Cls\\Models\\LogItem;use TencentCloud\\Cls\\Client;use TencentCloud\\Cls\\TencentCloudLogException;function putLogs($client, $topicId) {$contents = array(//设置日志的 key 和 value 内容,前面是 key,后面是 value'TestKey' => 'TestContent','test2' => 'helloworld');$logItem = new LogItem();$logItem->setTime(time()); // 设置日志时间$logItem->setContents($contents); // 设置日志内容$logItems = array($logItem); // 创建日志项数组$request = new PutLogsRequest($topicId, null, $logItems); // 创建请求try {$response = $client->putLogs($request); // 发送请求var_dump($response->getRequestId()); // 输出请求 ID} catch (TencentCloudLogException $ex) {var_dump($ex); // 捕获并输出腾讯云日志异常} catch (Exception $ex) {var_dump($ex); // 捕获并输出其他异常}}// 填入域名信息,请参见链接中 API 上传日志 Tab 中的域名:https://cloud.tencent.com/document/product/614/18940#.E5.9F.9F.E5.90.8D$endpoint = 'ap-xxxxxxxx.cls.tencentcs.com';// 填入云 API 密钥信息。密钥信息获取请前往:https://console.cloud.tencent.com/cam/capi// 并请确保密钥关联的账号具有相应的日志上传权限,权限配置指引:https://cloud.tencent.com/document/product/614/68374#.E4.BD.BF.E7.94.A8-api-.E4.B8.8A.E4.BC.A0.E6.95.B0.E6.8D.AE// 本示例从环境变量中获取,环境变量配置指引:https://cloud.tencent.com/document/product/614/113851$accessKeyId = getenv('TENCENTCLOUD_SECRET_ID');$accessKey = getenv('TENCENTCLOUD_SECRET_KEY');// 设置要上传日志的主题 ID,替换为您的 Topic ID$topicId = 'YOUR_TOPIC_ID';// 临时密钥的 token,如需使用临时密钥可填入。临时密钥配置指引:https://cloud.tencent.com/document/product/614/87777$token = "";// 创建客户端$client = new Client($endpoint, $accessKeyId, $accessKey, $token);// 调用函数发送日志putLogs($client, $topicId);
结语