|
1 | 1 | --- |
2 | 2 | title: "Amazon S3 SDK Upgrade" |
3 | | -url: /refguide10/amazon-s3-sdk-upgrade/ |
| 3 | +url: /refguide9/amazon-s3-sdk-upgrade/ |
4 | 4 | description: "Describes breaking changes cause by Amazon S3 SDK library upgrade." |
5 | 5 | --- |
6 | 6 |
|
7 | | -### Amazon S3 SDK Upgrade |
| 7 | +## Introduction |
8 | 8 |
|
9 | 9 | In Mendix 9.24.41 we upgraded the AWS SDK used for accessing S3 storage from version 1 to version 2. SDK version 2 has some [differences](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/migration-s3.html) which affects our S3 storage implementation. |
10 | 10 |
|
11 | | -#### `com.mendix.storage.s3.Region` / `com.mendix.storage.s3.EndPoint` Settings |
| 11 | +## Considerations When Upgrading Amazon S3 SDK |
| 12 | + |
| 13 | +You will need to consider the following when upgrading to a version of Mendix which uses SDK version 2 for accessing AWS S3 storage. |
| 14 | + |
| 15 | +### `com.mendix.storage.s3.Region` and `com.mendix.storage.s3.EndPoint` Settings |
12 | 16 |
|
13 | 17 | SDK version 2 is stricter with these settings. |
14 | 18 |
|
15 | | -The `com.mendix.storage.s3.Region` setting must always be set to the region matching the region of the bucket. |
| 19 | +* `com.mendix.storage.s3.Region` – always set to the region matching the region of the bucket. |
16 | 20 |
|
17 | | -The `com.mendix.storage.s3.EndPoint` setting must either not be set or set to an endpoint matching the region, for example: `s3.eu-west-1.amazonaws.com`. |
| 21 | +* `com.mendix.storage.s3.EndPoint` – either do not set or set to an endpoint matching the region, for example: `s3.eu-west-1.amazonaws.com`. |
18 | 22 |
|
19 | | -When the region is not specified or there is an incompatibility between the two settings above, error logs will contain entries similar to following: |
| 23 | +When the region is not specified or there is an incompatibility between the two settings above, error logs will contain entries similar to the following: |
20 | 24 |
|
21 | | -``` |
| 25 | +``` text |
22 | 26 | - Unable to load region from any of the providers in the chain. |
23 | 27 | - The bucket you are attempting to access must be addressed using the specified endpoint. |
24 | 28 | - The authorization header is malformed; the region 'us-east-1' is wrong. |
25 | 29 | ``` |
26 | 30 |
|
27 | | -#### AWS Signature V2 Support (`com.mendix.storage.s3.UseV2Auth` Setting) |
| 31 | +### AWS Signature V2 Support |
28 | 32 |
|
29 | | -SDK version 2 does not support AWS Signature v2 which is enabled by `UseV2Auth` setting. This signature type is deprecated, and is not supported by new regions. For more information, see [AWS's Documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/specify-signature-version.html). |
| 33 | +SDK version 2 does not support AWS Signature v2 which is enabled by the [`com.mendix.storage.s3.UseV2Auth`](/refguide9/custom-settings/#commendixstorages3UseV2Auth) setting. This signature type is deprecated, and is not supported by new regions. For more information, see [AWS's Documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/specify-signature-version.html). |
30 | 34 |
|
31 | | -We do not expect this to have any effect when using Amazon S3. It will, however, prevent use of S3 compatible solutions which only support the v2 signature type. In situations like that, you need to switch to either Amazon S3 or a compatible solution that supports newer signature types. |
| 35 | +We do not expect this to have any effect when using Amazon S3. It will, however, prevent the use of S3-compatible solutions which only support the v2 signature type. In situations like that, you need to switch to either Amazon S3 or a compatible solution that supports newer signature types. |
32 | 36 |
|
33 | | -#### Client Side Encryption Changes |
| 37 | +### Client Side Encryption Changes |
34 | 38 |
|
35 | | -Client side encryption can be enabled using the `com.mendix.storage.s3.EncryptionKeys` setting. Previously, any encryption algorithm supported by the JDK could be used. With the new SDK only AES is supported. |
| 39 | +Client side encryption can be enabled using the [`com.mendix.storage.s3.EncryptionKeys`](/refguide9/custom-settings/#commendixstorages3EncryptionKeys) setting. Previously, any encryption algorithm supported by the JDK could be used. With the new SDK only AES is supported. |
36 | 40 |
|
37 | 41 | An error similar to the following will be printed in logs when an algorithm other than AES is used: |
38 | 42 |
|
39 | | -``` |
| 43 | +``` text |
40 | 44 | - Unsupported algorithm: DES |
41 | 45 | ``` |
42 | 46 |
|
43 | | -If you use an encryption algorithm other than `AES`, then all existing files should be migrated to use `AES` before upgrading to Mendix 11.6. This can be done by configuring a new `AES` key and rewriting all file documents. |
| 47 | +If you use an encryption algorithm other than `AES`, then all existing files should be migrated to use `AES` before upgrading to Mendix 9.24.41. This can be done by configuring a new `AES` key and rewriting all file documents. |
0 commit comments