View a markdown version of this page

PutObject (API SOAP) - Amazon Simple Storage Service

PutObject (API SOAP)

nota

As APIs SOAP para o Amazon S3 não estão disponíveis para novos clientes e chegam ao fim da vida útil (EOL) em 31 de agosto de 2025. Recomendamos usar a API REST ou os AWS SDKs.

A operação PutObject adiciona um objeto a um bucket. Os dados do objeto são anexados como um anexo DIME.

Para garantir que um objeto não seja corrompido na rede, calcule o MD5 de um objeto, realize PUT no Amazon S3 e compare o Etag retornado com o valor calculado de MD5.

Se um objeto já existir em um bucket, o novo objeto o substituirá porque o Amazon S3 armazena a última solicitação de gravação. No entanto, o Amazon S3 é um sistema distribuído. Se o Amazon S3 receber várias solicitações de gravação para o mesmo objeto quase simultaneamente, todos os objetos poderão ser armazenados, mesmo que apenas um vença no final. O Amazon S3 não fornece bloqueio de objetos; se você precisar disso, incorpore-o à camada de aplicativo.

exemplo

Este exemplo coloca alguns dados e metadados no objeto “Nelson” do bucket “quotes”, concede ao usuário (geralmente o proprietário) acesso FULL_CONTROL ao objeto e torna o objeto legível por partes anônimas. Neste exemplo, o anexo real não é mostrado.

Sample Request

<PutObject xmlns="https://doc.s3.amazonaws.com/2006-03-01"> <Bucket>quotes</Bucket> <Key>Nelson</Key> <Metadata> <Name>Content-Type</Name> <Value>text/plain</Value> </Metadata> <Metadata> <Name>family</Name> <Value>Muntz</Value> </Metadata> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>a9a7b886d6241bf9b1c61be666e9</ID> <DisplayName>chriscustomer</DisplayName> </Grantee> <Permission>FULL_CONTROL</Permission> </Grant> <Grant> <Grantee xsi:type="Group"> <URI>http://acs.amazonaws.com/groups/global/AllUsers<URI> </Grantee> <Permission>READ</Permission> </Grant> </AccessControlList> <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId> <Timestamp>2007-05-11T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObject>

Sample Response

<PutObjectResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <PutObjectResponse> <ETag>&quot;828ef3fdfa96f00ad9f27c383fc9ac7f&quot;</ETag> <LastModified>2006-03-01T12:00:00.183Z</LastModified> </PutObjectResponse> </PutObjectResponse>

Elementos

  • Bucket: O bucket ao qual adicionar o objeto.

  • Key: A chave a ser atribuída ao objeto.

  • Metadata: Você pode fornecer pares de metadados de nome e valor no elemento de metadados. Eles serão armazenados com o objeto.

  • ContentLength: O comprimento dos dados em bytes.

  • AccessControlList: Uma lista de controle de acesso para o recurso. O elemento é opcional. Se for omitido, o solicitante terá acesso FULL_CONTROL ao objeto. Se o objeto já existir, a política de controle de acesso preexistente será substituída.

Respostas

  • ETag: ETag (identificador de entidade) é um hash MD5 do objeto que você pode usar para fazer buscas condicionais do objeto usando GetObjectExtended. O ETag reflete apenas as alterações no conteúdo de um objeto, não nos metadados.

  • LastModified: O carimbo de data/hora do Amazon S3 para o objeto salvo.

Controle de acesso

Para colocar objetos em um bucket, você deve ter acesso WRITE ao bucket.

Recursos relacionados