全部產品
Search
文件中心

Simple Log Service:介面規範

更新時間:Jul 10, 2024

本文介紹SDK介面需要遵循的原則。

Request-Response原則

儘管不同語言的SDK實現有所不同,但其介面都遵循Request-Response原則,即對API的調用按照如下方式進行:

  1. 利用請求參數構建相應的Request執行個體。

  2. 調用SDK中的相應介面並傳入上一步的Request執行個體。

  3. SDK介面的返回結果以相應的Response執行個體返回給使用者。

樣本

以下程式碼片段展示了如何擷取一個Project下的所有Logstore的名稱。

// 其他代碼。
// 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
// Project名稱。   
String project = "your_project";
// Log Service的服務存取點。
String endpoint = "region_endpoint";
// 構建一個Client執行個體。
Client client = new Client(endpoint, accessId, accessKey);
// 用請求參數project初始化ListLogstores的請求類。
ListLogStoresRequest lsRequest = new ListLogStoresRequest(project, 0,100, "");
// 使用request執行個體調用ListLogstores介面,且返回參數為對應的Response執行個體。
ListLogStoresResponse res = client.ListLogStores(lsRequest);
// 訪問Response執行個體擷取請求結果。
ArrayList<String> names = res.GetLogStores();
// 其他代碼。
// 其他代碼。
// 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
String accessId = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_ID"); 
String accessKey = Environment.GetEnvironmentVariable("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
// Project名稱。
String project = "your_project";
// Log Service的服務存取點。
String endpoint = "region_endpoint";
// 構建一個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;
// 其他代碼。
// 其他代碼。
// 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
$accessId = getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'); 
$accessKey = getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET');
// Project名稱。
$project = "your_project";
// Log Service的存取點。
$endpoint = "region_endpoint";
// 構建一個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();
// 其他代碼。
# 其他代碼。
# 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
accessId = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '');
accessKey = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '');
# Project名稱。
project = 'your_project'; 
# Log Service的服務存取點。
endpoint = 'region_endpoint';
# 構建一個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及解析最終Response內容。更多資訊,請參見SDK參考