分類子 API
分類子 API では、AWS Glue 分類子のデータ型について説明します。これには、分類子を作成、削除、更新、および一覧表示するための API が含まれます。
データ型
分類子の構造
分類子は、クロールタスクでトリガーされます。分類子は、指定されたファイルが処理可能な形式であるかどうかをチェックします。処理可能な場合、分類子は、そのデータ形式と一致する StructType オブジェクトの形式でスキーマを作成します。
AWS Glue に用意されている標準の分類子を使用することも、独自の分類子を作成して、データソースの最適な分類を行い、これらに使用する適切なスキーマを指定することもできます。分類子として、Classifier オブジェクトの各フィールドに指定されている grok 分類子、XML 分類子、JSON 分類子、または CSV 分類子のいずれかを使用できます。
フィールド
-
GrokClassifier– GrokClassifier オブジェクト。grokを使用する分類子。 -
XMLClassifier– XMLClassifier オブジェクト。XML コンテンツの分類子。
-
JsonClassifier– JsonClassifier オブジェクト。JSON コンテンツの分類子。
-
CsvClassifier– CsvClassifier オブジェクト。カンマ区切り値 (CSV) の分類子。
GrokClassifier の構造
grok パターンを使用する分類子。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
Classification– 必須: UTF–8 文字列。Twitter、JSON、Omniture ログなど、分類子が一致するデータ形式の識別子。
-
CreationTime– タイムスタンプ。分類子が登録された時刻。
-
LastUpdated– タイムスタンプ。分類子が最後に更新された時刻。
-
Version– 数値 (long)。分類子のバージョン。
-
GrokPattern– 必須: UTF-8 文字列。1 ~ 2048 バイト長。A Logstash Grok string pattern に一致。分類子によってデータストアに適用される grok パターン。詳細については、「カスタム分類子の書き込み」の組み込みパターンを参照してください。
-
CustomPatterns- UTF-8 文字列。16,000 バイト長以下。URI address multi-line string pattern に一致。この分類子によって定義されたオプションのカスタム Grok パターン。詳細については、「カスタム分類子の書き込み」のカスタムパターンを参照してください。
XMLClassifier の構造
XML コンテンツの分類子。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
Classification– 必須: UTF–8 文字列。分類子が一致するデータ形式の識別子。
-
CreationTime– タイムスタンプ。分類子が登録された時刻。
-
LastUpdated– タイムスタンプ。分類子が最後に更新された時刻。
-
Version– 数値 (long)。分類子のバージョン。
-
RowTag– UTF–8 文字列。解析中の XML ドキュメントの各レコードを含む要素を指定する XML タグ。これは、自己終了要素 (
/>で終了) を識別することはできません。属性のみを含む空の行要素は、終了タグで終わる場合は解析できます (例:<row item_a="A" item_b="B"></row>は解析できますが、<row item_a="A" item_b="B" />は解析できません)。
JsonClassifier の構造
JSON コンテンツの分類子。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
CreationTime– タイムスタンプ。分類子が登録された時刻。
-
LastUpdated– タイムスタンプ。分類子が最後に更新された時刻。
-
Version– 数値 (long)。分類子のバージョン。
-
JsonPath– 必須: UTF–8 文字列。分類子が分類するための JSON データを定義する
JsonPath文字列。AWS Glue は、「Writing JsonPath Custom Classifiers」に記載されているように、JsonPath のサブセットをサポートしています。
CsvClassifier の構造
カスタム CSV コンテンツの分類子。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
CreationTime– タイムスタンプ。分類子が登録された時刻。
-
LastUpdated– タイムスタンプ。分類子が最後に更新された時刻。
-
Version– 数値 (long)。分類子のバージョン。
-
Delimiter– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。行内の各列エントリを区切るものを示すカスタム記号。
-
QuoteSymbol– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。コンテンツを単一の列の値に結合するものを示すカスタム記号。列の区切り文字とは異なる必要があります。
-
ContainsHeader– UTF-8 文字列 (有効な値:UNKNOWN|PRESENT|ABSENT)。CSV ファイルにヘッダーが含まれているかどうかを示します。
-
Header– UTF-8 文字列の配列。列名を表す文字列のリスト。
-
DisableValueTrimming– ブール。列の値のタイプを識別する前に値をトリミングしないことを指定します。デフォルト値は
trueです。 -
AllowSingleColumn– ブール。1 つの列のみを含むファイルの処理を有効にします。
-
CustomDatatypeConfigured– ブール。カスタムデータ型を設定できるようにします。
-
CustomDatatypes– UTF-8 文字列の配列。「BINARY」、「BOOLEAN」、「DATE」、「DECIMAL」、「DOUBLE」、「FLOAT」、「INT」、「LONG」、「SHORT」、「STRING」、「TIMESTAMP」などのカスタムデータ型のリスト。
-
Serde– UTF-8 文字列 (有効な値:OpenCSVSerDe|LazySimpleSerDe|None)。分類子で CSV を処理するため、データカタログに適用される SerDe を設定します。有効な値は、
OpenCSVSerDe、LazySimpleSerDe、Noneです。クローラーが検出を行う場合は、None値を指定できます。
CreateGrokClassifierRequest の構造
作成する CreateClassifier の grok 分類子を指定します。
フィールド
-
Classification– 必須: UTF–8 文字列。Twitter、JSON、Omniture ログ、Amazon CloudWatch Logs など、分類子が一致するデータ形式の識別子。
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。新しい分類子の名前。
-
GrokPattern– 必須: UTF-8 文字列。1 ~ 2048 バイト長。A Logstash Grok string pattern に一致。この分類子によって使用される grok パターン。
-
CustomPatterns- UTF-8 文字列。16,000 バイト長以下。URI address multi-line string pattern に一致。この分類子によって使用されたオプションのカスタム Grok パターン。
UpdateGrokClassifierRequest の構造
UpdateClassifier に渡すときに更新する grok 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。GrokClassifierの名前。 -
Classification– UTF–8 文字列。Twitter、JSON、Omniture ログ、Amazon CloudWatch Logs など、分類子が一致するデータ形式の識別子。
-
GrokPattern- UTF-8 文字列。1 ~ 2,048 バイト長。A Logstash Grok string pattern に一致。この分類子によって使用される grok パターン。
-
CustomPatterns- UTF-8 文字列。16,000 バイト長以下。URI address multi-line string pattern に一致。この分類子によって使用されたオプションのカスタム Grok パターン。
CreateXMLClassifierRequest の構造
作成する CreateClassifier の XML 分類子を指定します。
フィールド
-
Classification– 必須: UTF–8 文字列。分類子が一致するデータ形式の識別子。
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
RowTag– UTF–8 文字列。解析中の XML ドキュメントの各レコードを含む要素を指定する XML タグ。これは、自己終了要素 (
/>で終了) を識別することはできません。属性のみを含む空の行要素は、終了タグで終わる場合は解析できます (例:<row item_a="A" item_b="B"></row>は解析できますが、<row item_a="A" item_b="B" />は解析できません)。
UpdateXMLClassifierRequest の構造
更新する XML 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
Classification– UTF–8 文字列。分類子が一致するデータ形式の識別子。
-
RowTag– UTF–8 文字列。解析中の XML ドキュメントの各レコードを含む要素を指定する XML タグ。これは、自己終了要素 (
/>で終了) を識別することはできません。属性のみを含む空の行要素は、終了タグで終わる場合は解析できます (例:<row item_a="A" item_b="B"></row>は解析できますが、<row item_a="A" item_b="B" />は解析できません)。
CreateJsonClassifierRequest の構造
作成する CreateClassifier の JSON 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
JsonPath– 必須: UTF–8 文字列。分類子が分類するための JSON データを定義する
JsonPath文字列。AWS Glue は、「Writing JsonPath Custom Classifiers」に記載されているように、JsonPath のサブセットをサポートしています。
UpdateJsonClassifierRequest の構造
更新する JSON 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
JsonPath– UTF–8 文字列。分類子が分類するための JSON データを定義する
JsonPath文字列。AWS Glue は、「Writing JsonPath Custom Classifiers」に記載されているように、JsonPath のサブセットをサポートしています。
CreateCsvClassifierRequest の構造
作成する CreateClassifier の カスタム CSV 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
Delimiter– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。行内の各列エントリを区切るものを示すカスタム記号。
-
QuoteSymbol– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。コンテンツを単一の列の値に結合するものを示すカスタム記号。列の区切り文字とは異なる必要があります。
-
ContainsHeader– UTF-8 文字列 (有効な値:UNKNOWN|PRESENT|ABSENT)。CSV ファイルにヘッダーが含まれているかどうかを示します。
-
Header– UTF-8 文字列の配列。列名を表す文字列のリスト。
-
DisableValueTrimming– ブール。列の値のタイプを識別する前に値をトリミングしないことを指定します。デフォルト値は True です。
-
AllowSingleColumn– ブール。1 つの列のみを含むファイルの処理を有効にします。
-
CustomDatatypeConfigured– ブール。カスタムデータ型の設定を有効にします。
-
CustomDatatypes– UTF-8 文字列の配列。サポートされているカスタムデータ型のリストを作成します。
-
Serde– UTF-8 文字列 (有効な値:OpenCSVSerDe|LazySimpleSerDe|None)。分類子で CSV を処理するため、データカタログに適用される SerDe を設定します。有効な値は、
OpenCSVSerDe、LazySimpleSerDe、Noneです。クローラーが検出を行う場合は、None値を指定できます。
UpdateCsvClassifierRequest の構造
更新する カスタム CSV 分類子を指定します。
フィールド
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。分類子名。
-
Delimiter– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。行内の各列エントリを区切るものを示すカスタム記号。
-
QuoteSymbol– UTF-8 文字列。1 バイト長ちょうど。Custom string pattern #26 に一致。コンテンツを単一の列の値に結合するものを示すカスタム記号。列の区切り文字とは異なる必要があります。
-
ContainsHeader– UTF-8 文字列 (有効な値:UNKNOWN|PRESENT|ABSENT)。CSV ファイルにヘッダーが含まれているかどうかを示します。
-
Header– UTF-8 文字列の配列。列名を表す文字列のリスト。
-
DisableValueTrimming– ブール。列の値のタイプを識別する前に値をトリミングしないことを指定します。デフォルト値は True です。
-
AllowSingleColumn– ブール。1 つの列のみを含むファイルの処理を有効にします。
-
CustomDatatypeConfigured– ブール。カスタムデータ型の設定を指定します。
-
CustomDatatypes– UTF-8 文字列の配列。サポートされているカスタムデータ型のリストを指定します。
-
Serde– UTF-8 文字列 (有効な値:OpenCSVSerDe|LazySimpleSerDe|None)。分類子で CSV を処理するため、データカタログに適用される SerDe を設定します。有効な値は、
OpenCSVSerDe、LazySimpleSerDe、Noneです。クローラーが検出を行う場合は、None値を指定できます。
操作
CreateClassifier アクション (Python: create_classifier)
ユーザーのアカウントに分類子を作成します。これは、どのリクエストのフィールドが存在するかに応じて、GrokClassifier、XMLClassifier、JsonClassifier、または CsvClassifier である場合があります。
リクエスト
-
GrokClassifier– CreateGrokClassifierRequest オブジェクト。作成する分類子を指定する
GrokClassifierオブジェクト。 -
XMLClassifier– CreateXMLClassifierRequest オブジェクト。作成する分類子を指定する
XMLClassifierオブジェクト。 -
JsonClassifier– CreateJsonClassifierRequest オブジェクト。作成する分類子を指定する
JsonClassifierオブジェクト。 -
CsvClassifier– CreateCsvClassifierRequest オブジェクト。作成する分類子を指定する
CsvClassifierオブジェクト。
レスポンス
応答パラメータはありません。
エラー
AlreadyExistsExceptionInvalidInputExceptionOperationTimeoutException
DeleteClassifier アクション (Python: delete_classifier)
データカタログから分類子を削除します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。削除する分類子の名前。
レスポンス
応答パラメータはありません。
エラー
EntityNotFoundExceptionOperationTimeoutException
GetClassifier アクション (Python: get_classifier)
分類子を名前で取得します。
リクエスト
-
Name– 必須: UTF-8 文字列。1~255 バイト長。Single-line string pattern に一致。取得する分類子の名前。
レスポンス
-
Classifier– 分類子 オブジェクト。リクエストされた分類子。
エラー
EntityNotFoundExceptionOperationTimeoutException
GetClassifiers アクション (Python: get_classifiers)
データカタログの分類子オブジェクトのすべてを一覧表示します。
リクエスト
-
MaxResults– 1~1000 の数値 (整数)。返されるリストのサイズ (オプション)。
-
NextToken– UTF–8 文字列。オプションの継続トークン。
応答
-
Classifiers– 分類子 オブジェクトの配列。分類子オブジェクトのリクエストされたリスト。
-
NextToken– UTF–8 文字列。継続トークン。
エラー
OperationTimeoutException
UpdateClassifier アクション (Python: update_classifier)
既存の分類子を変更します (フィールドが存在するかどうかに応じて GrokClassifier、XMLClassifier、JsonClassifier、または CsvClassifier)。
リクエスト
-
GrokClassifier– UpdateGrokClassifierRequest オブジェクト。フィールドが更新された
GrokClassifierオブジェクト。 -
XMLClassifier– UpdateXMLClassifierRequest オブジェクト。フィールドが更新された
XMLClassifierオブジェクト。 -
JsonClassifier– UpdateJsonClassifierRequest オブジェクト。フィールドが更新された
JsonClassifierオブジェクト。 -
CsvClassifier– UpdateCsvClassifierRequest オブジェクト。フィールドが更新された
CsvClassifierオブジェクト。
レスポンス
応答パラメータはありません。
エラー
InvalidInputExceptionVersionMismatchExceptionEntityNotFoundExceptionOperationTimeoutException