Conditionally copying an object
You can use the x-amz-copy-source-if-match
, x-amz-copy-source-if-none-match
, x-amz-copy-source-if-modified-since
, and x-amz-copy-source-if-unmodified-since
request headers to make copy requests conditional:
- The
x-amz-copy-source-if-match
andx-amz-copy-source-if-none-match
headers compare the ETag of the source object or object version to one or more values that you specify. Typically, each value is the ETag for an object or object version of interest. - The
x-amz-copy-source-if-modified-since
andx-amz-copy-source-if-unmodified-since
headers compare the date and time the source object or object version was last modified to a date and time that you specify.
If the source object or object version:
- Meets all the conditions specified by the conditional headers included in the request, HCP performs the copy operation.
- Does not meet all the conditions specified by the conditional headers included in the request, HCP returns a 412 (Precondition Failed) status code and does not copy the object.
If a request includes multiple different conditional headers, HCP processes any x-amz-copy-source-if-match
and x-amz-copy-source-if-none-match
headers before any x-amz-copy-source-if-modified-since
or x-amz-copy-source-if-unmodified-since
headers. If a request includes more than one of any given header, HCP processes only the first one of those headers and ignores the others.
NoteThe
x-amz-copy-source-if-modified-since
and x-amz-copy-source-if-unmodified-since
request headers are not compatible with s3curl.