

# POST restauração de objeto
<a name="RESTObjectPOSTrestore"></a>

## Descrição
<a name="RESTObjectPOSTrestore-description"></a>

Essa operação executa os seguintes tipos de solicitações: 
+ `select`: executa uma consulta de seleção em um objeto arquivado
+ `restore an archive`: restaura um objeto arquivado

Para usar essa operação, você deve ter permissões para executar as ações `s3:RestoreObject` e `s3:GetObject`. O proprietário do bucket tem essa permissão por padrão e pode conceder essa permissão a outras pessoas. Para obter mais informações sobre as permissões, consulte [Permissões relacionadas a operações de subrecursos de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) e [Gerenciamento de permissões de acesso aos recursos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Consulta em arquivos com solicitações de seleção
<a name="RESTObjectPOSTrestore-select-request"></a>

Use um tipo de solicitação de seleção para executar consultas SQL em objetos arquivados. Os objetos arquivados que estão sendo consultados pela solicitação de seleção devem ser formatados como arquivos de valores separados por vírgulas (CSV) descompactados. É possível executar consultas e análises personalizadas dos dados arquivados sem precisar restaurá-los para um nível mais avançado do Amazon S3. Para uma visão geral sobre solicitações de seleção, confira [Consulta de objetos arquivados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/querying-glacier-archives.html) no *Guia do usuário do Amazon Simple Storage Service*.

Ao fazer uma solicitação de seleção:
+ Defina um local para a saída da consulta de seleção. Deve ser um bucket do Amazon S3 na mesma Região da AWS que o bucket que contém o objeto de arquivo que está sendo consultado. A Conta da AWS que inicia o trabalho deve ter permissões para gravação no bucket do S3. Você pode especificar a classe de armazenamento e a criptografia dos objetos de saída armazenados no bucket. Para obter mais informações sobre saída, confira [Consulta de objetos arquivados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/querying-glacier-archives.html) no *Guia do usuário do Amazon Simple Storage Service*.

  Para obter mais informações sobre a estrutura `S3` no corpo da solicitação, consulte:
  + [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
  + [Gerenciamento de acesso com ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3_ACLs_UsingACLs.html) no *Guia do usuário do Amazon Simple Storage Service*
  + [Proteção de dados usando criptografia do lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html) no *Guia do usuário do Amazon Simple Storage Service*
+ Defina a expressão SQL para o tipo de restauração `SELECT` da sua consulta na estrutura `SelectParameters` do corpo da solicitação. É possível usar expressões como os exemplos a seguir.
  + A expressão a seguir retorna todos os registros do objeto especificado.

    ```
    SELECT * FROM Object
    ```
  + Supondo que você não está usando nenhum cabeçalho para dados armazenados no objeto, é possível especificar colunas com cabeçalhos posicionais.

    ```
    SELECT s._1, s._2 FROM Object s WHERE s._3 > 100
    ```
  + Se houver cabeçalhos e você definir `fileHeaderInfo` na estrutura `CSV` no corpo da solicitação para `USE`, especifique cabeçalhos na consulta. (Se você definir o campo `fileHeaderInfo` para `IGNORE`, a primeira linha será ignorado na consulta.) Você não pode combinar posições ordinais com nomes de coluna de cabeçalho. 

    ```
    SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
    ```

Para obter mais informações sobre o uso do SQL com a restauração do Amazon Glacier Select, consulte [Referência de SQL para o Amazon S3 Select e o Amazon Glacier Select](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference.html) no *Guia do usuário do Amazon Simple Storage Service*. 

Ao fazer uma solicitação de seleção, você também pode fazer o seguinte:
+ Para agilizar as consultas, especifique o nível `Expedited`. Para obter mais informações sobre níveis, consulte "Restauração de arquivos", mais adiante neste tópico.
+ Especifique detalhes sobre o formato de serialização de dados do objeto de entrada que está sendo consultado e da serialização dos resultados de consulta codificados por CSV.

Confira a seguir outros fatos importantes sobre o recurso de seleção:
+ Os resultados de saída são novos objetos do Amazon S3. Diferente das recuperações de arquivo, eles são armazenados até serem excluídos de modo explícito, seja manualmente ou por meio de uma política de ciclo de vida.
+ Você pode emitir mais de uma solicitação de seleção no mesmo objeto do Amazon S3. O Amazon S3 não desduplica solicitações; portanto, evite emitir solicitações duplicadas.
+  O Amazon S3 aceita uma solicitação de seleção mesmo que o objeto já tenha sido restaurado. Uma solicitação de seleção não retorna uma resposta de erro `409`.

## Restauração de arquivos
<a name="RESTObjectPOSTrestore-restore-request"></a>

Objetos nas classes de armazenamento GLACIER e DEEP\_ARCHIVE são arquivados. Para acessar um objeto arquivado, você deve iniciar uma solicitação de restauração primeiro. Isso restaura uma cópia temporária do objeto arquivado. Na solicitação de restauração, especifique o número de dias que você deseja que a cópia restaurada exista. Após o período especificado, o Amazon S3 exclui a cópia temporária, mas o objeto permanece arquivado na classe de armazenamento GLACIER ou DEEP\_ARCHIVE da qual o objeto foi restaurado. 

Para restaurar uma versão específica do objeto, você pode fornecer um ID de versão. Se você não fornecer um ID de versão, o Amazon S3 restaurará a versão atual.

O tempo necessário para concluir as tarefas de restauração depende da classe de armazenamento da qual o objeto está sendo restaurado e do nível de acesso aos dados que você especificar. 

Ao restaurar um objeto arquivado (ou usar uma solicitação de seleção), você pode especificar uma das seguintes opções de nível de acesso aos dados no elemento `Tier` do corpo da solicitação: 
+ **`Expedited`** - as recuperações expressas permitem acessar rapidamente os dados armazenados na classe de armazenamento GLACIER quando forem necessárias solicitações urgentes ocasionais para um subconjunto de arquivos. Salvo para os maiores objetos arquivados (250 MB\+), os dados acessados usando recuperações expressas ficam normalmente disponíveis dentro de 1 a 5 minutos. A capacidade provisionada garante que sua capacidade de recuperação para recuperações expressas esteja disponível quando você precisar dela. As recuperações expressas e a capacidade provisionada não estão disponíveis para a classe de armazenamento DEEP\_ARCHIVE.
+ **`Standard`** - As recuperações padrão permitem que você acesse alguns de seus objetos arquivados em algumas horas. Esta é a opção padrão para solicitações de recuperação do GLACIER e DEEP\_ARCHIVE que não especificam a opção de recuperação. As recuperações padrão geralmente são concluídas em 3 a 5 horas a partir da classe de armazenamento GLACIER e em 12 horas a partir da classe de armazenamento DEEP\_ARCHIVE. 
+ **`Bulk`**: as recuperações em massa são a opção de recuperação de menor custo do Amazon Glacier, permitindo recuperar grandes quantidades de dados, até mesmo petabytes, com um custo baixo em um dia. As recuperações em massa geralmente são concluídas em 5 a 12 horas a partir da classe de armazenamento GLACIER e em 48 horas a partir da classe de armazenamento DEEP\_ARCHIVE.

Para obter mais informações sobre opções de recuperação de arquivo e capacidade provisionada para acesso aos dados `Expedited`, consulte [Restauração de objetos arquivados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html) no *Guia do desenvolvedor do Amazon Simple Storage Service*. 

Você pode usar a atualização rápida de restauração do Amazon S3 para alterar a velocidade de restauração para uma mais rápida enquanto o processo estiver em andamento. Atualize a velocidade de uma restauração em andamento emitindo outra solicitação de restauração para o mesmo objeto, definindo um novo elemento de solicitação `Tier`. Ao emitir uma solicitação para atualizar o nível de restauração, você deve escolher um nível mais rápido do que o nível de restauração do andamento. Você não deve alterar outros parâmetros, como o elemento de solicitação `Days`. Para obter mais informações, consulte [Atualização da velocidade de uma restauração em andamento](https://docs.aws.amazon.com/AmazonS3/latest/userguide/restoring-objects.html#restoring-objects-upgrade-tier.title.html) no *Guia do usuário do Amazon Simple Storage Service*. 

Para obter o status da restauração do objeto, você pode enviar uma solicitação `HEAD`. As operações retornam o cabeçalho `x-amz-restore`, que fornece informações sobre o status da restauração, na resposta. Você pode usar as notificações de eventos do Amazon S3 para receber notificações quando uma restauração for iniciada ou concluída. Para obter mais informações, consulte [Configuração de notificações de eventos do Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/NotificationHowTo.html) no *Guia do usuário do Amazon Simple Storage Service*.

Depois de restaurar um objeto arquivado, você pode atualizar o período de restauração reemitindo a solicitação com um novo período. O Amazon S3 atualiza o período de restauração em relação à hora atual e cobra somente pela solicitação. Não há cobrança de transferência de dados. Você não pode atualizar o período de restauração quando o Amazon S3 está processando ativamente sua solicitação de restauração atual para o objeto.

Se o bucket tiver uma configuração de ciclo de vida com uma regra que inclui uma ação de expiração, a expiração do objeto substituirá a vida útil especificada em uma solicitação de restauração. Por exemplo, se você restaurar uma cópia do objeto por 10 dias, mas o objeto estiver programado para expirar em 3 dias, o Amazon S3 excluirá o objeto em 3 dias. Para obter mais informações sobre a configuração do ciclo de vida, consulte [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) e [Gerenciamento do ciclo de vida do objeto](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) no *Guia do usuário do Amazon Simple Storage Service*.

## Solicitações
<a name="RESTObjectPOSTrestore-requests"></a>

### Sintaxe
<a name="RESTObjectPOSTrestore-requests-syntax"></a>

```
1. POST /{{ObjectName}}?restore&versionId={{VersionID}} HTTP/1.1
2. Host: {{BucketName}}.s3.amazonaws.com
3. Date: {{date}}
4. Authorization: {{authorization string}} (see Autenticação de solicitações (AWS Signature Version 4))
5. Content-MD5: {{MD5}}
6. 
7.  {{request body }}
```

**nota**  
A sintaxe mostra alguns cabeçalhos da solicitação. Para obter uma lista completa, consulte “Cabeçalhos de solicitação”, mais adiante neste tópico.

### Parâmetros da solicitação
<a name="RESTObjectPOSTrestore-requests-request-parameters"></a>

Essa implementação da operação não usa parâmetros de solicitação.

### Cabeçalhos de solicitação
<a name="RESTObjectPOSTrestore-requests-request-headers"></a>


|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Content-MD5 | O resumo MD5 de 128 bits com codificação base64 dos dados. Você deve usar esse cabeçalho como uma verificação de integridade da mensagem para verificar se o corpo da solicitação não foi corrompido em trânsito. Para obter mais informações, consulte a [RFC 1864](http://www.ietf.org/rfc/rfc1864.txt).<br />Tipo: string <br />Padrão: nenhum | Sim  | 

### Elementos da solicitação
<a name="RESTObjectPOSTrestore-requests-request-elements"></a>

Veja a seguir um exemplo em XML de um corpo de solicitação para restaurar um arquivo. 

```
<RestoreRequest>
   <Days>2</Days> 
   <GlacierJobParameters>
     <Tier>Bulk</Tier>
   </GlacierJobParameters> 
</RestoreRequest>
```

A tabela a seguir explica o XML para restauração de arquivo no corpo da solicitação. 


|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| RestoreRequest | Contêiner para informações de restauração.<br />Tipo: Container | Sim | 
| Days | Vida útil da cópia restaurada (ativa). O número mínimo de dias em que você pode restaurar um objeto do Amazon Glacier é 1. Depois que a cópia do objeto atinge a vida útil especificada, o Amazon S3 a remove do bucket. Se você estiver restaurando um arquivo, esse elemento será necessário. <br />Não use esse elemento com um tipo de solicitação `SELECT`.<br />Tipo: número inteiro positivo<br />Antepassados: `RestoreRequest` | Sim, se estiver restaurando um arquivo | 
| GlacierJobParameters | Contêiner para parâmetros de trabalho da classe de armazenamento do S3 Glacier.<br />Não use esse elemento com um tipo de solicitação `SELECT`.<br />Tipo: Container<br />Antepassados: `RestoreRequest` | Não | 
| Tier | O nível de acesso aos dados a ser usado ao restaurar o arquivo. `Standard` é o padrão.<br />Tipo: Enum<br />Valores válidos: `Expedited` \| `Standard` \| `Bulk`<br />Antepassados: `GlacierJobParameters` | Não | 

O XML a seguir é o corpo da solicitação para uma consulta de seleção em um objeto arquivado: 

```
<RestoreRequest>
    <Type>SELECT</Type>
    <Tier>Expedited</Tier>
    <Description>Job description</Description>
    <SelectParameters>
          <Expression>Select * from Object</Expression>
          <ExpressionType>SQL</ExpressionType>
          <InputSerialization>
              <CSV>
                  <FileHeaderInfo>IGNORE</FileHeaderInfo>
                  <RecordDelimiter>\n</RecordDelimiter>
                  <FieldDelimiter>,</FieldDelimiter>
                  <QuoteCharacter>"</QuoteCharacter>
                  <QuoteEscapeCharacter>"</QuoteEscapeCharacter>
                  <Comments>#</Comments>
              </CSV>
           </InputSerialization>
         <OutputSerialization>
             <CSV>
                 <QuoteFields>ASNEEDED</QuoteFields>
                 <RecordDelimiter>\n</RecordDelimiter>
                 <FieldDelimiter>,</FieldDelimiter>
                 <QuoteCharacter>"</QuoteCharacter>
                 <QuoteEscapeCharacter>"</QuoteEscapeCharacter>
             </CSV>                                
         </OutputSerialization>
    </SelectParameters>
    <OutputLocation>
        <S3>
	     <BucketName>Name of bucket</BucketName>
            <Prefix>Key prefix</Prefix>
	      <CannedACL>Canned ACL string</CannedACL>
	      <AccessControlList>
		    <Grantee>
		        <Type>Grantee Type</Type>
			 <ID>Grantee identifier</ID>
			 <URI>Grantee URI</URI>
		       <Permission>Granted permission</Permission>
                    <DisplayNmae>Display Name</DisplayName>
                    <EmailAddress>email</EmailAddress>
		    </Grantee>
	      </AccessControlList>
	      <Encryption>
	            <EncryptionType>Encryption type</EncryptionType>
		     <KMSKeyId>KMS Key ID</KMSKeyId>
		     <KMSContext>Base64-encoded JSON<KMSContext>
            </Encryption>
	     <UserMetadata>
               <MetadataEntry>
                   <Name>Key</Name>
                   <Value>Value</Value>
               </MetadataEntry>
            </UserMetadata>
            <Tagging>
                <TagSet>
                    <Tag>
                        <Key>Tag name</Key>
                        <Value>Tag value</Value>
                    </Tag>
               </TagSet>
            </Tagging>
            <StorageClass>Storage class</StorageClass>
	 </S3>
    </OutputLocation>
</RestoreRequest>
```

As tabelas a seguir explicam o XML para um tipo de restauração `SELECT` no corpo da solicitação. 


|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| RestoreRequest | Contêiner para informações de restauração.<br />Tipo: Container | Sim | 
| Tier | O nível de acesso aos dados a ser usado ao restaurar o arquivo. `Standard` é o padrão.<br />Tipo: Enum<br />Valores válidos: `Expedited` \| `Standard` \| `Bulk`<br />Antepassados: `RestoreRequest` | Não | 
| Description | A descrição opcional da solicitação.<br />Tipo: string<br />Antepassados: `RestoreRequest` | Não | 
| SelectParameters | Descreve os parâmetros da solicitação de trabalho de seleção.<br />Tipo: Container<br />Antepassados: `RestoreRequest` | Sim, se o tipo de solicitação for SELECT  | 
| OutputLocation | Descreve o local que recebe os resultados da solicitação de restauração de seleção.<br />Tipo: contêiner para Amazon S3<br />Antepassados: `RestoreRequest` | Sim, se o tipo de solicitação for SELECT  | 


**O elemento de contêiner `SelectParameters` possui os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Expression | A expressão SQL. Por exemplo:+  A expressão SQL a seguir recupera a primeira coluna dos dados do objeto armazenado no formato CSV: <br />`SELECT s._1 FROM Object s` <br />+  A expressão SQL a seguir retorna tudo do objeto: <br />`SELECT * FROM Object` <br />Tipo: string<br />Antepassados: `SelectParameters` | Sim | 
| ExpressionType | Identifica o tipo de expressão.<br />Tipo: string<br />Valores válidos: `SQL`<br />Antepassados: `SelectParameters` | Sim | 
| InputSerialization | Descreve o formato de serialização do objeto.<br />Tipo: contêiner para CSV<br />Antepassados: `SelectParameters` | Sim | 
| OutputSerialization | Descreve como os resultados do trabalho de seleção são serializados.<br />Tipo: contêiner para CSV<br />Antepassados: `SelectParameters` | Sim | 


**O elemento de contêiner CSV no elemento `InputSerialization` contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| RecordDelimiter | Um único caractere usado para separar registros individuais na entrada. Em vez do valor padrão, você pode especificar um delimitador arbitrário.<br />Tipo: string<br />Padrão: `\n`<br />Antepassados: `CSV` | Não | 
| FieldDelimiter | Um único caractere usado para separar campos individuais em um registro. Você pode especificar um delimitador arbitrário. <br />Tipo: string<br />Padrão: `,`<br />Antepassados: `CSV` | Não | 
| QuoteCharacter | Um único caractere usado como escape quando o delimitador de campo faz parte do valor.<br />Considere este exemplo em um arquivo CSV: <br />`"a, b" `<br />Colocar os valores entre aspas faz com que esse valor seja um campo único. Se você não usar as aspas, a vírgula será um delimitador de campo (o que a torna dois valores de campo separados, a e b).<br />Tipo: string<br />Padrão: `"`<br />Antepassados: `CSV` | Não | 
| QuoteEscapeCharacter | Um único caractere usado para fazer o escape do caractere de aspas em um valor que já recebeu escape. Por exemplo, o valor `""" a , b """` é analisado como `" a , b "`.<br />Tipo: string<br />Padrão: `"`<br />Antepassados: `CSV` | Não | 
| FileHeaderInfo | Descreve a primeira linha nos dados de entrada. É um dos valores de ENUM.+  `NONE`: a primeira linha não é um cabeçalho. <br />+  `IGNORE`: a primeira linha é um cabeçalho, mas você não pode usar os valores do cabeçalho para indicar a coluna em uma expressão. Você pode usar a posição da coluna (como \_1, \_2 etc.) para indicar a coluna (`SELECT s._1 FROM OBJECT s`). <br />+  `Use`: a primeira linha é um cabeçalho e você pode usar o valor do cabeçalho para identificar uma coluna em uma expressão (`SELECT "name" FROM OBJECT`).  <br />Tipo: Enum<br />Valores válidos: `NONE \| USE \| IGNORE`<br />Antepassados: `CSV` | Não | 
| Comments | Um único caractere usado para indicar que uma linha deve ser ignorada quando o caractere está presente no início da linha. Você pode especificar qualquer caractere para indicar uma linha de comentário.<br />Tipo: string<br />Antepassados: `CSV` | Não | 


**O elemento de contêiner CSV (nos elementos `OutputSerialization`) contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| QuoteFields | Indica se devem ser usadas aspas nos campos de saída. +  `ALWAYS`: sempre use aspas nos campos de saída. <br />+  `ASNEEDED`: use aspas nos campos de saída quando necessário. <br />Tipo: Enum<br />Valores válidos: `ALWAYS \| ASNEEDED`<br />Padrão: `AsNeeded`<br />Antepassados: `CSV` | Não | 
| RecordDelimiter | Um único caractere usado para separar registros individuais na saída. Em vez do valor padrão, você pode especificar um delimitador arbitrário. <br />Tipo: string<br />Padrão: `\n`<br />Antepassados: `CSV` | Não | 
| FieldDelimiter | Um único caractere usado para separar campos individuais em um registro. Você pode especificar um delimitador arbitrário. <br />Tipo: string<br />Padrão: `,`<br />Antepassados: `CSV` | Não | 
| QuoteCharacter | Um único caractere usado como escape quando o delimitador de campo faz parte do valor. Por exemplo, se o valor for `a, b`, o Amazon S3 colocará esse valor de campo entre aspas, do seguinte modo: `" a , b "`.<br />Tipo: string<br />Padrão: `"`<br />Antepassados: `CSV` | Não | 
| QuoteEscapeCharacter | Um único caractere usado para fazer o escape do caractere de aspas em um valor que já recebeu escape. Por exemplo, se o valor for `" a , b "`, o Amazon S3 colocará o valor entre aspas, do seguinte modo: `""" a , b """`.<br />Tipo: string<br />Antepassados: `CSV` | Não | 


**O elemento de contêiner do S3 (no elemento `OutputLocation`) contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| AccessControlList | Uma lista de concessões que controlam o acesso aos resultados intermediários. <br />Tipo: contêiner para concessão<br />Antepassados: `S3` | Não | 
| BucketName | O nome do bucket do S3 no qual os resultados da restauração de seleção são armazenados. O bucket deve estar na mesma Região da AWS do bucket que contém o objeto de arquivo de entrada.<br />Tipo: string<br />Antepassados: `S3` | Sim | 
| CannedACL | A lista de controle de acesso (ACL) pré-configurada a ser aplicada aos resultados da restauração de seleção.<br />Tipo: string<br />Valores válidos: ` private \| public-read \| public-read-write \| aws-exec-read \| authenticated-read \| bucket-owner-read \| bucket-owner-full-control`<br />Antepassados: `S3` | Não | 
| Encryption | Contém informações de criptografia dos resultados armazenados.<br />Tipo: contêiner para criptografia<br />Antepassados: `S3` | Não | 
| Prefix | O prefixo que precede os resultados da restauração de seleção. O tamanho máximo do prefixo é 512 bytes.<br />Tipo: string<br />Antepassados: `S3` | Sim | 
| StorageClass | A classe de armazenamento usada para armazenar os resultados da restauração de seleção.<br />Tipo: string<br />Valores válidos: `STANDARD` \| `REDUCED_REDUNDANCY` \| `STANDARD_IA` \| `ONEZONE_IA` <br />Antepassados: `S3 ` | Não | 
| Tagging | Contêiner para informações de tags.<br />Tipo: estrutura Tag<br />Antepassados: `S3 ` | Não | 
| UserMetadata | Contém uma lista de metadados a ser armazenada com os resultados da restauração de seleção.<br />Tipo: estrutura MetadataEntry<br />Antepassados: `S3` | Não | 


**O elemento do contêiner Grantee (no elemento `AccessControlList`) contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| DisplayName | O nome da tela do favorecido.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 
| EmailAddress | O endereço de e-mail do favorecido.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 
| ID | O ID de usuário canônico do favorecido.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 
| Type | O tipo do favorecido.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 
| URI | O URI do grupo do favorecido.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 
| Permission | Permissão concedida.<br />Tipo: string<br />Antepassados: `Grantee` | Não | 


**O elemento de contêiner `Encryption` (no S3) contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| EncryptionType | O algoritmo de criptografia no lado do servidor usado para armazenar os resultados do trabalho. O padrão é sem criptografia.<br />Tipo: string<br />Valores válidos `aws:kms \| AES256`<br />Antepassados: `Encryption`  | Não | 
| KMSContext | Opcional. Se o tipo de criptografia for `aws:kms`, você poderá usar esse valor para especificar o contexto da criptografia nos resultados da restauração de seleção.<br />Tipo: string<br />Antepassados: criptografia  | Não | 
| KMSKeyId | O ID da chave do AWS Key Management Service (AWS KMS) a ser usado na criptografia do objeto.<br />Tipo: string<br />Antepassados: `Encryption`  | Não | 


**O elemento de contêiner `TagSet` (no elemento `Tagging`) contém o seguinte elemento.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Tag | Contém tags.<br />Tipo: Container<br />Antepassados: `TagSet`  | Não | 


**O elemento de contêiner Tag (no elemento `TagSet`) contém os seguintes elementos.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| Key | Nome da tag. <br />Tipo: string<br />Antepassados: `Tag` | Não | 
| Value | Valor da tag.<br />Tipo: string<br />Antepassados: `Tag` | Não | 


**O elemento de contêiner `MetadataEntry` (no elemento `UserMetadata`) contém os seguintes elementos de par de chave-valor a serem armazenados com um objeto.**  

|  Name (Nome)  |  Descrição  |  Obrigatório  | 
| --- | --- | --- | 
| MetadataKey | A chave de metadados.<br />Tipo: string<br />Antepassados: `` | Não | 
| MetadataEntry | O valor dos metadados.<br />Tipo: string<br />Antepassados: `` | Não | 

## Respostas
<a name="RESTObjectPOSTrestore-responses"></a>

Uma operação bem-sucedida retorna o código de status `200 OK` ou `202 Accepted`. 
+ Se a cópia do objeto não tiver sido restaurada anteriormente, o Amazon S3 retornará `202 Accepted` na resposta. 
+ Se a cópia do objeto tiver sido restaurada anteriormente, o Amazon S3 retornará `200 OK` na resposta. 

### Cabeçalhos de resposta
<a name="RESTObjectPOSTrestore-responses-response-headers"></a>

Essa implementação da operação usa somente os cabeçalhos de resposta que são comuns à maioria das respostas. Para obter mais informações, consulte [Cabeçalhos de resposta comuns](RESTCommonResponseHeaders.md).

### Elementos de resposta
<a name="RESTObjectPOSTrestore-responses-response-elements"></a>

Essa operação não retorna elementos de resposta.

### Erros especiais
<a name="RESTObjectPOSTrestore-responses-special-errors"></a>


| Código de erro | Descrição | Código de status HTTP | Prefixo do código de falha SOAP | 
| --- | --- | --- | --- | 
| RestoreAlreadyInProgress | A restauração do objeto já está em andamento. (Esse erro não se aplica às solicitações do tipo SELECT.) | 409 Conflito | Cliente | 
| GlacierExpeditedRetrievalNotAvailable | As recuperações rápidas da classe de armazenamento do S3 Glacier não estão disponíveis no momento. Tente novamente mais tarde. (Retornado se não houver capacidade suficiente para processar a solicitação Expedited. Esse erro se aplica somente às recuperações Expedited e não às recuperações Standard ou Bulk.) | 503 | N/D | 

## Exemplos
<a name="RESTObjectPOSTrestore-responses-examples"></a>

### Restaurar um objeto por dois dias usando a opção de recuperação rápida
<a name="RESTObjectPOSTrestore-responses-examples-sample-request"></a>

A solicitação de restauração a seguir restaura uma cópia do objeto `photo1.jpg` do Amazon Glacier por um período de dois dias usando a opção de recuperação rápida.

```
 1. POST /photo1.jpg?restore HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com
 3. Date: Mon, 22 Oct 2012 01:49:52 GMT
 4. Authorization: {{authorization string}}
 5. Content-Length: {{content length}}
 6. 
 7. <RestoreRequest>
 8.   <Days>2</Days>
 9.   <GlacierJobParameters>
10.     <Tier>Expedited</Tier>
11.   </GlacierJobParameters>
12. </RestoreRequest>
```

Se o `examplebucket` não tiver uma cópia restaurada do objeto, o Amazon S3 retornará a seguinte resposta `202 Accepted`. 

```
HTTP/1.1 202 Accepted
x-amz-id-2: GFihv3y6+kE7KG11GEkQhU7/2/cHR3Yb2fCb2S04nxI423Dqwg2XiQ0B/UZlzYQvPiBlZNRcovw=
x-amz-request-id: 9F341CD3C4BA79E0
Date: Sat, 20 Oct 2012 23:54:05 GMT
Content-Length: 0
Server: AmazonS3
```

Se uma cópia do objeto já tiver sido restaurada, o Amazon S3 retornará uma resposta `200 OK` e atualizará somente o tempo de expiração da cópia restaurada.

### Consultar um arquivo com uma solicitação SELECT
<a name="RESTObjectPOSTrestore-responses-examples-select-request"></a>

Este é um exemplo de resposta de restauração de seleção.

```
 1. POST /object-one.csv?restore HTTP/1.1
 2. Host: examplebucket.s3.amazonaws.com
 3. Date: Date: Sat, 20 Oct 2012 23:54:05 GMT
 4. Authorization: {{authorization string}}
 5. Content-Length: {{content length}}
 6. 
 7. <RestoreRequest xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
 8.   <Type>SELECT</Type>
 9.   <Tier>Expedited</Tier>
10.   <Description>this is a description</Description>
11.   <SelectParameters>
12.     <InputSerialization>
13.       <CSV>
14.         <FileHeaderInfo>IGNORE</FileHeaderInfo>
15.         <Comments>#</Comments>
16.         <QuoteEscapeCharacter>"</QuoteEscapeCharacter>
17.         <RecordDelimiter>\n</RecordDelimiter>
18.         <FieldDelimiter>,</FieldDelimiter>
19.         <QuoteCharacter>"</QuoteCharacter>
20.       </CSV>
21.     </InputSerialization>
22.     <ExpressionType>SQL</ExpressionType>
23.     <Expression>select * from object</Expression>
24.     <OutputSerialization>
25.       <CSV>
26.         <QuoteFields>ALWAYS</QuoteFields>
27.         <QuoteEscapeCharacter>"</QuoteEscapeCharacter>
28.         <RecordDelimiter>\n</RecordDelimiter>
29.         <FieldDelimiter>\t</FieldDelimiter>
30.         <QuoteCharacter>\'</QuoteCharacter>
31.       </CSV>
32.     </OutputSerialization>
33.   </SelectParameters>
34.   <OutputLocation>
35.     <S3>
36.       <BucketName>example-output-bucket</BucketName>
37.       <Prefix>test-s3</Prefix>
38.       <AccessControlList>
39.         <Grant>
40.           <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail">
41.             <EmailAddress>jane-doe@example.com</EmailAddress>
42.           </Grantee>
43.           <Permission>FULL_CONTROL</Permission>
44.         </Grant>
45.       </AccessControlList>
46.       <UserMetadata>
47.         <MetadataEntry>
48.           <Name>test</Name>
49.           <Value>test-value</Value>
50.         </MetadataEntry>
51.         <MetadataEntry>
52.           <Name>other</Name>
53.           <Value>something else</Value>
54.         </MetadataEntry>
55.       </UserMetadata>
56.       <StorageClass>STANDARD</StorageClass>
57.     </S3>
58.   </OutputLocation>
59. </RestoreRequest>
```

 O Amazon S3 retorna a seguinte resposta `202 Accepted`. 

```
1. HTTP/1.1 202 Accepted
2. x-amz-id-2: GFihv3y6+kE7KG11GEkQhU7/2/cHR3Yb2fCb2S04nxI423Dqwg2XiQ0B/UZlzYQvPiBlZNRcovw=
3. x-amz-request-id: 9F341CD3C4BA79E0
4. x-amz-restore-output-path: js-test-s3/qE8nk5M0XIj-LuZE2HXNw6empQm3znLkHlMWInRYPS-Orl2W0uj6LyYm-neTvm1-btz3wbBxfMhPykd3jkl-lvZE7w42/
5. Date: Sat, 20 Oct 2012 23:54:05 GMT
6. Content-Length: 0
7. Server: AmazonS3
```

## Mais informações
<a name="RESTObjectPOSTrestore-responses-related-resources-post-res"></a>
+  [GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) 
+ [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
+ [Referência de SQL para Seleção do Amazon S3 e Seleção do S3 Glacier](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference.html) no *Guia do desenvolvedor do Amazon Simple Storage Service* 