开发者社区 问答 正文

InvalidAccessKeyId 错误 STS 策略 python

做法是这样的,先用vod 里的 获取视频上传地址和凭证 获取到临时 上传验证


然后在oss进行上传


下面是代码


obj = getToken().getUploadVideoToken(url,parameters,access_key_secret)
try:
    vodData = json.loads(base64.b64decode(obj['UploadAddress']))
    vodToken = json.loads(base64.b64decode(obj['UploadAuth']))
    bucket = oss2.Bucket(oss2.Auth(vodToken['AccessKeyId'], vodToken['AccessKeySecret']), vodData['Endpoint'], vodData['Bucket'])
    oss2.resumable_upload(bucket, vodData['FileName'], parameters['FileName'])
except Exception, ex:
    print 'Exception: %s' % str(ex)


vodData  的内容是
{u'Endpoint': u'https://oss-cn-shanghai.aliyuncs.com', u'Bucket': u'in-201710x8060-zsce76', u'FileName': u'video/17EBC918-15F0Ax0090-379-39817.mp4'}


vodToken 的内容是
{u'AccessKeySecret': u'DKwcCJTAdMYw5WKV7', u'SecurityToken': u'CAISxQR1q6Ft5B2yfSjIp7HWSJqs4+TUxqUjwA/L/P', u'Expiration': u'3600', u'AccessKeyId': u'STS.FrcsMbxpRw4C'}


(以上内容有删减)


执行后返回的结果是


Exception: {'status': 403, 'request-id': '59DDD0B88EF3109D', 'details': {'HostId': 'in-20171010058060-zsce7zshk6.oss-cn-shanghai.aliyuncs.com', 'OSSAccessKeyId': 'STS.FrcsMb5EyfEWRepRw4C', 'Message': 'The OSS Access Key Id you provided does not exist in our records.', 'Code': 'InvalidAccessKeyId', 'RequestId': '59DDD0B9DEF3109D'}}


在vod 的后台上可以可到正在准备的视频


但 oss上传就失败了。。。


请问 有谁知道是什么事?

展开
收起
jeiry 2017-10-11 16:19:02 4943 分享 版权
1 条回答
写回答
取消 提交回答
  • ReInvalidAccessKeyId 错误 STS 策略 python
    售后工程师 :    您得调用ak,sk token 来进行初始化client才可以的

    参考: uth = oss2.StsAuth(token['Credentials']['AccessKeyId'],
                        token['Credentials']['AccessKeySecret'],
                        token['Credentials']['SecurityToken'])
    # 初始化Bucket实例
    bucket = oss2.Bucket(auth, endpoint, bucket_name)
    2017-10-11 17:12:38
    赞同 展开评论