Skip to content

S3 presigned URL upload fails (SignatureDoesNotMatch) #5

@rgn3210

Description

@rgn3210

Hi EPC team,

I’m using epc_cli to upload WGS FASTQ files to EPC. Authentication + CSV upload + technical validation succeed, but the sequence file upload to S3 fails.

This is the error message that I got:

Please enter the master password of the keyring: 
2025-12-19 15:18:27 [INFO] - Requesting token

2025-12-19 15:18:28 [INFO] - Fetching S3 presigned url
    fileName: [...]586d7a03b8

2025-12-19 15:18:28 [INFO] - File upload - ../klebsiella/158053_R1_001.fastq.gz
    Status:   0%|▎                                                         | 1.05M/216M [00:00<00:30, 7.06MB/s]
Traceback (most recent call last):
  File "/data2/Bacteria/WGS/EpiPulseCases/epc_cli/./bin/epc_upload_seq_data", line 64, in <module>
    epc_cli.upload_with_presigned_url(config_data, f, a['fileName'], chunk_size)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/data2/Bacteria/WGS/EpiPulseCases/epc_cli/epc_cli/core.py", line 366, in upload_with_presigned_url
    upload_chunk()
    ~~~~~~~~~~~~^^
  File "/data2/Bacteria/WGS/EpiPulseCases/epc_cli/epc_cli/core.py", line 363, in upload_chunk
    raise Exception(f"Failed to upload file. Status code: {response.status_code}, Response: {response.text}")
Exception: Failed to upload file. Status code: 403, Response: <?xml version="1.0" encoding="UTF-8"?>
<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>AKIAXA2OUECNZ2K2ICFH</AWSAccessKeyId><StringToSign>AWS4-HMAC-SHA256
20251219T131828Z
20251219/eu-north-1/s3/aws4_request
756a80d214290af642b7efe872c717f4c97391e41ad4bbc04b723afc0baa6936</StringToSign><SignatureProvided>e2d6353f5dee89e8235bc0e819d25f2c27a5c7284a5694117829c7586d7a03b8</SignatureProvided><StringToSignBytes>41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 0a 32 30 32 35 31 32 31 39 54 31 33 31 38 32 38 5a 0a 32 30 32 35 31 32 31 39 2f 65 75 2d 6e 6f 72 74 68 2d 31 2f 73 33 2f 61 77 73 34 5f 72 65 71 75 65 73 74 0a 37 35 36 61 38 30 64 32 31 34 32 39 30 61 66 36 34 32 62 37 65 66 65 38 37 32 63 37 31 37 66 34 63 39 37 33 39 31 65 34 31 61 64 34 62 62 63 30 34 62 37 32 33 61 66 63 30 62 61 61 36 39 33 36</StringToSignBytes><CanonicalRequest>PUT
/AMRISO/EE/158053_R1_001.fastq.gz
X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Credential=AKIAXA2OUECNZ2K2ICFH%2F20251219%2Feu-north-1%2Fs3%2Faws4_request&amp;X-Amz-Date=20251219T131828Z&amp;X-Amz-Expires=604800&amp;X-Amz-SignedHeaders=host%3Bx-amz-meta-uploadedby
host:ecdc-epc-prod.s3.eu-north-1.amazonaws.com
x-amz-meta-uploadedby:

host;x-amz-meta-uploadedby
UNSIGNED-PAYLOAD</CanonicalRequest><CanonicalRequestBytes>50 55 54 0a 2f 41 4d 52 49 53 4f 2f 45 45 2f 31 35 38 30 35 33 5f 52 31 5f 30 30 31 2e 66 61 73 74 71 2e 67 7a 0a 58 2d 41 6d 7a 2d 41 6c 67 6f 72 69 74 68 6d 3d 41 57 53 34 2d 48 4d 41 43 2d 53 48 41 32 35 36 26 58 2d 41 6d 7a 2d 43 72 65 64 65 6e 74 69 61 6c 3d 41 4b 49 41 58 41 32 4f 55 45 43 4e 5a 32 4b 32 49 43 46 48 25 32 46 32 30 32 35 31 32 31 39 25 32 46 65 75 2d 6e 6f 72 74 68 2d 31 25 32 46 73 33 25 32 46 61 77 73 34 5f 72 65 71 75 65 73 74 26 58 2d 41 6d 7a 2d 44 61 74 65 3d 32 30 32 35 31 32 31 39 54 31 33 31 38 32 38 5a 26 58 2d 41 6d 7a 2d 45 78 70 69 72 65 73 3d 36 30 34 38 30 30 26 58 2d 41 6d 7a 2d 53 69 67 6e 65 64 48 65 61 64 65 72 73 3d 68 6f 73 74 25 33 42 78 2d 61 6d 7a 2d 6d 65 74 61 2d 75 70 6c 6f 61 64 65 64 62 79 0a 68 6f 73 74 3a 65 63 64 63 2d 65 70 63 2d 70 72 6f 64 2e 73 33 2e 65 75 2d 6e 6f 72 74 68 2d 31 2e 61 6d 61 7a 6f 6e 61 77 73 2e 63 6f 6d 0a 78 2d 61 6d 7a 2d 6d 65 74 61 2d 75 70 6c 6f 61 64 65 64 62 79 3a 52 45 47 49 4e 41 2e 52 55 53 53 41 4e 4f 56 41 40 54 45 52 56 49 53 45 41 4d 45 54 2e 45 45 0a 0a 68 6f 73 74 3b 78 2d 61 6d 7a 2d 6d 65 74 61 2d 75 70 6c 6f 61 64 65 64 62 79 0a 55 4e 53 49 47 4e 45 44 2d 50 41 59 4c 4f 41 44</CanonicalRequestBytes><RequestId>PBD5W3STZF6CMHE8</RequestId><HostId>QN73o6T9oIU9zMsJ/k5VLfarxMLzq6W317Mc3wvtaSwFLruRBAew/m6z8uhvIEt/0DDHlTlSO28=</HostId></Error>

Command used:
./bin/epc_upload_seq_data -c ../epc_cli/config.json -f ../klebsiella/*.fastq.gz --subject AMRISO --country_code COUNTRY_CODE

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions