AWS S3 многоэтапная загрузка с предварительно подписанными URL-адресами с использованием. NET AWS SDK - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь использовать AWS многокомпонентную загрузку S3 с предварительно подписанными URL-адресами. NET AWS SDK не поддерживает создание предварительно подписанных URL-адресов для многочастного режима, и я взял источники SDK и сделал следующие изменения - https://github.com/aws/aws-sdk-net/pull/1479/files для поддержки свойств UploadId и PartNumber для генерации предварительных подписей URL. Когда я начал тестировать поведение с этими URL-адресами, я получил следующую ошибку:

<?xml version="1.0" encoding="UTF-8"?>
<Error>
    <Code>NoSuchUpload</Code>
    <Message>The specified upload does not exist. The upload ID may be invalid, or the upload may have been aborted or completed.</Message>
    <UploadId>RkMrYYp.nfw5YGhFPo8bxDpLDGbjRl4N4isCtGXv6yyqqSdsmWeYWf6.65LB.184_3j3OqMlzFtdqUzb9Ol4tPLryUZwbduNtTcIaDyieCI-</UploadId>
    <RequestId>E601F79E4B69DDF0</RequestId>
    <HostId>o3Nq8nHF544oIwFhmgeDbvsCL9DFvcwvrLI1KBgDXyv7HyUDrXJiK9m4Hhnn3Tm4ixDAeHGrDmo=</HostId>
</Error>

, но URL-адрес перед подписью был:

.../DATA/Files/2020/Customers/181889_0_0_64_1_1504176.XLS?uploadId=RkMrYYp.nfw5YGhFPo8bxDpLDGbjRl4N4isCtGXv6yyqqSdsmWeYWf6.65LB.184_3j3OqMlzFtdqUzb9Ol4tPLryUZwbduNtTcIaDyieCI-&partNumber=1&X-Amz-Expires=600&response-content-disposition=attachment%3B%20filename%3D%2203.%20The%20Game%20of%20Life.xls%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAJWJPLOLCAMGZG7YA/20200212/eu-west-2/s3/aws4_request&X-Amz-Date=20200212T143912Z&X-Amz-SignedHeaders=host&X-Amz-Signature=f0d4daa009de0fdd377f8e255638c253a672b51eb1bf9bfd9220e694608d2ab2
с
UploadId:RkMrYYp.nfw5YGhFPo8bxDpLDGbjRl4N4isCtGXv6yyqqSdsmWeYWf6.65LB.184_3j3OqMlzFtdqUzb9Ol4tPLryUZwbduNtTcIaDyieCI-
, и этот правильный UploadId позволяет успешно получить составную часть загружать с этим идентификатором при использовании метода SDK ListMultipartUploads, но с откликом «NoSuchUpload» от сервера. Кто-нибудь знает, как я могу решить эту проблему?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...