

# API de banco de dados
<a name="aws-glue-api-catalog-databases"></a>

O Banco de dados da API descreve os tipos de dados do banco de dados e inclui a API para criar, excluir, localizar, atualizar e listar bancos de dados.

## Tipos de dados
<a name="aws-glue-api-catalog-databases-objects"></a>
+ [Estrutura Database](#aws-glue-api-catalog-databases-Database)
+ [Estrutura DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput)
+ [Estrutura PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions)
+ [Estrutura DataLakePrincipal](#aws-glue-api-catalog-databases-DataLakePrincipal)
+ [Estrutura DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier)
+ [Estrutura FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase)

## Estrutura Database
<a name="aws-glue-api-catalog-databases-Database"></a>

O objeto `Database` representa um agrupamento lógico de tabelas que podem residir em uma metastore do Hive ou um RDBMS.

**Campos**
+ `Name`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados. Para a compatibilidade com o Hive, as letras são transformadas em minúsculas quando a tabela é armazenada.
+ `Description`: string de descrição com no máximo 2.048 bytes de comprimento e correspondente a [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Uma descrição do banco de dados.
+ `LocationUri` – URI (Uniform Resource Identifier), maior que 1 ou maior que 1024 bytes de comprimento, correspondente a [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A localização do banco de dados (por exemplo, um caminho de HDFS).
+ `Parameters` – Um array de mapa dos pares de valor-chave.

  Cada chave é uma string de chave com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Cada valor é uma string UTF-8 com comprimento não superior a 512.000 bytes.

  Esses pares de chave/valor definem parâmetros e propriedades do banco de dados.
+ `CreateTime` – Timestamp.

  A hora em que o banco de dados de metadados foi criado no catálogo.
+ `CreateTableDefaultPermissions`: um array de objetos [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions).

  Cria um conjunto de permissões padrão na tabela para as entidades principais. Usado pelo AWS Lake Formation. Não usado no curso normal de operações do AWS Glue.
+ `TargetDatabase` – Um objeto [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier).

  Uma estrutura de `DatabaseIdentifier` que descreve um banco de dados de destino para vinculação de recursos.
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados reside.
+ `FederatedDatabase` – Um objeto [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase).

  Uma estrutura `FederatedDatabase` que referencia uma entidade fora do AWS Glue Data Catalog.

## Estrutura DatabaseInput
<a name="aws-glue-api-catalog-databases-DatabaseInput"></a>

A estrutura usada para criar ou atualizar um banco de dados.

**Campos**
+ `Name`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados. Para a compatibilidade com o Hive, as letras são transformadas em minúsculas quando a tabela é armazenada.
+ `Description`: string de descrição com no máximo 2.048 bytes de comprimento e correspondente a [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Uma descrição do banco de dados.
+ `LocationUri` – URI (Uniform Resource Identifier), maior que 1 ou maior que 1024 bytes de comprimento, correspondente a [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  A localização do banco de dados (por exemplo, um caminho de HDFS). 
+ `Parameters` – Um array de mapa dos pares de valor-chave.

  Cada chave é uma string de chave com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Cada valor é uma string UTF-8 com comprimento não superior a 512.000 bytes.

  Esses pares de chave/valor definem parâmetros e propriedades do banco de dados.

  Esses pares de chave/valor definem parâmetros e propriedades do banco de dados.
+ `CreateTableDefaultPermissions`: um array de objetos [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions).

  Cria um conjunto de permissões padrão na tabela para as entidades principais. Usado pelo AWS Lake Formation. Não usado no curso normal de operações do AWS Glue.
+ `TargetDatabase` – Um objeto [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier).

  Uma estrutura de `DatabaseIdentifier` que descreve um banco de dados de destino para vinculação de recursos.
+ `FederatedDatabase` – Um objeto [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase).

  Uma estrutura `FederatedDatabase` que referencia uma entidade fora do AWS Glue Data Catalog.

## Estrutura PrincipalPermissions
<a name="aws-glue-api-catalog-databases-PrincipalPermissions"></a>

Permissões concedidas a uma entidade principal.

**Campos**
+ `Principal` – Um objeto [DataLakePrincipal](#aws-glue-api-catalog-databases-DataLakePrincipal).

  A entidade principal que recebe permissões.
+ `Permissions` – Uma matriz de strings UTF-8.

  As permissões que são concedidas à entidade principal.

## Estrutura DataLakePrincipal
<a name="aws-glue-api-catalog-databases-DataLakePrincipal"></a>

A entidade principal do AWS Lake Formation.

**Campos**
+ `DataLakePrincipalIdentifier`: string UTF-8, não menos do que 1 ou superior a 255 bytes de comprimento.

  Um identificador para a entidade principal do AWS Lake Formation.

## Estrutura DatabaseIdentifier
<a name="aws-glue-api-catalog-databases-DatabaseIdentifier"></a>

Uma estrutura de que descreve um banco de dados de destino para vinculação de recursos.

**Campos**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados reside.
+ `DatabaseName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados do catálogo.
+ `Region` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Região do banco de dados de destino.

## Estrutura FederatedDatabase
<a name="aws-glue-api-catalog-databases-FederatedDatabase"></a>

Um banco de dados que aponta para uma entidade fora do AWS Glue Data Catalog.

**Campos**
+ `Identifier`: string UTF-8 com no mínimo 1 e no máximo 512 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Um identificador exclusivo do banco de dados federado.
+ `ConnectionName` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome da conexão com o metastore externo.
+ `ConnectionType` – String UTF-8, superior a 1 e inferior a 255 bytes de comprimento, correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O tipo de conexão usado para acessar o banco de dados federado, como JDBC, ODBC ou outros protocolos de conexão compatíveis.

## Operações
<a name="aws-glue-api-catalog-databases-actions"></a>
+ [Ação CreateDatabase (Python: create\$1database)](#aws-glue-api-catalog-databases-CreateDatabase)
+ [Ação UpdateDatabase (Python: update\$1database)](#aws-glue-api-catalog-databases-UpdateDatabase)
+ [Ação DeleteDatabase (Python: delete\$1database)](#aws-glue-api-catalog-databases-DeleteDatabase)
+ [Ação GetDatabase (Python: get\$1database)](#aws-glue-api-catalog-databases-GetDatabase)
+ [Ação GetDatabases (Python: get\$1databases)](#aws-glue-api-catalog-databases-GetDatabases)

## Ação CreateDatabase (Python: create\$1database)
<a name="aws-glue-api-catalog-databases-CreateDatabase"></a>

Cria um novo banco de dados em um catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados será criado. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `DatabaseInput` – *Obrigatório:* um objeto [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput).

  Os metadados para o banco de dados.
+ `Tags`: uma matriz de mapa dos pares de chave-valor, não mais que 50 pares.

  Cada chave é uma string UTF-8, com comprimento entre 1 e 128 bytes.

  Cada valor é uma string UTF-8, inferior a 256 bytes de comprimento.

  As tags que você atribui ao banco de dados.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `InvalidInputException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `FederatedResourceAlreadyExistsException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## Ação UpdateDatabase (Python: update\$1database)
<a name="aws-glue-api-catalog-databases-UpdateDatabase"></a>

Atualiza uma definição de banco de dados existente no catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados de metadados reside. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `Name`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados a ser atualizado no catálogo. Para a compatibilidade com o Hive, as letras são transformadas em minúsculas.
+ `DatabaseInput` – *Obrigatório:* um objeto [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput).

  Um objeto `DatabaseInput` que especifica a nova definição do banco de dados de metadados no catálogo.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`
+ `AlreadyExistsException`

## Ação DeleteDatabase (Python: delete\$1database)
<a name="aws-glue-api-catalog-databases-DeleteDatabase"></a>

Remove um banco de dados especificado de um Catálogo de dados.

**nota**  
Depois de concluir essa operação, você não terá mais acesso às tabelas (e a todas as versões de tabela e partições que podem pertencer às tabelas) e às funções definidas pelo usuário no banco de dados excluído. O AWS Glue exclui esses recursos “órfãos” de forma assíncrona e pontual, a critério do serviço.  
Para garantir exclusão imediata de todos os recursos relacionados, antes de chamar `DeleteDatabase`, use `DeleteTableVersion` ou `BatchDeleteTableVersion`, `DeletePartition` ou `BatchDeletePartition`, `DeleteUserDefinedFunction`, e `DeleteTable` ou `BatchDeleteTable`, para excluir qualquer recurso que pertence à tabela.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados reside. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `Name`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados a ser excluído. Para a compatibilidade com o Hive, ele deve ser todo inserido em letras minúsculas.

**Resposta**
+ *Nenhum parâmetro de resposta.*

**Erros**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## Ação GetDatabase (Python: get\$1database)
<a name="aws-glue-api-catalog-databases-GetDatabase"></a>

Recupera a definição de um banco de dados especificado.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados em que o banco de dados reside. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `Name`: *obrigatório:* string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O nome do banco de dados a ser recuperado. Para a compatibilidade com o Hive, ele deve ser inserido todo em letras minúsculas.

**Resposta**
+ `Database` – Um objeto [Banco de dados](#aws-glue-api-catalog-databases-Database).

  A definição do banco de dados especificado no Catálogo de dados.

**Erros**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## Ação GetDatabases (Python: get\$1databases)
<a name="aws-glue-api-catalog-databases-GetDatabases"></a>

Recupera todos os bancos de dados definidos em determinado Catálogo de dados.

**Solicitação**
+ `CatalogId`: string de ID de catálogo com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  O ID do catálogo de dados de onde `Databases` será recuperado. Se nenhum for fornecido, o ID da conta da AWS será usado por padrão.
+ `NextToken` – String UTF-8.

  Um token de continuação, se esta for uma chamada de continuação.
+ `MaxResults`: número (inteiro), não menos do que 1 ou superior a 100.

  O número máximo de bancos de dados a ser retornado em uma resposta.
+ `ResourceShareType` – String UTF-8 (valores válidos: `FOREIGN` \$1 `ALL` \$1 `FEDERATED`).

  Permite que você especifique que deseja listar os bancos de dados compartilhados com sua conta. Os valores permitidos são `FEDERATED`, `FOREIGN` ou `ALL`. 
  + Se definido como `FEDERATED`, listará os bancos de dados federados (que referenciam uma entidade externa) compartilhados com sua conta.
  + Se definido como `FOREIGN`, listará os bancos de dados compartilhados com sua conta. 
  + Se definido como `ALL`, listará os bancos de dados compartilhados com sua conta, bem como os bancos de dados em sua conta local. 
+ `AttributesToGet` – Uma matriz de strings UTF-8.

  Especifica os campos do banco de dados retornados pela chamada `GetDatabases`. Esse parâmetro não aceita uma lista vazia. A solicitação deve incluir o `NAME`.

**Resposta**
+ `DatabaseList` – *Obrigatório:* uma matriz de objetos [Banco de dados](#aws-glue-api-catalog-databases-Database).

  Uma lista de objetos `Database` do catálogo especificado.
+ `NextToken` – String UTF-8.

  Um token de continuação para paginação da lista de tokens retornada, retornado se o segmento atual da lista não for o último.

**Erros**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `EntityNotFoundException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`