尽管不同语言的 SDK 实现有所不同,但其接口都遵循 Request-Response 原则,即对 API 的调用按照如下方式进行:
  1. 利用请求参数构建相应的 Request 实例。
  2. 调用 SDK 中的相应接口并传入上一步的 Request 实例。
  3. SDK 接口的返回结果以相应的 Response 实例返回给用户。

如下代码片段解释如何按照上面流程获取一个 Project 下的所有 Logstore 的名称。

Java

// 其他代码......
String accessId = "your_access_id";     //TODO:用您的真实阿里云 AccessKeyId 替代。
String accessKey = "your_access_key";   //TODO:用您的真实阿里云 AccessKeySecret 替代。
String project = "your_project";        //TODO: 用您的真实 project 名称替代。
String endpoint = "region_endpoint";//TODO: 此处以hangzhou Region为例,在实际使用中,请按照您实际的服务入口和接入方式编写。
//构建一个 Client 实例。
Client client = new Client(endpoint, accessId, accessKey);
//用请求参数“project”初始化 ListLogstores 的请求类。
ListLogStoresRequest lsRequest = new ListLogStoresRequest(project);
//使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
ListLogStoresResponse res = client.ListLogStores(lsRequest);
//访问 Response 实例获取请求结果
ArrayList<String> names = res.GetLogStores();
// 其他代码......

.NET(C#)

// 其他代码......
String accessId = "your_access_id";     //TODO:用您的真实阿里云 AccessKeyId 替代。
String accessKey = "your_access_key";   //TODO:用您的真实阿里云 AccessKeySecret 替代。
String project = "your_project";        //TODO: 用您的真实 project 名称替代。
String endpoint = "region_endpoint";////TODO: 此处以hangzhou Region为例,在实际使用中,请按照您实际的服务入口和接入方式编写。
//构建一个 Client 实例。
SLSClient client = new SLSClient(endpoint, accessId, accessKey);
//用请求参数“project”初始化 ListLogstores 的请求类。
ListLogStoresRequest lsRequest = new ListLogStoresRequest();
lsRequest.Project = project;
//使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
ListLogStoresResponse res = client.ListLogStores(lsRequest);
//访问 Response 实例获取请求结果
List<String> names = res.Logstores;
// 其他代码......

PHP

// 其他代码......
$accessId = "your_access_id";     //TODO:用您的真实阿里云 AccessKeyId 替代。
$accessKey = "your_access_key";   //TODO:用您的真实阿里云 AccessKeySecret 替代。
$project = "your_project";        //TODO: 用您的真实 project 名称替代。
$endpoint = "region_endpoint";////TODO: 此处以hangzhou Region为例,在实际使用中,请按照您实际的服务入口和接入方式编写。
//构建一个 SLS Client 实例。
$client = new Aliyun_Sls_Client($endpoint, $accessId, $accessKey);
//用请求参数“project”初始化 ListLogstores 的请求类。
$request = new Aliyun_Sls_Models_ListLogstoresRequest($project);
//使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
$response = $client->listLogstores($request);
//访问 Response 实例获取请求结果
$names = $response->getLogstores();
// 其他代码......

Python

// 其他代码......
accessId = 'your_access_id';     //TODO:用您的真实阿里云 AccessKeyId 替代。
accessKey = 'your_access_key';   //TODO:用您的真实阿里云 AccessKeySecret 替代。
project = 'your_project';        //TODO: 用您的真实 project 名称替代。
endpoint = 'region_endpoint';////TODO: 此处以hangzhou Region为例,在实际使用中,请按照您实际的服务入口和接入方式编写。
# 构建一个 client
client = LogClient(endpoint, accessId, accessKey)
# 用请求参数 “project” 初始化 ListLogstores 的请求类。
lsRequest = ListLogstoresRequest(project)
# 使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
res = client.list_logstores(lsRequest)
# 访问 Response 实例获取请求结果
names = res.get_logstores();
// 其他代码......

SDK 实现了多组类似 ListLogStores 的接口,也定义了相应的 Request 和 Response 类。除去 Request-Response 风格的基础接口外,各个不同语言的 SDK 还会提供一些包装了这些基础接口的辅助接口,让您无需自己构建 Request 及解析最终 Reponse 内容。这类接口的细节请见各 SDK 的 API 参考。