Amazon web services Brightcove AWS S3上传返回Coldfusion中的InvalidAccessKeyId

Amazon web services Brightcove AWS S3上传返回Coldfusion中的InvalidAccessKeyId,amazon-web-services,amazon-s3,coldfusion,Amazon Web Services,Amazon S3,Coldfusion,对于accessKeyID,我使用的是GET to{ACCOUNT_id}/videos/{VIDEO_id}/upload url/{SOURCE_NAME}返回的值access_key_id 因为我想使用多部分上传,所以我遵循了以下URL提供的指导原则。 使用来自的s3.cfc 政策方面: <Error> <Code>InvalidAccessKeyId</Code> <Message>The AWS Access Key I

对于accessKeyID,我使用的是GET to{ACCOUNT_id}/videos/{VIDEO_id}/upload url/{SOURCE_NAME}返回的值access_key_id

因为我想使用多部分上传,所以我遵循了以下URL提供的指导原则。

使用来自的s3.cfc

政策方面:

<Error>
    <Code>InvalidAccessKeyId</Code>
    <Message>The AWS Access Key Id you provided does not exist in our records.</Message>
    <AWSAccessKeyId>ASIAJSDFW27523RELDJA</AWSAccessKeyId>
    <RequestId>22F0A23F675424D0</RequestId>
    <HostId>3ozDoKHMzf00wlsdfA0hsdfWDrzy21c0xqxwOwd1BJo8MqSouPZU</HostId>
</Error>
我的CF代码:

{"expiration": {add 1 day to now}",
    "conditions": [
        {"bucket": bucket-name-from-brightcove},
        ["starts-with", "$key", "uploads/"],
        {"acl": "authenticated-read"},
        {"success_action_redirect": "my-server-redirect-url"},
        ["starts-with", "$Content-Type", "#mData.fileType#"],
        ["content-length-range", 0, #mData.fileSize#]
    ]
}
我的表单如下:(我用jquery替换隐藏字段值)


文件:

以字符
ASIA
开头的访问密钥ID与来自STS的临时凭据相关联,并且始终具有附带的
X-Amz-Security-Token
,必须嵌入由这些凭据签名的任何请求中

如果请求中没有嵌入此令牌,AWS端点甚至无法识别访问密钥ID,并且记录中不存在
错误


此错误与签名版本4无关。它还影响签名版本2,问题中的代码正在使用该版本。

您要上载到哪个区域?2014年1月后部署的地区仅支持AWS签名V4。我不相信您用来进行签名的S3包装器CFC也支持AWS签名V4。brightcove网站说:目前DI只能从为AWS签名版本2配置的区域提取媒体。在另行通知之前,请使用其中一个区域。
rStruct['policy'] = ToBase64(s3policy);
s3 = createObject("component", 's3').init('access_key_id-from-brightcove','secret_access_key-from-brightcove');
rStruct['signature'] = s3.createSignature(rStruct['policy']);
rStruct['auth'] = 'authenticated-read';
rStruct['s3URL'] = 'https://bucket-name-from-brightcove.s3.amazonaws.com/';   
rStruct['s3redirectURL'] = 'my-server-redirect-url';  
<form name="dlgform" id="dlgform" method="post" enctype="multipart/form-data" action="" target="submitDialog_submitFrame">
    <input type="hidden" name="key" id="key" value="uploads/${filename}">
    <input type="hidden" name="AWSAccessKeyId" id="AWSAccessKeyId" value="access_key_id-from-brightcove">
    <input type="hidden" name="acl" id="acl" value="authenticated-read">
    <input type="hidden" name="success_action_redirect" id="success_action_redirect" value="">
    <input type="hidden" name="policy" id="policy" value="rStruct['policy']">
    <input type="hidden" name="signature" id="signature" value="rStruct['signature']">
    <input type="hidden" name="Content-Type" id="Content-Type" value="file-content-type">
     File: <input type="file" name="file" />
    <input type="submit" name="submit" value="Upload to Amazon S3" />
</form>