diff --git a/src/pages/[platform]/build-a-backend/storage/copy-files/index.mdx b/src/pages/[platform]/build-a-backend/storage/copy-files/index.mdx
index ea7a3fc485c..c08e79a6601 100644
--- a/src/pages/[platform]/build-a-backend/storage/copy-files/index.mdx
+++ b/src/pages/[platform]/build-a-backend/storage/copy-files/index.mdx
@@ -86,7 +86,8 @@ const copyFile = async () => {
path: 'album/2024/1.jpg',
// Specify a target bucket using name assigned in Amplify Backend
// or bucket name from console and associated region
- bucket: 'assignedNameInAmplifyBackend'
+ bucket: 'assignedNameInAmplifyBackend',
+ expectedBucketOwner: '123456789012'
},
destination: {
path: 'shared/2024/1.jpg',
@@ -95,7 +96,8 @@ const copyFile = async () => {
bucket: {
bucketName: 'generated-second-bucket-name',
region: 'us-east-2'
- }
+ },
+ expectedBucketOwner: '123456789013'
}
});
} catch (error) {
@@ -114,6 +116,9 @@ Option | Type | Default | Description |
| -- | :--: | :--: | ----------- |
| path | string \|
(\{ identityId \}) => string | Required | A string or callback that represents the path in source and destination bucket to copy the object to or from.
**Each segment of the path in `source` must by URI encoded.** |
| bucket | string \|
\{ bucketName: string;
region: string; \} | Default bucket and region from Amplify configuration | A string representing the target bucket's assigned name in Amplify Backend or an object specifying the bucket name and region from the console.
Read more at [Configure additional storage buckets](/[platform]/build-a-backend/storage/set-up-storage/#configure-additional-storage-buckets). |
+| eTag | string | Optional | The copy **source object** entity tag (ETag) value. Only Copies the object if its ETag matches the specified tag. |
+| notModifiedSince | Date | Optional | Copies the **source object** if it hasn't been modified since the specified time.
**This is evaluated only when `eTag` is NOT supplied**|
+| expectedBucketOwner | string | Optional | `source.expectedBucketOwner`: The account ID that owns the source bucket.
`destination.expectedBucketOwner`: The account ID that owns the destination bucket. |
diff --git a/src/pages/[platform]/build-a-backend/storage/download-files/index.mdx b/src/pages/[platform]/build-a-backend/storage/download-files/index.mdx
index 9c0c57daad8..2b7b190d8ee 100644
--- a/src/pages/[platform]/build-a-backend/storage/download-files/index.mdx
+++ b/src/pages/[platform]/build-a-backend/storage/download-files/index.mdx
@@ -106,6 +106,8 @@ const linkToStorageFile = await getUrl({
expiresIn: 300,
// whether to use accelerate endpoint
useAccelerateEndpoint: true,
+ // The account ID that owns the requested bucket.
+ expectedBucketOwner: '123456789012',
}
});
```
@@ -116,6 +118,7 @@ Option | Type | Default | Description |
| validateObjectExistence | boolean | false | Whether to head object to make sure the object existence before downloading. |
| expiresIn | number | 900 | Number of seconds till the URL expires.
The expiration time of the presigned url is dependent on the session and will max out at 1 hour. |
| useAccelerateEndpoint | boolean | false | Whether to use accelerate endpoint.
Read more at [Transfer Acceleration](/[platform]/build-a-backend/storage/extend-s3-resources/#example---enable-transfer-acceleration) |
+| expectedBucketOwner | string | Optional | The account ID that owns requested bucket. |
@@ -1188,6 +1191,7 @@ Option | Type | Default | Description |
| onProgress | callback | — | Callback function tracking the upload/download progress. |
| bytesRange | \{ start: number; end:number; \} | — | Bytes range parameter to download a part of the file. |
| useAccelerateEndpoint | boolean | false | Whether to use accelerate endpoint.
Read more at [Transfer Acceleration](/[platform]/build-a-backend/storage/extend-s3-resources/#example---enable-transfer-acceleration) |
+| expectedBucketOwner | string | Optional | The account ID that owns requested bucket. |
## Frequently Asked Questions
diff --git a/src/pages/[platform]/build-a-backend/storage/list-files/index.mdx b/src/pages/[platform]/build-a-backend/storage/list-files/index.mdx
index 546124747a9..13c3370a014 100644
--- a/src/pages/[platform]/build-a-backend/storage/list-files/index.mdx
+++ b/src/pages/[platform]/build-a-backend/storage/list-files/index.mdx
@@ -240,6 +240,7 @@ const result = await list({
| nextToken | string | — | Indicates whether the list is being continued on this bucket with a token |
| subpathStrategy | \{ strategy: 'include' \} \|
\{ 'exclude',
delimiter?: string \} | \{ strategy: 'include' \} | An object representing the subpath inclusion strategy and the delimiter used to group results for exclusion.
Read more at [Excluding subpaths](/[platform]/build-a-backend/storage/list-files/#excluding-subpaths) |
| useAccelerateEndpoint | boolean | false | Whether to use accelerate endpoint.
Read more at [Transfer Acceleration](/[platform]/build-a-backend/storage/extend-s3-resources/#example---enable-transfer-acceleration) |
+| expectedBucketOwner | string | Optional | The account ID that owns requested bucket. |
diff --git a/src/pages/[platform]/build-a-backend/storage/remove-files/index.mdx b/src/pages/[platform]/build-a-backend/storage/remove-files/index.mdx
index 27e081ec6eb..0ee372de282 100644
--- a/src/pages/[platform]/build-a-backend/storage/remove-files/index.mdx
+++ b/src/pages/[platform]/build-a-backend/storage/remove-files/index.mdx
@@ -389,4 +389,5 @@ Future remove() async {
Option | Type | Default | Description |
| -- | :--: | :--: | ----------- |
| bucket | string \|
\{ bucketName: string;
region: string; \} | Default bucket and region from Amplify configuration | A string representing the target bucket's assigned name in Amplify Backend or an object specifying the bucket name and region from the console.
Read more at [Configure additional storage buckets](/[platform]/build-a-backend/storage/set-up-storage/#configure-additional-storage-buckets) |
+| expectedBucketOwner | string | Optional | The account ID that owns requested bucket. |
diff --git a/src/pages/[platform]/build-a-backend/storage/upload-files/index.mdx b/src/pages/[platform]/build-a-backend/storage/upload-files/index.mdx
index ce8b9c66477..a4f264a9491 100644
--- a/src/pages/[platform]/build-a-backend/storage/upload-files/index.mdx
+++ b/src/pages/[platform]/build-a-backend/storage/upload-files/index.mdx
@@ -1566,7 +1566,11 @@ const result = await uploadData({
// configure how object is presented
contentDisposition: "attachment",
// whether to use accelerate endpoint
- useAccelerateEndpoint: true
+ useAccelerateEndpoint: true,
+ // the account ID that owns requested bucket
+ expectedBucketOwner: '123456789012',
+ // whether to check if an object with the same key already exists before completing the upload
+ preventOverwrite: true,
},
});
```
@@ -1578,6 +1582,8 @@ Option | Type | Default | Description |
| contentDisposition | string | — | Specifies presentational information for the object.
Read more at [Content-Disposition documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition) |
| metadata | map\ | — | A map of metadata to store with the object in S3.
Read more at [S3 metadata documentation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMetadata.html#UserMetadata) |
| useAccelerateEndpoint | boolean | false | Whether to use accelerate endpoint.
Read more at [Transfer Acceleration](/[platform]/build-a-backend/storage/upload-files/#transfer-acceleration) |
+| expectedBucketOwner | string | - | The account ID that owns requested bucket. |
+| preventOverwrite | boolean | false | Whether to check if an object with the same key already exists before completing the upload. If exists, a `Precondition Failed` error will be thrown |