Я успешно загрузил файл на Amazon S3 с помощью запроса, подписанного URL-адреса, генерируемых библиотеки амазонки Java:Как устранить неполадки с ответом на запрос запроса ААЗАОН S3?
GeneratePresignedUrlRequest generatePresignedUrlRequest =
new GeneratePresignedUrlRequest(bucket, objectName)
generatePresignedUrlRequest.
withContentType(contentType).
withMethod(HTTPMethod.PUT)
URL url = s3client.generatePresignedUrl(generatePresignedUrlRequest)
Я изменил HTTPMethod.PUT
к HTTPMethod.GET
и назвал его с теми же аргументами.
Когда я вставить полученный URL в браузере, я получаю:
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you provided. Check your key and signing method.
</Message>
<AWSAccessKeyId>XXXX</AWSAccessKeyId>
<StringToSign>GET 1449712291 /my-bucket/picture.png</StringToSign>
....
</Error>
Есть ли способ вывести так называемый StringToSign
который используется из presigned объекта запроса для сравнения? Или есть другой способ устранить эту проблему?
Вы, сэр ... являются героем! –
Спасибо. Рад был помочь. Не стесняйтесь присылать прибыльные проекты по разработке и консалтингу на моем пути. :) –