您尚未登录

登录

推荐您使用PC浏览器访问

确定
  • 开发者中心
  • >
  • 云游戏
  • >
  • OpenAPI文档
  • >
  • 实例操作管理



海马云实例操作管理 API文档 V3.9

签名算法说明

签名生成步骤:

1) 调用方使用如下格式拼接:key:%s,rand:%s,timestamp:%d,expiryInterval:%d,记做tokenRaw。

2) 调用方将tokenRaw使用md5生成32位摘要信息,记做token。

3) 调用方将payload描述的内容经过encode编码,传入encoded字段。
注意:请求方并不真实地通过payload传数据,payload由海马云经过base64解码后还原。

4) 调用方按照下面的格式拼接数据:accessKeyId:%s,encoded:%s,token:%s,记做signRaw。

5) 调用方将signRaw使用md5生成32位摘要信息,记做sign。

6) 海马在验签通过后,会将encode数据经过base64解码后还原到payload字段中。

details结构说明

名称 类型 是否必填 参数说明
key String Required 使用提供给接入商的apiToken
rand String Required 调用方随机生成的字符串,32位
timestamp Long Required 请求时间戳,当时间戳与服务端时间戳偏移大时会导致校验失败,单位毫秒
expiryInterval Long Required token有效期,设空则默认采用云平台配置的有效期,如云平台未配置有效期则永不过期。单位秒。 * 建议定义为180秒以上,避免服务器时间差导致验签失败。

签名示例:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import base64
import hashlib
import json
import time
t = time.time()
timestamp = (int(round(t * 1000))) # 毫秒级时间

def generate_sign(accessKeyId, apiToken, payload, expiry_interval=1000000):
    m = hashlib.md5()
    original_token_str = 'key:%s,rand:%s,timestamp:%d,expiryInterval:%d' % (apiToken, '1', timestamp, expiry_interval)
    m.update(original_token_str.encode('utf-8'))
    str_md5 = m.hexdigest()

    str_payload = json.dumps(payload, separators=(',', ":"))
    base64_payload = base64.encodebytes(str_payload.rstrip('\n').encode())
    decode = base64_payload.decode('utf-8')

    original_sign_str = 'accessKeyId:%s,encoded:%s,token:%s' % (accessKeyId, decode, str_md5)
    n = hashlib.md5()
    n.update(original_sign_str.encode('utf-8'))
    return n.hexdigest()

实例操作管理API

实例释放

海马云将根据用户传入的accessKeyId、cid等参数,将对应的实例进行释放操作

Request Information

URL 请联系海马云售前经理
Method POST
Content-Type application/json
Accept application/json

Parameters

名称 类型 是否必填 参数说明
accessKeyId String Required 合作方 accessKeyId 由海马云提供的接入商唯一标识
encoded String Required payload参数BASE64编码后的字符串
expiryInterval Long Required token有效期。如空则默认采用云平台配置的有效期,如云平台未配置有效期则永不过期。单位秒
rand String Required 调用方随机生成的字符串
sign String Required 参考签名算法说明
timestamp Long Required 请求时间戳,当时间戳与服务端时间戳偏移大时会导致校验失败,单位毫秒
payload Object Required 见ReleaseInstancePayload结构说明,接入商无需上传该字段,云平台会由encoded字段BASE64解码后获得具体数据

ReleaseInstancePayload结构说明

名称 类型 是否必填 参数说明
cid Long Required 用户使用云游戏服务的唯一标识

Sample Response

{
  "code": 0
}

Parameters

名称 类型 是否必填 参数说明
code Integer Required 请求处理结果,0:请求成功,1:请求失败
errorCode String Optional 具体错误码
errorMsg String Optional 错误信息

错误码

错误码 描述
400000000 系统错误
400000001 请求参数非法
400001001 通用错误码-请求参数签约验证失败
400001002 通用错误码-请求参数验证失败
400001003 通用错误码-请求参数不能为空
400001004 通用错误码-请求参数集合不能为空
400001005 通用错误码-请求参数最小值验证失败
400001006 通用错误码-请求参数最大值验证失败
400001007 通用错误码-accessKeyId不存在
400801001 实例操作管理-实例释放处理失败
400801002 实例操作管理-实例释放参数为空
400801003 实例操作管理-根据cid没有查询到对应的实例信息
400801004 实例操作管理-该cid不属于当前accessKeyId
×

本篇文章对你是否有帮助?

更多建议

请输入您的建议