全部产品
云市场

Python SDK

更新时间:2020-04-08 15:05:33

下载地址

OpenSearch管控类Python SDK下载地址:https://pypi.org/project/aliyun-python-sdk-opensearch
SDK源码地址:https://github.com/aliyun/aliyun-openapi-python-sdk/tree/master/aliyun-python-sdk-opensearch

使用步骤

为了尽快使用Opensearch管控类SDK,请按照以下步骤进行。

步骤1 创建阿里云账号

具体方法请参考 阿里云账号注册流程
为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。

步骤2 获取阿里云访问秘钥

为了使用 opensearch管控类Python SDK,您必须申请阿里云的 访问秘钥
登录阿里云 秘钥管理页面 。选择一对用于SDK的访问密钥对。如果没有,请创建一对新访问密钥,且保证它处于启用状态。有关如何创建访问密钥,参见 准备流程

步骤3 安装阿里云Python SDK

完成以下操作安装 Python SDK:

  1. 安装 SDK 核心库
    • 如果您使用 Python 2.x,执行以下命令,安装阿里云SDK核心库:
  1. pip install aliyun-python-sdk-core
  • 如果您使用 Python 3.x,执行以下命令,安装阿里云SDK核心库:
  1. pip install aliyun-python-sdk-core-v3
  1. 安装云产品 Opensearch的管控类SDK

执行以下命令安装Opensearch的管控类SDK

  1. pip install aliyun-python-sdk-opensearch

步骤4 开始使用SDK

以创建与查看排序脚本为例,来介绍下使用Opensearch管控类SDK的主要流程:

  1. 创建 Client。在创建 Client实例时,您需要获取 Region ID、AccessKey ID 和 AccessKey Secret。
  2. 设置 Endpoint
  3. 创建 Request 并设置参数。
  4. 发起请求并处理应答或异常。
  1. #!/bin/env python
  2. import sys
  3. import json
  4. import time
  5. import base64
  6. from aliyunsdkcore.client import AcsClient
  7. from aliyunsdkcore.acs_exception.exceptions import ClientException
  8. from aliyunsdkcore.acs_exception.exceptions import ServerException
  9. from aliyunsdkopensearch.request.v20171225 import CreateSortScriptRequest
  10. from aliyunsdkopensearch.request.v20171225 import SaveSortScriptFileRequest
  11. from aliyunsdkopensearch.request.v20171225 import GetSortScriptRequest
  12. # 创建 AcsClient 实例
  13. client = AcsClient(
  14. "<your-access-key-id>",
  15. "<your-access-key-secret>",
  16. "<your-region-id>"
  17. )
  18. # 设置 Endpoint
  19. # 传入 RegionId、product 名称、服务接入地址
  20. client.add_endpoint("cn-hangzhou", "opensearch", "opensearch.cn-hangzhou.aliyuncs.com")
  21. #创建脚本, 构造创建请求
  22. content = {}
  23. content["scriptName"] = "script1"
  24. content["type"] = "cava_script"
  25. content["scope"] = "second_rank"
  26. contentStr = json.dumps(content)
  27. createRequest = CreateSortScriptRequest.CreateSortScriptRequest()
  28. createRequest.set_content_type("application/json")
  29. createRequest.set_content(contentStr)
  30. createRequest.set_appVersionId("123456")
  31. createRequest.set_appGroupIdentity("appName")
  32. try:
  33. response = client.do_action_with_exception(createRequest)
  34. print response
  35. except ClientException as e:
  36. print e
  37. except ServerException as e:
  38. print e
  39. # 上传脚本内容
  40. #code为用户脚本代码
  41. code = 'your code'
  42. content = {}
  43. content["version"] = int(time.time()*1000)
  44. content["content"] = base64.b64encode(code)
  45. contentStr = json.dumps(content)
  46. #构造脚本代码更新请求
  47. saveFileRequest = SaveSortScriptFileRequest.SaveSortScriptFileRequest()
  48. saveFileRequest.set_content_type("application/json")
  49. saveFileRequest.set_content(contentStr)
  50. saveFileRequest.set_appVersionId("123456")
  51. saveFileRequest.set_appGroupIdentity("appName")
  52. try:
  53. response = client.do_action_with_exception(createRequest)
  54. print response
  55. except ClientException as e:
  56. print e
  57. except ServerException as e:
  58. print e
  59. #查看脚本状态
  60. getRequest = GetSortScriptRequest.GetSortScriptRequest()
  61. getRequest.set_content_type("application/json")
  62. getRequest.set_appVersionId("123456")
  63. getRequest.set_appGroupIdentity("appName")
  64. getRequest.set_scriptName("script1")
  65. try:
  66. response = client.do_action_with_exception(createRequest)
  67. print response
  68. except ClientException as e:
  69. print e
  70. except ServerException as e:
  71. print e