Endpoint

Endpoint 是请求接口服务的网络域名,如 ecs.cn-hangzhou.aliyuncs.com。

新版SDK Endpoint

新版 SDK 在 Endpoint 寻址上简化了许多,只提供了最容易理解的两种方式,下面按优先级排列:

  1. 用户自定义:用户可以通过在初始化时指定云产品 Client 实例的请求地址,产品的 Endpoint 可以通过 [OpenAPI 开发者门户](https://next.api.aliyun.com/product/Ecs)的产品主页中查找

    1. from alibabacloud_tea_openapi.models import Config
      from alibabacloud_tea_util.models import RuntimeOptions
      
      config = Config(
          access_key_id='<ACCESS-KEY-ID>',
          access_key_secret='<ACCESS-KEY-SECRET>',
          region_id='cn-hangzhou',
          endpoint='<endpoint>'  # endpoint
      )
      
  2. Endpoint 拼接规则:在请求产品 SDK 具有 Endpoint 数据时,当前通过 RegionId 寻址的逻辑才会生效,否则会在实例化 Client 对象时抛出异常 TeaException ,其 message 为 `config.endpoint can not be empty`,必须使用用户自定义的方式指定 Endpoint。 Endpoint 数据文件示例([Ecs Endpoint Data](https://github.com/aliyun/aliyun-openapi-python-sdk/blob/master/aliyun-python-sdk-ecs/aliyunsdkecs/endpoint.py)),其中不具备的 Region 会通过拼接规则:`{产品 Id}.{RegionId}.aliyuncs.com` 来进行拼接。

    1. from alibabacloud_tea_openapi.models import Config
      from alibabacloud_tea_util.models import RuntimeOptions
      
      config = Config(
          access_key_id='<ACCESS-KEY-ID>',
          access_key_secret='<ACCESS-KEY-SECRET>',
          region_id='cn-hangzhou',  # 通过 regionId 映射到 endpoint
      )

文件上传 Endpoint

新版本 SDK 还为用户提供了文件上传的 Endpoint 配置,分为两个:

  • 鉴权服务 openplatform 的地址,可以在 VPC 环境配置 VPC 地址来请求上传文件的鉴权信息。

from alibabacloud_tea_openapi.models import Config
from alibabacloud_tea_util.models import RuntimeOptions

from alibabacloud_facebody20191230.models import DetectBodyCountAdvanceRequest
from alibabacloud_facebody20191230.client import Client

runtime = RuntimeOptions()
config = Config(
    access_key_id='<ACCESS-KEY-ID>',
    access_key_secret='<ACCESS-KEY-SECRET>',
    region_id='cn-hangzhou',
    open_platform_endpoint='openplatform-vpc.cn-shanghai.aliyuncs.com'
)

client = Client(config)
with open('test.txt', 'rb') as f:
    request = DetectBodyCountAdvanceRequest(image_urlobject=f)
    response = client.detect_body_count_advance(request, runtime)
# response 包含服务端响应的 body 和 headers
print(response.body)
print(response.headers)
  • 上传文件的地址,可以在 VPC 或者内网环境配置内网的地址来上传文件。

from alibabacloud_tea_openapi.models import Config
from alibabacloud_tea_util.models import RuntimeOptions

from alibabacloud_facebody20191230.models import DetectBodyCountAdvanceRequest
from alibabacloud_facebody20191230.client import Client

runtime = RuntimeOptions()
config = Config(
    access_key_id='<ACCESS-KEY-ID>',
    access_key_secret='<ACCESS-KEY-SECRET>',
    region_id='cn-hangzhou',
    open_platform_endpoint='openplatform-vpc.cn-shanghai.aliyuncs.com',
    endpoint_type='internal'  # 设置通过 OSS 内网地址上传文件
)

client = Client(config)
with open('test.txt', 'rb') as f:
    request = DetectBodyCountAdvanceRequest(image_urlobject=f)
    response = client.detect_body_count_advance(request, runtime)
# response 包含服务端响应的 body 和 headers
print(response.body)
print(response.headers)

阿里云首页 阿里云SDK 相关技术圈