CopyObjectAsync fails on NetApp S3 due to x-amz-copy-source #3984
-
|
Hi all, I’m using the AWS SDK for .NET (AmazonS3Client.CopyObjectAsync) against a NetApp S3 backend (ONTAP 9.12+). The call consistently fails due to an issue with the x-amz-copy-source header formatting.
but NetApp S3 rejects the encoded format and throws:
Is there a way to configure the AWS .NET SDK to prevent encoding / as %2F in x-amz-copy-source? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
|
Hi @Maoo690, I've reproduced this issue and confirmed that While the .NET SDK is designed to be compatible with third-party S3 services, full compatibility is not always guaranteed due to implementation differences in these services. This appears to be a NetApp S3 compatibility issue - their implementation doesn't handle URL-encoded headers properly, unlike standard AWS S3. Possible solutions:
I can provide code samples for the custom handler approach if needed. |
Beta Was this translation helpful? Give feedback.
This signature error is likely caused by the custom handler modifying the request headers after the SDK has already calculated the signature. The SDK uses request signing (
SigV4) where the signature is calculated based on the exact request content, including headers.The custom HTTP handler approach, has limitations due to AWS's request signing mechanism.
I would recommend:
NetAppto fix their S3 API compatibility to properly handle URL-encoded headers like standardAWS S3.GetObject+PutObjectinstead ofCopyObject