

# API de la base de datos
<a name="aws-glue-api-catalog-databases"></a>

La API de la base de datos describe los tipos de datos de la base de datos e incluye la API de creación, eliminación, ubicación, actualización y enumeración de las bases de datos.

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

## Estructura de base de datos
<a name="aws-glue-api-catalog-databases-Database"></a>

El objeto `Database` representa una agrupación lógica de tablas que puede residir en un metaalmacén de Hive o en un RDBMS.

**Campos**
+ `Name`: *obligatorio:* cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El nombre de la base de datos. Para su compatibilidad con Hive, este se incorpora en minúsculas al almacenarse.
+ `Description`: cadena de descripción de un máximo de 2048 bytes de largo, que coincide con el [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Una descripción de la base de datos.
+ `LocationUri`: identificador uniforme de recursos (uri), con 1 byte de largo como mínimo y 1024 bytes de largo como máximo, que coincide con el [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  La ubicación de la base de datos (por ejemplo, una ruta de HDFS).
+ `Parameters`: matriz de mapas de pares clave-valor.

  Cada clave es una cadena de claves con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Cada valor es una cadena UTF-8 que no tiene más de 512000 bytes de largo.

  Estos pares de clave-valor definen los parámetros y las propiedades de la base de datos.
+ `CreateTime`: marca temporal.

  Hora de creación de la base de datos de metadatos en el catálogo.
+ `CreateTableDefaultPermissions`: matriz de objetos [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions).

  Permite crear un conjunto de permisos predeterminados en la tabla para las entidades principales. Utilizado por AWS Lake Formation. No se utiliza en el transcurso normal de las operaciones de AWS Glue.
+ `TargetDatabase`: un objeto [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier).

  Estructura `DatabaseIdentifier` que describe una base de datos de destino para la vinculación de recursos.
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde reside la base de datos.
+ `FederatedDatabase`: un objeto [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase).

  Una estructura `FederatedDatabase` que hace referencia a una entidad externa aAWS Glue Data Catalog.

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

Estructura usada para crear o actualizar una base de datos.

**Campos**
+ `Name`: *obligatorio:* cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El nombre de la base de datos. Para su compatibilidad con Hive, este se incorpora en minúsculas al almacenarse.
+ `Description`: cadena de descripción de un máximo de 2048 bytes de largo, que coincide con el [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  Una descripción de la base de datos.
+ `LocationUri`: identificador uniforme de recursos (uri), con 1 byte de largo como mínimo y 1024 bytes de largo como máximo, que coincide con el [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri).

  La ubicación de la base de datos (por ejemplo, una ruta de HDFS). 
+ `Parameters`: matriz de mapas de pares clave-valor.

  Cada clave es una cadena de claves con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Cada valor es una cadena UTF-8 que no tiene más de 512000 bytes de largo.

  Estos pares de clave-valor definen los parámetros y las propiedades de la base de datos.

  Estos pares de clave-valor definen los parámetros y las propiedades de la base de datos.
+ `CreateTableDefaultPermissions`: matriz de objetos [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions).

  Permite crear un conjunto de permisos predeterminados en la tabla para las entidades principales. Utilizado por AWS Lake Formation. No se utiliza en el transcurso normal de las operaciones de AWS Glue.
+ `TargetDatabase`: un objeto [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier).

  Estructura `DatabaseIdentifier` que describe una base de datos de destino para la vinculación de recursos.
+ `FederatedDatabase`: un objeto [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase).

  Una estructura `FederatedDatabase` que hace referencia a una entidad externa aAWS Glue Data Catalog.

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

Permisos concedidos a una entidad principal.

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

  La entidad principal a la que se conceden los permisos.
+ `Permissions`: matriz de cadenas UTF-8.

  Los permisos que se conceden al principal.

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

La AWS Lake Formation principal.

**Campos**
+ `DataLakePrincipalIdentifier`: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo.

  Un identificador para la AWS Lake Formation principal.

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

Estructura que describe una base de datos de destino para la vinculación de recursos.

**Campos**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde reside la base de datos.
+ `DatabaseName`: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nombre de la base de datos del catálogo.
+ `Region`: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Región de la base de datos objetivo.

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

Una base de datos que apunta a una entidad externa a AWS Glue Data Catalog.

**Campos**
+ `Identifier`: cadena UTF-8, con 1 byte de largo como mínimo y 512 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Un identificador único para la base de datos federada.
+ `ConnectionName`: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El nombre de la conexión al metalmacén externo.
+ `ConnectionType`: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El tipo de conexión utilizado para acceder a la base de datos federada, como JDBC, ODBC u otros protocolos de conexión compatibles.

## Operaciones
<a name="aws-glue-api-catalog-databases-actions"></a>
+ [Acción CreateDatabase (Python: create\$1database)](#aws-glue-api-catalog-databases-CreateDatabase)
+ [Acción UpdateDatabase (Python: update\$1database)](#aws-glue-api-catalog-databases-UpdateDatabase)
+ [Acción DeleteDatabase (Python: delete\$1database)](#aws-glue-api-catalog-databases-DeleteDatabase)
+ [Acción GetDatabase (Python: get\$1database)](#aws-glue-api-catalog-databases-GetDatabase)
+ [Acción GetDatabases (Python: get\$1databases)](#aws-glue-api-catalog-databases-GetDatabases)

## Acción CreateDatabase (Python: create\$1database)
<a name="aws-glue-api-catalog-databases-CreateDatabase"></a>

Crea una base de datos nueva en un Catálogo de datos.

**Solicitud**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde se crea la base de datos. Si no se proporciona ninguno, se usará de forma predeterminada el ID de cuenta de AWS.
+ `DatabaseInput`: *obligatorio:* objeto [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput).

  Los metadatos de la base de datos.
+ `Tags`: matriz de mapas de pares de clave-valor, con 50 pares como máximo.

  Cada clave es una cadena UTF-8 con una longitud de entre 1 y 128 bytes.

  Cada valor es una cadena UTF-8 que no tiene más de 256 bytes de largo.

  Las etiquetas que asigna a la base de datos.

**Respuesta**
+ *Sin parámetros de respuesta.*

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

## Acción UpdateDatabase (Python: update\$1database)
<a name="aws-glue-api-catalog-databases-UpdateDatabase"></a>

Actualiza una definición de base de datos existente en un Catálogo de datos.

**Solicitud**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde reside la base de datos de metadatos. Si no se proporciona ninguno, se usará de forma predeterminada el ID de cuenta de AWS.
+ `Name`: *obligatorio:* cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nombre de la base de datos que debe actualizarse en el catálogo. Para su compatibilidad con Hive, se convierte en minúsculas.
+ `DatabaseInput`: *obligatorio:* objeto [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput).

  Objeto `DatabaseInput` que especifica la nueva definición de la base de datos de metadatos en el catálogo.

**Respuesta**
+ *Sin parámetros de respuesta.*

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

## Acción DeleteDatabase (Python: delete\$1database)
<a name="aws-glue-api-catalog-databases-DeleteDatabase"></a>

Elimina una base de datos especificada de un Catálogo de datos.

**nota**  
Después de completar esta operación, ya no tendrá acceso a las tablas (y todas las versiones y particiones de tabla que podrían pertenecer a las tablas) ni a las funciones definidas por el usuario en la base de datos eliminada. AWS Glue elimina estos recursos “huérfanos” de manera asíncrona en forma oportuna, a discreción del servicio.  
Para asegurarse de la eliminación inmediata de todos los recursos relacionados, antes de llamar a `DeleteDatabase`, use `DeleteTableVersion` o `BatchDeleteTableVersion`, `DeletePartition` o `BatchDeletePartition`, `DeleteUserDefinedFunction` y `DeleteTable` o `BatchDeleteTable` para eliminar todos los recursos que pertenezcan a la base de datos.

**Solicitud**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde reside la base de datos. Si no se proporciona ninguno, se usará de forma predeterminada el ID de cuenta de AWS.
+ `Name`: *obligatorio:* cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El nombre de la base de datos que se va a eliminar. Para su compatibilidad con Hive, este debe estar completamente en minúsculas.

**Respuesta**
+ *Sin parámetros de respuesta.*

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

## Acción GetDatabase (Python: get\$1database)
<a name="aws-glue-api-catalog-databases-GetDatabase"></a>

Recupera la definición de una base de datos especificada.

**Solicitud**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde reside la base de datos. Si no se proporciona ninguno, se usará de forma predeterminada el ID de cuenta de AWS.
+ `Name`: *obligatorio:* cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  Nombre de la base de datos que debe recuperarse. Para su compatibilidad con Hive, el nombre debe estar completamente en minúsculas.

**Respuesta**
+ `Database`: un objeto [Base de datos](#aws-glue-api-catalog-databases-Database).

  La definición de la base de datos especificada en el catálogo.

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

## Acción GetDatabases (Python: get\$1databases)
<a name="aws-glue-api-catalog-databases-GetDatabases"></a>

Recupera todas las bases de datos definidas en un Catálogo de datos determinado.

**Solicitud**
+ `CatalogId`: cadena de ID de catálogo, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine).

  El ID del Catálogo de datos donde se recuperará `Databases`. Si no se proporciona ninguno, se usará de forma predeterminada el ID de cuenta de AWS.
+ `NextToken`: cadena UTF-8.

  Token de continuación si se trata de una llamada de continuidad.
+ `MaxResults`: número (entero) que no es inferior a 1 ni es superior a 100.

  Número máximo de bases de datos que se devuelven en una respuesta.
+ `ResourceShareType`: cadena UTF-8 (valores válidos: `FOREIGN` \$1 `ALL` \$1 `FEDERATED`).

  Le permite especificar que desea enumerar las bases de datos compartidas con su cuenta. Los valores permitidos son `FEDERATED`, `FOREIGN` o `ALL`. 
  + Si se establece en `FEDERATED`, enumerará las bases de datos federadas (que hacen referencia a una entidad externa) compartidas con la cuenta.
  + Si se establece en `FOREIGN`, enumerará las bases de datos compartidas con su cuenta. 
  + Si se establece en `ALL`, enumerará las bases de datos compartidas con su cuenta, así como las bases de datos de su cuenta local. 
+ `AttributesToGet`: matriz de cadenas UTF-8.

  Especifica los campos de la base de datos devueltos por la llamada `GetDatabases`. Este parámetro no acepta una lista vacía. La solicitud debe incluir `NAME`.

**Respuesta**
+ `DatabaseList` *(obligatorio):* una matriz de objetos [Base de datos](#aws-glue-api-catalog-databases-Database).

  Lista de objetos `Database` del catálogo especificado.
+ `NextToken`: cadena UTF-8.

  Token de continuación para paginar la lista de tokens obtenida; se devuelve si el segmento actual de la lista no es el último.

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