ListObjects
Questa operazione restituisce alcuni o tutti gli oggetti in un bucket, fino a 1000.
Esempio di richiesta:
GET /{fully_qualified_bucket_name} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListBucketResult>
<Name>{fully_qualified_bucket_name}</Name>
<Prefix></Prefix>
<Marker></Marker>
<Contents>
<Key>example-object.jpg</Key>
<LastModified>2022-10-17T01:56:20.000Z</LastModified>
<ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
<Size>32347</Size>
<Owner>
<ID>canonical-user-id</ID>
<DisplayName>example-display-name</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
</Contents>
</ListBucketResult>
ListObjectsV2
Questa operazione restituisce alcuni o tutti gli oggetti in un bucket, fino a 1000.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}?list-type=2 HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListBucketResult>
<Name>{fully_qualified_bucket_name}</Name>
<Prefix></Prefix>
<Marker></Marker>
<Contents>
<Key>example-object.jpg</Key>
<LastModified>2022-10-17T01:56:20.000Z</LastModified>
<ETag>"bf1d937a4d46a19f3basdfeg5cc8b902"</ETag>
<Size>32347</Size>
<Owner>
<ID>canonical-user-id</ID>
<DisplayName>example-display-name</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
</Contents>
</ListBucketResult>
GetObject (versionId facoltativo)
Questa operazione recupera un oggetto da un bucket con un ID versione facoltativo fornito.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?versionId={object_version_id} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
Content-Length: 13432
[13432 bytes of object data]
GetObjectAcl (versionId facoltativo)
Questa operazione restituisce una risposta positiva e l'ID, il DisplayName e l'autorizzazione del proprietario dell'oggetto, indicando che il proprietario ha accesso completo all'oggetto. Per questa operazione è necessario fornire le credenziali di accesso all'account.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?acl&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
Content-Length: 157
<AccessControlPolicy>
<Owner>
<ID>canonical-user-id</ID>
<DisplayName>example-display-name</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee>
<ID>canonical-user-id</ID>
<DisplayName>example-display-name</DisplayName>
<Type>CanonicalUser</Type>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
</AccessControlPolicy>
GetObjectRetention (versionId facoltativo)
Questa operazione recupera la modalità di conservazione per l'oggetto specificato e la data di scadenza della conservazione di Object Lock. Il bucket deve avere una configurazione di blocco degli oggetti.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?retention&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Retention>
<Mode>COMPLIANCE</Mode>
<Timestamp>2022-10-17T01:56:20.000Z</Timestamp>
</Retention>
GetObjectLegalHold (versionId facoltativo)
Questa operazione recupera lo stato più recente della sospensione a fini legali di un oggetto. Il bucket deve avere una configurazione di blocco degli oggetti.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?legal-hold&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<LegalHold>
<Status>ON</Status>
</LegalHold>
GetObjectTagging (versionId facoltativo)
Questa operazione utilizza la risorsa secondaria tagging per restituire tutti i tag di un oggetto. Se il parametro versionId
non è specificato, l'operazione restituisce tutti i tag della versione più recente dell'oggetto in un bucket con controllo delle versioni. Se la versione corrente dell'oggetto è un indicatore di eliminazione, viene restituito lo stato MethodNotAllowed
con l'intestazione della risposta x-amz-deletemarker
impostata su true
.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
Date: Mon, 17 Oct 2022 22:47:09 GMT
<Tagging>
<TagSet>
<Tag>
<Key>tag1</Key>
<Value>val1</Value>
</Tag>
<Tag>
<Key>tag2</Key>
<Value>val2</Value>
</Tag>
</TagSet>
</Tagging>
PutObject
Questa operazione aggiunge un oggetto a un bucket. Per aggiungere un oggetto a un bucket, devi disporre delle autorizzazioni di scrittura corrette.
Versione 2 della crittografia
Per un bucket EV2 (Encryption Version 2), la richiesta utilizzerà una chiave AEAD predefinita per la crittografia se non vengono specificate chiavi personalizzate.
Per utilizzare una chiave AEAD personalizzata per la crittografia, è necessario impostare due intestazioni:
x-amz-server-side-encryption: SSE-KMS
: indica che questa richiesta sta tentando di utilizzare una chiave AEAD personalizzata.x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name}
: specifica la chiave destinata all'uso. Lo spazio dei nomi della chiave deve trovarsi nello stesso progetto del bucket.
Esempio di richiesta:
PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 5233
Content-type: text/plain
[5233 bytes of object data]
Esempio di risposta (operazione riuscita):
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
PutObjectTagging
Questa operazione utilizza la risorsa secondaria tagging per aggiungere un insieme di tag a un oggetto esistente.
Esempio di richiesta:
PUT /{fully_qualified_bucket_name}/{object_name}?tagging HTTP/1.1
Host: host
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: {length}
Content-type: text/plain
<Tagging>
<TagSet>
<Tag>
<key>my-tag-key</key>
<value>my-tag-value</value>
</Tag>
</TagSet>
</Tagging>
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
DeleteObject (versionId facoltativo)
Questa operazione consente di eliminare più oggetti da un singolo bucket con una sola richiesta. La richiesta può contenere un elenco di massimo 1000 chiavi da eliminare.
Esempio di richiesta:
DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
<Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Object>
<Key>object_one.jpg</Key>
<VersionId>1234568892</VersionId>
</Object>
<Object>
<Key>object_two.jpg</Key>
</Object>
</Delete>
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: 5h4FxSNCUS7wP5z92eGCWDshNpMnRuXvETa4HH3LvvH6VAIr0jU7tH9kM7X+njXx
x-amz-request-id: A437B3B641629AEE
Date: Fri, 02 Oct 2023 01:53:42 GMT
Content-Type: application/xml
Content-Length: 251
<?xml version="1.0" encoding="UTF-8"?>
<DeleteResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Deleted>
<Key>object_one.jpg</Key>
</Deleted>
<Error>
<Key>object_two.jpg</Key>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
</Error>
</DeleteResult>
DeleteObjects (versionId facoltativo)
Rimuove un oggetto da un bucket. Il comportamento dipende dallo stato del controllo delle versioni del bucket: - Se il controllo delle versioni del bucket non è abilitato, l'operazione elimina definitivamente l'oggetto. - Se il controllo delle versioni del bucket è abilitato, l'operazione inserisce un marcatore di eliminazione, che diventa la versione corrente dell'oggetto. Per eliminare definitivamente un oggetto in un bucket con controllo delle versioni, devi includere il versionId dell'oggetto nella richiesta.
Esempio di richiesta:
DELETE /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
DeleteObjectTagging (versionId facoltativo)
Questa operazione utilizza la risorsa secondaria di tagging per rimuovere tutti i tag da un oggetto.
Esempio di richiesta:
DELETE /{fully_qualified_bucket_name}/{object_name}?tagging&versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 204 NoContent
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
HeadObject (versionId facoltativo)
L'operazione HEAD recupera i metadati da un oggetto senza restituire l'oggetto stesso. Questa operazione è utile se ti interessano solo i metadati di un oggetto.
Esempio di richiesta:
HEAD /{fully_qualified_bucket_name}/{object_name}?versionId={VersionId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 200
x-amz-id-2: ef8yU9AS1ed4OpIszj7UDNEHGran
x-amz-request-id: 318BC8BC143432E5
x-amz-version-id: 3HL4kqtJlcpXroDTDmjVBH40Nrjfkd
Date: Wed, 28 Oct 2023 22:32:00 GMT
Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
ETag: "fba9dede5f27731c9771645a39863328"
Content-Length: 434234
Content-Type: text/plain
Connection: close
CreateMultipartUpload
Questa azione avvia un caricamento in più parti e restituisce un ID caricamento.
Un caricamento multiparte ti consente di aggiungere un singolo oggetto come un insieme di parti. Ogni parte è una porzione contigua dei dati dell'oggetto. Carica queste parti dell'oggetto in modo indipendente e in qualsiasi ordine.
L'ID caricamento restituito viene utilizzato per associare tutte le parti del caricamento in più parti specifico. Specifichi questo ID caricamento in ogni richiesta di parte di caricamento successiva. Utilizzi questo ID caricamento anche nella richiesta finale per completare o interrompere la richiesta di caricamento in più parti.
Versione 2 della crittografia
L'ID caricamento restituito per un bucket EV2(Encryption Version 2) verrà generato solo una volta. Se l'ID caricamento restituito da questa operazione viene perso, non può essere recuperato da ListMultipartUploads. Tuttavia, gli ID caricamento restituiti da ListMultipartUploads possono essere utilizzati per AbortMultipartUpload o ListParts. Solo l'ID restituito da CreateMultipartUpload può essere utilizzato per UploadPart o CompleteMultipartUpload.
Esempio di richiesta:
POST /{fully_qualified_bucket_name}/{object_name}?uploads HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<InitiateMultipartUploadResult>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<Key>{object_name}</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
</InitiateMultipartUploadResult>
ListMultipartUploads (max-uploads facoltativo)
Questa operazione elenca i caricamenti in più parti in corso per un bucket.
Versione 2 della crittografia
Gli ID caricamento restituiti da questa operazione funzioneranno solo con ListParts e AbortMultipartUpload.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}?uploads&max-uploads={max-uploads} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListMultipartUploadsResult>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<KeyMarker></KeyMarker>
<UploadIdMarker></UploadIdMarker>
<NextKeyMarker>my-movie.m2ts</NextKeyMarker>
<NextUploadIdMarker>YW55IGlkZWEgd2h5IGVsdmluZydzIHVwbG9hZCBmYWlsZWQ</NextUploadIdMarker>
<MaxUploads>3</MaxUploads>
<IsTruncated>true</IsTruncated>
<Upload>
<Key>{object_name}</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
<Initiator>
<ID>{canonical-user-id}</ID>
<DisplayName>InitiatorDisplayName</DisplayName>
</Initiator>
<Owner>
<ID>{canonical-owner-user-id}</ID>
<DisplayName>OwnerDisplayName</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
<Initiated>2022-10-17T01:56:20.000Z</Initiated>
</Upload>
</ListMultipartUploadsResult>
ListParts (max-parts facoltativo)
Questa operazione elenca le parti caricate per un caricamento in più parti specifico e restituisce un massimo predefinito di 1000 parti caricate. Devi includere l'ID caricamento, che viene ottenuto con la richiesta CreateMultipartUpload.
Versione 2 della crittografia
Per questa richiesta può essere utilizzato l'ID caricamento restituito da CreateMultipartUpload o ListMultipartUploads.
Esempio di richiesta:
GET /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&max-parts={max-parts} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<ListPartsResult>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<Key>{object_name}</Key>
<UploadId>{uploadId}</UploadId>
<Initiator>
<ID>{canonical-user-id}</ID>
<DisplayName>InitiatorDisplayName</DisplayName>
</Initiator>
<Owner>
<ID>{canonical-owner-id}</ID>
<DisplayName>OwnerDisplayName</DisplayName>
</Owner>
<StorageClass>STANDARD</StorageClass>
<PartNumberMarker></PartNumberMarker>
<NextPartNumberMarker></NextPartNumberMarker>
<MaxParts>{max-parts}</MaxParts>
<IsTruncated>true</IsTruncated>
<Part>
<PartNumber>2</PartNumber>
<LastModified>2022-10-17T01:56:20.000Z</LastModified>
<ETag>"7778aef8t866abc1fa1e8466f296d394"</ETag>
<Size>10485769</Size>
</Part>
<Part>
<PartNumber>3</PartNumber>
<LastModified>2022-10-17T01:56:20.000Z</LastModified>
<ETag>"aaab18db4cc2f85cedef854fccci24x8"</ETag>
<Size>10423760</Size>
</Part>
</ListPartsResult>
UploadPart
Questa operazione carica una parte in un caricamento multiparte per un oggetto.
Versione 2 della crittografia
Per un bucket EV2 (Encryption Version 2), devi utilizzare l'ID restituito da CreateMultipartUpload. Gli ID restituiti da ListMutlipartUploads non funzioneranno per questa richiesta.
Esempio di richiesta:
PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 345442
Content-MD5: +b9TrAB9F8ne7rJpPkqavQ==
[part data omitted, 345442 bytes of part data]
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
AbortMultipartUpload
Questa azione interrompe un caricamento in più parti e rende non valido l'ID caricamento per il caricamento di altre parti. Lo spazio di archiviazione utilizzato dalle parti caricate in precedenza viene liberato.
Versione 2 della crittografia
Per un bucket EV2 (Encryption Version 2), puoi utilizzare l'ID restituito da CreateMultipartUpload o ListMultipartUploads per questa operazione.
Esempio di richiesta:
DELETE /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Esempio di risposta (operazione riuscita):
HTTP/1.1 204 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
Date: Mon, 17 Oct 2022 22:47:09 GMT
CompleteMultipartUpload
Questa operazione completa un caricamento multiparte di un oggetto assemblando le parti caricate in precedenza.
Versione 2 della crittografia
Per un bucket EV2 (Encryption Version 2), devi utilizzare l'ID restituito da CreateMultipartUpload. Gli ID restituiti da ListMutlipartUploads NON funzioneranno per questa richiesta.
Per utilizzare una chiave AEAD personalizzata per la crittografia, è necessario impostare due intestazioni:
x-amz-server-side-encryption: SSE-KMS
: indica che questa richiesta sta tentando di utilizzare una chiave AEAD personalizzata.x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name}
: specifica la chiave destinata all'uso. Lo spazio dei nomi della chiave deve trovarsi nello stesso progetto del bucket.
Esempio di richiesta:
POST /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-Length: 391
Content-type: text/plain
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"a54357aff0632cce46d942af68356b38"</ETag>
</Part>
<Part>
<PartNumber>2</PartNumber>
<ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>
</Part>
<Part>
<PartNumber>3</PartNumber>
<ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</Part>
</CompleteMultipartUpload>
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6D
Date: Mon, 17 Oct 2022 22:47:09 GMT
<CompleteMultipartUploadResult>
<Location>http://{host}/{fully_qualified_bucket_name}/{object_name}</Location>
<Bucket>{fully_qualified_bucket_name}</Bucket>
<Key>{object_name}</Key>
<ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>
</CompleteMultipartUploadResult>
CopyObject
Questa operazione è un tipo speciale di PutObject in cui i dati vengono estratti da un oggetto di origine già presente nell'archiviazione di oggetti.
Il bucket di origine e la chiave dell'oggetto sono specificati come valore dell'intestazione x-amz-copy-source
separati da /
. Ad esempio, per copiare l'oggetto images/my_image.jpg
dal bucket my_bucket
, il valore da impostare è my_bucket/images/my_image.jpg
.
Versione 2 della crittografia
Per un bucket EV2 (Encryption Version 2), questo oggetto di origine deve provenire da un bucket Encryption V2, altrimenti l'operazione non andrà a buon fine.
Per utilizzare una chiave AEAD personalizzata per la crittografia, è necessario impostare due intestazioni:
x-amz-server-side-encryption: SSE-KMS
: indica che questa richiesta sta tentando di utilizzare una chiave AEAD personalizzata.x-amz-server-side-encryption-aws-kms-key-id: {custom_key_namespace}/{custom_key_name}
: specifica la chiave destinata all'uso. Lo spazio dei nomi della chiave deve trovarsi nello stesso progetto del bucket.
Esempio di richiesta:
PUT /{fully_qualified_bucket_name}/{object_name} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT
<CopyObjectResult>
<LastModified>2009-10-12T17:50:30.000Z</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>
UploadPartCopy
Questa operazione utilizzerà un oggetto già presente nell'archiviazione a oggetti come dati per una singola parte in un caricamento in più parti.
Il bucket di origine e la chiave dell'oggetto sono specificati come valore dell'intestazione x-amz-copy-source
separati da /
. Ad esempio, per copiare l'oggetto images/my_image.jpg
dal bucket my_bucket
, il valore da impostare è my_bucket/images/my_image.jpg
.
Versione 2 della crittografia
Questa operazione non è supportata per i bucket EV2 (Encryption Version 2).
Esempio di richiesta:
PUT /{fully_qualified_bucket_name}/{object_name}?uploadId={uploadId}&partNumber={partNumber} HTTP/1.1
Host: host
X-Amz-Copy-Source: my_bucket/images/my_image.jpg
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Esempio di risposta (operazione riuscita):
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIX
x-amz-request-id: B34E94CACB2CEF6C
x-amz-copy-source-version-id: 3/L4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo
Date: Mon, 17 Oct 2022 22:47:09 GMT
<CopyPartResult>
<ETag>string</ETag>
<LastModified>timestamp</LastModified>
<ChecksumCRC32>string</ChecksumCRC32>
<ChecksumCRC32C>string</ChecksumCRC32C>
<ChecksumSHA1>string</ChecksumSHA1>
<ChecksumSHA256>string</ChecksumSHA256>
</CopyPartResult>