就如同使用 API 和日志服务服务端交互一样,使用 SDK 也需要指定一些基本配置。目前,所有语言的 SDK 都定义了一个 Client 类作为入口类,这些基本配置信息在该入口类的构造时指定。

具体包括如下几项:

  • 服务入口(Endpoint):确认 Client 需要访问的服务入口。
  • 阿里云访问秘钥(AccessKeyId/AccessKeySecret):指定 Client 访问日志服务时使用的访问秘钥。

下面详细说明这两个配置的使用方式。

服务入口(Endpoint)

当使用 SDK 时,首先需要明确访问的日志服务 Project 所在 Region(如“华东 1 (杭州)”、“华北 1 (青岛)”等),然后选择与其匹配的日志服务入口初始化 Client。该服务入口与 API 中的 服务入口 定义一致。
  • 当选择 Client 的 Endpoint 时,必须要保证您需要访问的 Project 的 Region 和 Endpoint 对应的 Region 一致,否则 SDK 将无法访问您指定的 Project。
  • 由于 Client 实例只能在构造时指定该服务入口,如果需要访问不同 Region 里的 Project,则需要用不同的 Endpoint 构建不同的 Client 实例。
  • 目前,所有 API 的服务入口仅支持 HTTP 协议。
  • 如果在阿里云 ECS 虚拟机内使用 SDK,您还可以使用内网 Endpoint 避免公网带宽开销,具体请参考 服务入口

访问秘钥(AccessKey)

正如 访问秘钥 所述,所有和日志服务端交互的请求都必须经过安全验证,而访问秘钥就是用来对请求进行安全验证的关键因子,且以 AccessKeyId 和 AccessKeySecret 方式成对出现。在 Client 构造时需要指定两个参数(AccessKeyId,AccessKeySecret)即为该访问秘钥对。所以,在使用 SDK 前,请在阿里云控制台 秘钥管理页面 获取(或者创建)合适的秘钥对。
说明
  • 您的账号下可以拥有多组访问秘钥对,但在构造 Client 时指定的 AccessKeyId 和 AccessKeySecret 必须成对,否则无法通过服务端的安全验证。
  • 指定的访问秘钥对必须处于“启用”状态,否则会被服务端拒绝请求。同样,您也可以到云控制台查看访问秘钥的状态。

示例

如果您需要访问某个 Project,且当前已经拥有一对处于“启用”状态的访问秘钥对。如下:

AccessKeyId = "bq2sjzesjmo**************"
AccessKeySecret = "4fdO2fTDDnZPU/*************"

则可以如下实例化对应的 Client 实例:

Java:

String endpoint = "regionid.example.com";       //在实际使用中,请按照您实际的服务入口和接入方式编写。
String accessKeyId = "bq2sjzesjmo**************";        //用户访问秘钥对中的 AccessKeyId。
String accessKeySecret = "4fdO2fTDDnZPU/*************";//用户访问秘钥对中的 AccessKeySecret。
Client client = new Client(endpoint, accessKeyId, acccessKeySecret);
//use client to operate log service project......

.NET(C#):

String endpoint = "regionid.example.com";       // 在实际使用中,请按照您实际的服务入口和接入方式编写。
String accessKeyId = "bq2sjzesjmo**************";        //用户访问秘钥对中的 AccessKeyId。
String accessKeySecret = "4fdO2fTDDnZPU/*************";//用户访问秘钥对中的 AccessKeySecret。
SLSClient client = new SLSClient(endpoint, accessKeyId, accessKeySecret);
//use client to operate sls project......

PHP:

$endpoint = 'regionid.example.com'; //此处以hangzhou Region为例,在实际使用中,请按照您实际的服务入口和接入方式编写。
$accessKeyId = 'bq2sjzesjmo**************';  //用户访问秘钥对中的 AccessKeyId。
$accessKey = '4fdO2fTDDnZPU/*************';//用户访问秘钥对中的 AccessKeySecret。
$client = new Aliyun_Sls_Client($endpoint, $accessKeyId, $accessKey);
//use client to operate sls project......

Python:

# // 在实际使用中,请按照您实际的服务入口和接入方式编写。
endpoint = 'regionid.example.com'
# 用户访问秘钥对中的 AccessKeyId。
accessKeyId = 'bq2sjzesjmo*************'
# 用户访问秘钥对中的 AccessKeySecret。
accessKey = '4fdO2fTDDnZPU/*************'  
client = LogClient(endpoint, accessKeyId, accessKey)
#use client to operate log project......