全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
日志服务

接口规范

更新时间:2017-06-07 13:26:11

尽管不同语言的 SDK 实现有所不同,但其接口都遵循 Request-Response 原则,即对 API 的调用按照如下方式进行:

  1. 利用请求参数构建相应的 Request 实例。
  2. 调用 SDK 中的相应接口并传入上一步的 Request 实例。
  3. SDK 接口的返回结果以相应的 Response 实例返回给用户。

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

Java

  1. // 其他代码......
  2. String accessId = "your_access_id"; //TODO:用您的真实阿里云 AccessKeyId 替代。
  3. String accessKey = "your_access_key"; //TODO:用您的真实阿里云 AccessKeySecret 替代。
  4. String project = "your_project"; //TODO: 用您的真实 project 名称替代。
  5. String endpoint = "region_endpoint";//TODO:用您的真实 project 所在的 Region 对应的 endpoint。
  6. //构建一个 Client 实例。
  7. Client client = new Client(endpoint, accessId, accessKey);
  8. //用请求参数“project”初始化 ListLogstores 的请求类。
  9. ListLogStoresRequest lsRequest = new ListLogStoresRequest(project);
  10. //使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
  11. ListLogStoresResponse res = client.ListLogStores(lsRequest);
  12. //访问 Response 实例获取请求结果
  13. ArrayList<String> names = res.GetLogStores();
  14. // 其他代码......

.NET(C#):

  1. // 其他代码......
  2. String accessId = "your_access_id"; //TODO:用您的真实阿里云 AccessKeyId 替代。
  3. String accessKey = "your_access_key"; //TODO:用您的真实阿里云 AccessKeySecret 替代。
  4. String project = "your_project"; //TODO: 用您的真实 project 名称替代。
  5. String endpoint = "region_endpoint";//TODO:用您的真实 project 所在的 Region 对应的 endpoint。
  6. //构建一个 Client 实例。
  7. SLSClient client = new SLSClient(endpoint, accessId, accessKey);
  8. //用请求参数“project”初始化 ListLogstores 的请求类。
  9. ListLogStoresRequest lsRequest = new ListLogStoresRequest();
  10. lsRequest.Project = project;
  11. //使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
  12. ListLogStoresResponse res = client.ListLogStores(lsRequest);
  13. //访问 Response 实例获取请求结果
  14. List<String> names = res.Logstores;
  15. // 其他代码......

PHP:

  1. // 其他代码......
  2. $accessId = "your_access_id"; //TODO:用您的真实阿里云 AccessKeyId 替代。
  3. $accessKey = "your_access_key"; //TODO:用您的真实阿里云 AccessKeySecret 替代。
  4. $project = "your_project"; //TODO: 用您的真实 project 名称替代。
  5. $endpoint = "region_endpoint";//TODO:用您的真实 project 所在的 Region 对应的 endpoint。
  6. //构建一个 SLS Client 实例。
  7. $client = new Aliyun_Sls_Client($endpoint, $accessId, $accessKey);
  8. //用请求参数“project”初始化 ListLogstores 的请求类。
  9. $request = new Aliyun_Sls_Models_ListLogstoresRequest($project);
  10. //使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
  11. $response = $client->listLogstores($request);
  12. //访问 Response 实例获取请求结果
  13. $names = $response->getLogstores();
  14. // 其他代码......

Python:

  1. // 其他代码......
  2. accessId = 'your_access_id'; //TODO:用您的真实阿里云 AccessKeyId 替代。
  3. accessKey = 'your_access_key'; //TODO:用您的真实阿里云 AccessKeySecret 替代。
  4. project = 'your_project'; //TODO: 用您的真实 project 名称替代。
  5. endpoint = 'region_endpoint';//TODO:用您的真实 project 所在的 Region 对应的 endpoint
  6. # 构建一个 client
  7. client = LogClient(endpoint, accessId, accessKey)
  8. # 用请求参数 “project” 初始化 ListLogstores 的请求类。
  9. lsRequest = ListLogstoresRequest(project)
  10. # 使用 request 实例调用 ListLogstores 接口,且返回参数为对应的 Response 实例
  11. res = client.list_logstores(lsRequest)
  12. # 访问 Response 实例获取请求结果
  13. names = res.get_logstores();
  14. // 其他代码......

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

本文导读目录