公网地址调用
TI-EMS 的在线服务一旦部署完成后,您可以选择创建一个公网地址来进行服务调用。调用方式为 gRPC 或 HTTP ,调用地址和需要的鉴权信息可在控制台对应的在线服务列表处单击【更多】>【调用】>【公网调用】查看。
服务调用 demo 详见 最佳实践。
VPC 地址调用
TI-EMS 支持用户自己的 VPC 通过 privatelink 通道和 TI-EMS 的 VPC 环境打通,。在控制台对应的在线服务列表处单击【更多】>【调用】>【VPC 调用】,选择需要打通的 VPC 私有网络和子网信息,完成打通后可显示调用地址和需要的鉴权信息。VPC 相关操作请详见 VPC 产品文档。
VPC 高速直连调用
除了通过 privatelink 打通两个 VPC,TI-EMS 还可通过挂载用户弹性网卡到服务容器(专用资源组)上,来实现两个 VPC 中网络环境的互通。下面介绍 VPC 高速直连的调用方式。
准备环境
腾讯云官网提供了各种语言的 SDK 供使用,这里我们使用 Python SDK 做演示。
您可以通过 pip 安装 Python SDK。
pip install tencentcloud-sdk-python
使用 sdk 之前您需要在控制台获取 SecretID、SecretKey。
调用示例
from tencentcloud.common import credential
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.tiems.v20190416 import tiems_client, models
import requests
def do_request(address, request_str):
headers = {"Content-type": "application/json", "Accept": "application/json", "X-AUTH-TOKEN": ""}
try:
response = requests.post(address, data=request_str, headers=headers)
print(response.text)
except Exception as e:
print(e)
if __name__ == '__main__':
try:
# 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
cred = credential.Credential("xx", "yy")
# 实例化client对象
client = tiems_client.TiemsClient(cred, "ap-beijing")
# 实例化一个请求对象 并请求查询服务,这里我们提前在页面上创建了一个 两副本的 pmml 服务,并且做了 内网打通
req = models.DescribeServicesRequest()
resp = client.DescribeServices(req)
# 输出json格式的字符串回包
replicas = resp.Services[0].Status.ReplicaInfos
ips = [a.EniIp for a in replicas if a.Status == "Normal"]
# 发送预测请求,这里 我们做了一个简单的负载均衡,依次访问两个副本ip
print(ips)
for ip in ips:
address = 'http://' + ip + '/v1/models/m:predict'
do_request(address, '{"instances" : [{"x1": 6.2, "x2": 2.2, "x3": 1.1, "x4": 1.}]}')
except TencentCloudSDKException as err:
print(err)
['10.20.142.88', '10.20.142.79']
{"predictions": [{"probability(1)":"0.07345460015950317","probability(-1)":"0.9265453998404969","y":"-1"}]}
{"predictions": [{"probability(1)":"0.07345460015950317","probability(-1)":"0.9265453998404969","y":"-1"}]}
注意:TI-EMS 目前仅支持专用资源组 VPC 打通。
API Gateway 公网调用
TI-EMS 新增 API Gateway 公网地址调用功能,该功能需要您开通 API 网关服务,使用 API Gateway 公网地址调用功能,系统会在模型服务部署完成后自动帮您生成一个 API 网关层面的公网地址,您可以作为服务请求地址调用,该功能正在内测阶段,请 单击申请 进行体验。