|
2 | 2 |
|
3 | 3 | ## Background
|
4 | 4 |
|
5 |
| -In AWS SDK for JavaScript [v3.729.0](https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.729.0), we shipped a feature that [changed default object integrity in S3](https://github.com/aws/aws-sdk-js-v3/issues/6810). The SDKs now default to using more modern checksums (like CRC32) to ensure object integrity, whereas previously MD5 checksums were being used. Some third-party S3-compatible services currently do not support these checksums. To our knowledge, this affects only the S3 `DeleteObjects` operation. |
| 5 | +In AWS SDK for JavaScript [v3.729.0](https://github.com/aws/aws-sdk-js-v3/releases/tag/v3.729.0), |
| 6 | +we shipped a feature that [changed default object integrity in |
| 7 | +S3](https://github.com/aws/aws-sdk-js-v3/issues/6810). The SDKs now default to using more modern |
| 8 | +checksums (like CRC32) to ensure object integrity, whereas previously MD5 checksums were being used. |
| 9 | +Some third-party S3-compatible services currently do not support these checksums. To our knowledge, |
| 10 | +this affects only the S3 `DeleteObjects` operation. |
6 | 11 |
|
7 |
| -If you wish to fallback to the old behavior of sending MD5 checksums, for operations like `DeleteObjectsCommand` this is how |
8 |
| -you can do it in AWS SDK for JavaScript v3: |
| 12 | +If you wish to fallback to the old behavior of sending MD5 checksums, for operations like |
| 13 | +`DeleteObjectsCommand` this is how you can do it in AWS SDK for JavaScript v3: |
9 | 14 |
|
10 | 15 | ## MD5 fallback
|
11 | 16 |
|
12 |
| -The following code provides a custom S3 client that will use MD5 checksums for DeleteObjects operations while maintaining the |
13 |
| -default behavior for all other operations. |
| 17 | +The following code provides a custom S3 client that will use MD5 checksums for DeleteObjects |
| 18 | +operations while maintaining the default behavior for all other operations. |
14 | 19 |
|
15 | 20 | ```javascript
|
16 | 21 | // md5ClientS3.mjs
|
@@ -106,12 +111,13 @@ This sequence ensures that we properly replace the checksums with MD5 checksum.
|
106 | 111 | ## Usage Notes
|
107 | 112 |
|
108 | 113 | - The client can be configured with additional options as needed (region, credentials, etc.)
|
109 |
| -- If your S3-compatible service supports the SDK's new checksum options or adds support in the future, you should use the standard S3 client instead. |
| 114 | +- If your S3-compatible service supports the SDK's new checksum options or adds support in the |
| 115 | + future, you should use the standard S3 client instead. |
110 | 116 |
|
111 | 117 | ## Debugging
|
112 | 118 |
|
113 |
| -To verify that the MD5 checksum is being correctly applied, you can add console logging to the middleware by modifying the |
114 |
| -code to include logging statements: |
| 119 | +To verify that the MD5 checksum is being correctly applied, you can add console logging to the |
| 120 | +middleware by modifying the code to include logging statements: |
115 | 121 |
|
116 | 122 | ```javascript
|
117 | 123 | // Inside the middleware function, add:
|
|
0 commit comments