

# データベース API
<a name="aws-glue-api-catalog-databases"></a>

Database API では、データベースのデータ型について説明し、これにはデータベースを作成、削除、検索、更新、および一覧表示するための API が含まれます。

## データ型
<a name="aws-glue-api-catalog-databases-objects"></a>
+ [データベース構造](#aws-glue-api-catalog-databases-Database)
+ [DatabaseInput 構造](#aws-glue-api-catalog-databases-DatabaseInput)
+ [PrincipalPermissions 構造](#aws-glue-api-catalog-databases-PrincipalPermissions)
+ [DataLakePrincipal 構造](#aws-glue-api-catalog-databases-DataLakePrincipal)
+ [DatabaseIdentifier 構造](#aws-glue-api-catalog-databases-DatabaseIdentifier)
+ [FederatedDatabase 構造](#aws-glue-api-catalog-databases-FederatedDatabase)

## データベース構造
<a name="aws-glue-api-catalog-databases-Database"></a>

`Database` オブジェクトは、Hive メタストアまたは RDBMS に存在する可能性のあるテーブルの論理グループを表します。

**フィールド**
+ `Name` – *必須:* UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  データベースの名前。Hive との互換性を保つため、これは保存時には小文字で折りた畳まれます。
+ `Description` – 説明文字列。2,048 バイト長以下。[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) に一致。

  データベースの説明。
+ `LocationUri` – Uniform resource identifier (uri)。1～1024 バイト長。[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) に一致。

  データベースの場所 (たとえば HDFS パスなど)。
+ `Parameters` – キーバリューペアのマップ配列。

  各キーはキー文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  各値は UTF-8 文字列で、512,000 バイト長以下です。

  これらのキー/値ペアはデータベースのパラメータとプロパティを定義します。
+ `CreateTime` – タイムスタンプ。

  メタデータデータベースがカタログに作成された時刻。
+ `CreateTableDefaultPermissions` – [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions) オブジェクトの配列。

  プリンシパル用のデフォルトのアクセス権限セットをテーブルに作成します。AWS Lake Formation で使用されます。AWS Glue オペレーションの通常の過程では使用されません。
+ `TargetDatabase` – [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier) オブジェクト。

  リソースリンク用のターゲットデータベースを記述する `DatabaseIdentifier` 構造。
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  データベースが存在するデータカタログの ID。
+ `FederatedDatabase` – [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase) オブジェクト。

  AWS Glue Data Catalog の外部のエンティティを参照する `FederatedDatabase` 構造。

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

データベースの作成または更新に使用される構造体。

**フィールド**
+ `Name` – *必須:* UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  データベースの名前。Hive との互換性を保つため、これは保存時には小文字で折りた畳まれます。
+ `Description` – 説明文字列。2,048 バイト長以下。[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) に一致。

  データベースの説明。
+ `LocationUri` – Uniform resource identifier (uri)。1～1024 バイト長。[URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) に一致。

  データベースの場所 (たとえば HDFS パスなど)。
+ `Parameters` – キーバリューペアのマップ配列。

  各キーはキー文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  各値は UTF-8 文字列で、512,000 バイト長以下です。

  これらのキー/値ペアはデータベースのパラメータとプロパティを定義します。

  これらのキー/値ペアはデータベースのパラメータとプロパティを定義します。
+ `CreateTableDefaultPermissions` – [PrincipalPermissions](#aws-glue-api-catalog-databases-PrincipalPermissions) オブジェクトの配列。

  プリンシパル用のデフォルトのアクセス権限セットをテーブルに作成します。AWS Lake Formation で使用されます。AWS Glue オペレーションの通常の過程では使用されません。
+ `TargetDatabase` – [DatabaseIdentifier](#aws-glue-api-catalog-databases-DatabaseIdentifier) オブジェクト。

  リソースリンク用のターゲットデータベースを記述する `DatabaseIdentifier` 構造。
+ `FederatedDatabase` – [FederatedDatabase](#aws-glue-api-catalog-databases-FederatedDatabase) オブジェクト。

  AWS Glue Data Catalog の外部のエンティティを参照する `FederatedDatabase` 構造。

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

プリンシパルに付与される許可です。

**フィールド**
+ `Principal` – [DataLakePrincipal](#aws-glue-api-catalog-databases-DataLakePrincipal) オブジェクト。

  許可を付与されたプリンシパル。
+ `Permissions` – UTF-8 文字列の配列。

  プリンシパルに付与される許可。

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

AWS Lake Formation プリンシパルです｡

**フィールド**
+ `DataLakePrincipalIdentifier` – UTF-8 文字列、1～255 バイト長。

  AWS Lake Formation プリンシパルの識別子。

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

リソースリンク用のターゲットデータベースを記述する 構造。

**フィールド**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  データベースが存在するデータカタログの ID。
+ `DatabaseName` – UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  カタログデータベースの名前。
+ `Region` – UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  ターゲットデータベースのリージョン。

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

AWS Glue Data Catalog の外部のエンティティを指すデータベース。

**フィールド**
+ `Identifier` – UTF-8 文字列。1 ～ 512 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  フェデレーションデータベースの一意の識別子。
+ `ConnectionName` – UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  外部メタストアへの接続の名前。
+ `ConnectionType` – UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  JDBC、ODBC、またはその他のサポートされている接続プロトコルなど、フェデレーティッドデータベースへのアクセスに使用される接続のタイプ。

## 操作
<a name="aws-glue-api-catalog-databases-actions"></a>
+ [CreateDatabase アクション (Python: create\_database)](#aws-glue-api-catalog-databases-CreateDatabase)
+ [UpdateDatabase アクション (Python: update\_database)](#aws-glue-api-catalog-databases-UpdateDatabase)
+ [DeleteDatabase アクション (Python: delete\_database)](#aws-glue-api-catalog-databases-DeleteDatabase)
+ [GetDatabase アクション (Python: get\_database)](#aws-glue-api-catalog-databases-GetDatabase)
+ [GetDatabases アクション (Python: get\_databases)](#aws-glue-api-catalog-databases-GetDatabases)

## CreateDatabase アクション (Python: create\_database)
<a name="aws-glue-api-catalog-databases-CreateDatabase"></a>

データカタログに新しいデータベースを作成します。

**リクエスト**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  データベースを作成するデータカタログの ID。設定しない場合は、AWS アカウント ID がデフォルトで使用されます。
+ `DatabaseInput` – *必須:* [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput) オブジェクト。

  データベースのメタデータ。
+ `Tags` – キーと値のペアのマップ配列。50 ペア以下。

  各キーは UTF-8 文字列で、1～128 バイト長です。

  各値は UTF-8 文字列で、256 バイト長以下です。

  データベースに割り当てるタグ。

**レスポンス**
+ *応答パラメータはありません。*

**エラー**
+ `InvalidInputException`
+ `AlreadyExistsException`
+ `ResourceNumberLimitExceededException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `FederatedResourceAlreadyExistsException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## UpdateDatabase アクション (Python: update\_database)
<a name="aws-glue-api-catalog-databases-UpdateDatabase"></a>

データカタログの既存のデータベース定義を更新します。

**リクエスト**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  メタデータのデータベースが存在するデータカタログの ID。設定しない場合は、AWS アカウント ID がデフォルトで使用されます。
+ `Name` – *必須:* UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  カタログで更新するデータベースの名前。Hive 互換性のために、これは小文字で表記されます。
+ `DatabaseInput` – *必須:* [DatabaseInput](#aws-glue-api-catalog-databases-DatabaseInput) オブジェクト。

  カタログ内のメタデータデータベースの新しい定義を指定する `DatabaseInput` オブジェクト。

**レスポンス**
+ *応答パラメータはありません。*

**エラー**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `ConcurrentModificationException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`
+ `AlreadyExistsException`

## DeleteDatabase アクション (Python: delete\_database)
<a name="aws-glue-api-catalog-databases-DeleteDatabase"></a>

指定されたデータベースをデータカタログから削除します。

**注記**  
このオペレーションが完了すると、削除されたデータベース内のテーブル (それらのテーブルに属する可能性のあるすべてのテーブルのバージョンとパーティションも含む) とユーザー定義関数にはアクセスできなくなります。AWS Glue では、このサービスの裁量により、これらの「孤立した」リソースを適時に非同期的に削除します。  
関連するすべてのリソースを確実にすぐに削除するには、`DeleteDatabase` を呼び出す前に、`DeleteTableVersion`/`BatchDeleteTableVersion`、`DeletePartition`/`BatchDeletePartition`、`DeleteUserDefinedFunction`、`DeleteTable`/`BatchDeleteTable` を使用して、データベースに属するすべてのリソースを削除します。

**リクエスト**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  データベースが存在するデータカタログの ID。設定しない場合は、AWS アカウント ID がデフォルトで使用されます。
+ `Name` – *必須:* UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  削除するデータベースの名前。Hive との互換性を保つため、名前はすべて小文字にする必要があります。

**レスポンス**
+ *応答パラメータはありません。*

**エラー**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## GetDatabase アクション (Python: get\_database)
<a name="aws-glue-api-catalog-databases-GetDatabase"></a>

指定されたデータベースの定義を取得します。

**リクエスト**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  データベースが存在するデータカタログの ID。設定しない場合は、AWS アカウント ID がデフォルトで使用されます。
+ `Name` – *必須:* UTF-8 文字列。1～255 バイト長。[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) に一致。

  取得するデータベースの名前。Hive 互換性のために、これはすべて小文字にする必要があります。

**レスポンス**
+ `Database` – [データベース](#aws-glue-api-catalog-databases-Database) オブジェクト。

  データカタログ内の指定されたデータベースの定義。

**エラー**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`

## GetDatabases アクション (Python: get\_databases)
<a name="aws-glue-api-catalog-databases-GetDatabases"></a>

指定されたデータカタログで定義されているすべてのデータベースを取得します。

**リクエスト**
+ `CatalogId` – カタログ ID 文字列、1～255 バイト長、「[Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine)」に一致。

  `Databases` を取得するデータカタログの ID。設定しない場合は、AWS アカウント ID がデフォルトで使用されます。
+ `NextToken` – UTF-8 文字列。

  継続トークン (これが継続呼び出しの場合)。
+ `MaxResults` – 数値 (integer)。1～100。

  1 回の応答で返すデータベースの最大数。
+ `ResourceShareType` – UTF-8 文字列 (有効な値: `FOREIGN` \| `ALL` \| `FEDERATED`)。

  アカウントと共有しているデータベースを一覧表示するように指定できます。指定できる値は、`FEDERATED`、`FOREIGN` または `ALL` です。
  + `FEDERATED` に設定した場合は、アカウントと共有されているフェデレーションデータベース (外部エンティティを参照) が一覧表示されます。
  + `FOREIGN` に設定した場合は、アカウントと共有されているデータベースが一覧表示されます。
  + `ALL` に設定した場合は、アカウントと共有されているデータベースと、ローカルアカウントのデータベースが一覧表示されます。
+ `AttributesToGet` – UTF-8 文字列の配列。

  `GetDatabases` 呼び出しによって返されるデータベースフィールドを指定します。このパラメータは空のリストを受け入れません。リクエストには `NAME` を含める必要があります。

**レスポンス**
+ `DatabaseList` – *必須:* [データベース](#aws-glue-api-catalog-databases-Database) オブジェクトの配列。

  指定されたカタログの `Database` オブジェクトのリスト。
+ `NextToken` – UTF-8 文字列。

  返されたトークンのリストをページ分割するための継続トークン。リストの現在のセグメントが最後のセグメントではない場合に返されます。

**エラー**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `GlueEncryptionException`
+ `EntityNotFoundException`
+ `FederationSourceException`
+ `FederationSourceRetryableException`