View a markdown version of this page

PutObjectInline (API SOAP) - Amazon Simple Storage Service

PutObjectInline (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 PutObjectInline adiciona um objeto a um bucket. Os dados do objeto são fornecidos no corpo da mensagem SOAP.

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.

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.

PutObjectInline não é adequado para uso com objetos grandes. O sistema limita essa operação ao trabalho com objetos de 1 MB ou menos. PutObjectInline falhará com o código de status InlineDataTooLargeError se o parâmetro Data codificar um objeto com mais de 1 MB. Para fazer upload de objetos grandes, considere usar a API PutObject não integrada ou a API REST.

exemplo

Este exemplo grava alguns textos e metadados no objeto "Nelson" no 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.

Sample Request

<PutObjectInline 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> <Data>aGEtaGE=</Data> <ContentLength>5</ContentLength> <AccessControlList> <Grant> <Grantee xsi:type="CanonicalUser"> <ID>a9a7b886d6fde241bf9b1c61be666e9</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>2006-03-01T12:00:00.183Z</Timestamp> <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature> </PutObjectInline>

Sample Response

<PutObjectInlineResponse xmlns="https://s3.amazonaws.com/doc/2006-03-01"> <PutObjectInlineResponse> <ETag>&quot828ef3fdfa96f00ad9f27c383fc9ac7f&quot</ETag> <LastModified>2006-01-01T12:00:00.000Z</lastModified> </PutObjectInlineResponse> </PutObjectInlineResponse>

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.

  • Data: A forma com codificação base 64 dos dados.

  • 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

Você deve ter acesso WRITE ao bucket para colocar objetos no bucket.

Recursos relacionados