

# Usar a AWS CLI para recriar um banco de dados do AWS Glue e suas tabelas
<a name="glue-recreate-db-and-tables-cli"></a>

Não é possível renomear um banco de dados do AWS Glue diretamente, mas você pode copiar a definição, modificar a definição e usá-la para recriar o banco de dados com um nome diferente. Da mesma forma, é possível copiar as definições das tabelas do banco de dados antigo, modificar as definições e usar as definições modificadas para recriar as tabelas no novo banco de dados.

**nota**  
 O método apresentado não copia o particionamento da tabela. 

O procedimento a seguir para o Windows pressupõe que a AWS CLI esteja configurada para saída JSON. Para alterar o formato de saída padrão na AWS CLI, execute `aws configure`.

**Para copiar um banco de dados do AWS Glue usando a AWS CLI**

1. Em um prompt de comando, execute o comando da AWS CLI a seguir para recuperar a definição do banco de dados do AWS Glue que você deseja copiar.

   ```
   aws glue get-database --name {{database_name}}
   ```

   Para obter mais informações sobre o comando `get-database`, consulte [get-database](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/get-database.html).

1. Salve a saída JSON em um arquivo com o nome do novo banco de dados (por exemplo, `{{new_database_name}}.json`) na área de trabalho.

1. Abra o arquivo `{{new_database_name}}.json` em um editor de textos.

1. No arquivo JSON, execute as seguintes etapas:

   1. Remova a entrada externa `{ "Database":` e a chave de fechamento correspondente `}` no final do arquivo.

   1. Altere a entrada `Name` para o nome do novo banco de dados.

   1. Remova o campo `CatalogId`.

1. Salve o arquivo.

1. Em um prompt de comando, execute o comando da AWS CLI a seguir para usar o arquivo de definição de banco de dados modificado para criar o banco de dados com o novo nome.

   ```
   aws glue create-database --database-input "file://~/Desktop\{{new_database_name}}.json"
   ```

   Para obter mais informações sobre o comando `create-database`, consulte [create-database](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/create-database.html). Para obter informações sobre como usar parâmetros da AWS CLI em um arquivo, consulte [Carregar os parâmetros da AWS CLI de um arquivo](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html) no *Guia do usuário da AWS Command Line Interface*.

1. Para verificar se o novo banco de dados foi criado no AWS Glue, execute o seguinte comando:

   ```
   aws glue get-database --name {{new_database_name}}
   ```

Agora você está pronto para obter a definição de uma tabela que deseja copiar para o novo banco de dados, modificar a definição e usar a definição modificada para recriar a tabela no novo banco de dados. Esse procedimento não altera o nome da tabela.

**Para copiar uma tabela do AWS Glue usando a AWS CLI**

1. Em um prompt de comando, execute o seguinte comando da AWS CLI.

   ```
   aws glue get-table --database-name {{database_name}} --name {{table_name}}
   ```

   Para obter mais informações sobre o comando `get-table`, consulte [get-table](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/get-table.html).

1. Salve a saída JSON em um arquivo com o nome da tabela (por exemplo, {{table\_name}}.json) na área de trabalho do Windows.

1. Abra o arquivo em um editor de textos.

1. No arquivo JSON, remova a entrada externa `{"Table": ` e a chave de fechamento correspondente `}` no final do arquivo.

1. No arquivo JSON, remova as seguintes entradas e os respectivos valores:
   + `DatabaseName`: esta entrada não é necessária porque o comando `create-table` da CLI usa o parâmetro `--database-name`.
   + `CreateTime`
   + `UpdateTime`
   + `CreatedBy`
   + `IsRegisteredWithLakeFormation`
   + `CatalogId`
   + `VersionId`

1. Salve o arquivo de definição da tabela.

1. Em um prompt de comando, execute o seguinte comando da AWS CLI para recriar a tabela no novo banco de dados:

   ```
   aws glue create-table --database-name {{new_database_name}} --table-input "file://~/Desktop\{{table_name}}.json"     
   ```

   Para obter mais informações sobre o comando `create-table`, consulte [create-table](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/glue/create-table.html).

   A tabela agora aparece no novo banco de dados no AWS Glue e pode ser consultada no Athena.

1. Repita as etapas para copiar cada tabela adicional para o novo banco de dados no AWS Glue.