

# PutObjectInline (API SOAP)
<a name="SOAPPutObjectInline"></a>

**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. 

**Example**  
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`  

```
 1. <PutObjectInline xmlns="https://doc.s3.amazonaws.com/2006-03-01">
 2.   <Bucket>quotes</Bucket>
 3.   <Key>Nelson</Key>
 4.   <Metadata>
 5.     <Name>Content-Type</Name>
 6.     <Value>text/plain</Value>
 7.   </Metadata>
 8.   <Metadata>
 9.     <Name>family</Name>
10.     <Value>Muntz</Value>
11.   </Metadata>
12.   <Data>aGEtaGE=</Data>
13.   <ContentLength>5</ContentLength>
14.   <AccessControlList>
15.     <Grant>
16.       <Grantee xsi:type="CanonicalUser">
17.         <ID>a9a7b886d6fde241bf9b1c61be666e9</ID>
18.         <DisplayName>chriscustomer</DisplayName>
19.       </Grantee>
20.       <Permission>FULL_CONTROL</Permission>
21.     </Grant>
22.     <Grant>
23.       <Grantee xsi:type="Group">
24.         <URI>http://acs.amazonaws.com/groups/global/AllUsers</URI>
25.       </Grantee>
26.       <Permission>READ</Permission>
27.     </Grant>
28.   </AccessControlList>
29.   <AWSAccessKeyId>AKIAIOSFODNN7EXAMPLE</AWSAccessKeyId>
30.   <Timestamp>2006-03-01T12:00:00.183Z</Timestamp>
31.   <Signature>Iuyz3d3P0aTou39dzbqaEXAMPLE=</Signature>
32. </PutObjectInline>
```
`Sample Response`  

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

## Elementos
<a name="SOAPPutObjectInlineElements"></a>
+ `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
<a name="SOAPPutObjectInlineResponse"></a>
+  `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
<a name="SOAPPutObjectInlineAccessControl"></a>

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

## Recursos relacionados
<a name="SOAPPutObjectInline_RelatedResources"></a>
+  [PutObject (API SOAP)](SOAPPutObject.md) 
+  [CopyObject (API SOAP)](SOAPCopyObject.md) 