Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 Coldfusion:不支持您提供的授权机制。请使用AWS4-HMAC-SHA256_Amazon S3_Coldfusion_Coldfusion 10_Railo_Lucee - Fatal编程技术网

Amazon s3 Coldfusion:不支持您提供的授权机制。请使用AWS4-HMAC-SHA256

Amazon s3 Coldfusion:不支持您提供的授权机制。请使用AWS4-HMAC-SHA256,amazon-s3,coldfusion,coldfusion-10,railo,lucee,Amazon S3,Coldfusion,Coldfusion 10,Railo,Lucee,我收到签名版本错误 响应:InvalidRequest不支持您提供的授权机制。请使用AWS4-HMAC-SHA256.5BD2DFA1B0ECAA01HBXUWHBENB8LFP+YNgiCxQyPInN+YlIfJtsmScVY6abqNtKYdhqCFU4xPnoTRZkqaKZLnAOqlY= 这是密码 由乔·丹泽格撰写(joe@ajaxcf.com)在他的帮助下 亚马逊S3论坛上的Dorio。有关更多信息,请参阅自述文件 有关用法和方法的详细信息。 感谢Steve Hicks更新了b

我收到签名版本错误

响应:InvalidRequest不支持您提供的授权机制。请使用AWS4-HMAC-SHA256.5BD2DFA1B0ECAA01HBXUWHBENB8LFP+YNgiCxQyPInN+YlIfJtsmScVY6abqNtKYdhqCFU4xPnoTRZkqaKZLnAOqlY=

这是密码

由乔·丹泽格撰写(joe@ajaxcf.com)在他的帮助下 亚马逊S3论坛上的Dorio。有关更多信息,请参阅自述文件 有关用法和方法的详细信息。 感谢Steve Hicks更新了bucket ACL。 感谢Carlos Gallupa提供的欧盟存储位置更新。 感谢Joel Greutman修复了getObject链接。 感谢Jerad Sloan提供的缓存控制头

版本1.8-发布日期:2010年7月27日 版本1.9-发布日期:2011年1月6日 --->


#arguments.storageLocation#
#参数。版本控制#


您正在使用旧的HMAC_SHA1哈希算法。它不适用于较新的AWS部署,如法兰克福或爱尔兰,因为它们需要HMAC-SHA256

我建议使用AWS SDK for Java,而不是在CFML中对其进行反向工程-它与Coldfusion配合得非常好:

创建S3客户端非常简单:

    variables.aws.s3Client = createObject( "java", "com.amazonaws.services.s3.AmazonS3Client" ).init(
        createObject("java", "com.amazonaws.auth.BasicAWSCredentials" ).init(
            javaCast("string", variables.aws.keyId ),
            javaCast("string", variables.aws.secretKey)
        )
    );

我相信这是因为您试图访问S3存储桶的可用性区域只支持AWS签名v4。为什么不使用内置的S3访问,例如S3://在文件路径中或通过映射?我相信Lucee5支持带有最新S3扩展的签名V4。
    variables.aws.s3Client = createObject( "java", "com.amazonaws.services.s3.AmazonS3Client" ).init(
        createObject("java", "com.amazonaws.auth.BasicAWSCredentials" ).init(
            javaCast("string", variables.aws.keyId ),
            javaCast("string", variables.aws.secretKey)
        )
    );