GET Bucket (listar objetos no bucket)
Essa operação retorna alguns ou todos os objetos em um bucket, até 1.000.
Exemplo de solicitação:
GET /{bucket_name} HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Exemplo de resposta (sucesso):
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>{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>
GET Bucket Versioning
Essa operação usa o subrecurso de controle de versões para retornar o estado de controle de versões de um bucket:
- Em branco: o controle de versões nunca foi ativado e o bucket não tem controle de versões.
- Ativado: o controle de versões está ativado.
- Suspenso: o controle de versões estava ativado e foi suspenso.
Exemplo de solicitação:
GET /{bucket_name}?versioning HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
X-amz-expected-bucket-owner: ExpectedBucketOwner (optional)
Exemplo de resposta (sucesso):
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
<VersioningConfiguration>
<Status>Enabled</Status>
</VersioningConfiguration>
GET Object
Essa operação recupera um objeto de um bucket.
Exemplo de solicitação:
GET /{bucket_name}/{object_name} HTTP/1.1
Host: host
Content-MD5: request header
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Exemplo de resposta (sucesso):
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]
GET Object Retention (versionId opcional)
Essa operação recupera o modo de retenção do objeto especificado e a data em que a retenção do Object Lock expira.
Exemplo de solicitação:
GET /{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)
Exemplo de resposta (sucesso):
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>
GET Object Tagging (versionId opcional)
Essa operação usa o subrecurso de inclusão de tags para retornar todas as tags de um objeto. Se o parâmetro versionId
não for especificado, a operação vai retornar todas as tags da versão mais recente do objeto em um bucket com controle de versões. Se a versão atual do objeto for um marcador de exclusão, um status MethodNotAllowed
será retornado com o cabeçalho de resposta x-amz-deletemarker
definido como true
.
Exemplo de solicitação:
GET /{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)
Exemplo de resposta (sucesso):
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>
PUT Object
Essa operação adiciona um objeto a um bucket. Você precisa ter as permissões de GRAVAÇÃO corretas em um bucket para adicionar um objeto a ele.
Exemplo de solicitação:
PUT /{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]
Exemplo de resposta (sucesso):
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"
PUT Object Tagging
Essa operação usa o subrecurso de inclusão de tags para adicionar um conjunto de tags a um objeto existente.
Exemplo de solicitação:
PUT /{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>
Exemplo de resposta (sucesso):
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
DELETE Object (versionId opcional)
Essa operação remove todas as cópias do objeto de todos os locais armazenados.
Exemplo de solicitação:
DELETE /{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
Exemplo de resposta (sucesso):
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
DELETE Object Tagging (versionId opcional)
Essa operação usa o subrecurso de inclusão de tags para remover todas as tags de um objeto.
Exemplo de solicitação:
DELETE /{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
Exemplo de resposta (sucesso):
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
Criar upload de várias partes
Essa ação inicia um upload em várias partes e retorna um ID de upload.
Com um upload de várias partes, é possível adicionar um único objeto como um conjunto de partes. Cada parte é uma porção contígua dos dados do objeto. Faça upload dessas partes do objeto de forma independente e em qualquer ordem.
O ID de upload retornado é usado para associar todas as partes no upload em várias partes específico. Você especifica esse ID em cada uma das solicitações de parte de upload subsequentes. Você também usa esse ID de upload na solicitação final para concluir ou cancelar a solicitação de upload de várias partes.
Exemplo de solicitação:
POST /{bucket_name}/{object_name}?uploads HTTP/1.1
Host: host
X-Amz-Date: date
X-Amz-Content-SHA256: authorization string
Content-type: text/plain
Exemplo de resposta (sucesso):
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>{bucket_name}</Bucket>
<Key>{object_name}</Key>
<UploadId>VXBsb2FkIElEIGZvciA2aWWpbmcncyBteS1tb3ZpZS5tMnRzIHVwbG9hZA</UploadId>
</InitiateMultipartUploadResult>
Listar uploads de várias partes (max-uploads opcional)
Essa operação lista os uploads de várias partes em andamento para um bucket.
Exemplo de solicitação:
GET /{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
Exemplo de resposta (sucesso):
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>{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>
Listar partes de um upload de várias partes (max-parts opcional)
Essa operação lista as partes enviadas para um upload de várias partes específico e retorna um máximo padrão de 1.000 partes enviadas. Você precisa incluir o ID do upload, que é obtido com a solicitação CreateMultipartUpload
.
Exemplo de solicitação:
GET /{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
Exemplo de resposta (sucesso):
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>{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>
Upload de parte
Essa operação faz upload de uma parte em um upload de várias partes para um objeto.
Exemplo de solicitação:
PUT /{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]
Exemplo de resposta (sucesso):
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"
Cancelar upload de várias partes
Essa ação cancela um upload de várias partes e torna o ID de upload inválido para o envio de outras partes. O armazenamento consumido por partes enviadas anteriormente é liberado.
Exemplo de solicitação:
DELETE /{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
Exemplo de resposta (sucesso):
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