solution/solution-ecs-sts-token/code-example/php/sls_sdk/credentials_default_sample.php (52 lines of code) (raw):

<?php require 'vendor/autoload.php'; use AlibabaCloud\Credentials\Credential; echo "Hello, World!"; class CredentialsAdapter implements Aliyun_Log_Models_CredentialsProvider { /** * @var Credential */ private $_credentials; public function __construct(Credential $credentials) { $this->_credentials = $credentials; } public function getCredentials(): Aliyun_Log_Models_Credentials { return new Aliyun_Log_Models_Credentials( $this->_credentials->getAccessKeyId(), $this->_credentials->getAccessKeySecret(), $this->_credentials->getSecurityToken() ); } }; # 设置参数 $endpoint = 'cn-hangzhou.log.aliyuncs.com'; $project = 'your-project'; $logstore = 'your-logstore'; $credentials = new Credential([ 'type' => 'ecs_ram_role', 'role_name' => 'ecs-ak-role', ]); # 构造 client $credentialsProvider = new CredentialsAdapter($credentials); $client = new Aliyun_Log_Client($endpoint, "", "", "", $credentialsProvider); # 发请求 $req = new Aliyun_Log_Models_GetLogsRequest($project, $logstore, 1698740109, 1698744321, '', '*', null, null, null, null); function putLogs(Aliyun_Log_Client $client, $project, $logstore) { $topic = 'TestTopic'; $contents = array( 'TestKey'=>'TestContent', 'kv_json'=>'{"a": "b", "c": 19021}' ); $logItem = new Aliyun_Log_Models_LogItem(); $logItem->setTime(time()); $logItem->setContents($contents); $logitems = array($logItem); $request = new Aliyun_Log_Models_PutLogsRequest($project, $logstore, $topic, null, $logitems); try { $response = $client->putLogs($request); } catch (Aliyun_Log_Exception $ex) { var_dump($ex); } catch (Exception $ex) { var_dump($ex); } } putLogs($client, $project, $logstore); var_dump($client->getLogs($req)->getLogs());