ステップ 1. JSON 設定ファイルを作成する - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 1. JSON 設定ファイルを作成する

カスタムビジュアル変換を定義して記述するには、JSON 設定ファイルが必要です。設定ファイルのスキーマは次の通りです。

JSON ファイル構造

フィールド

  • name: string – (必須) 変換の識別に使用される変換システム名。Python の変数名 (識別子) に設定されているのと同じ命名規則に従ってください。具体的には、文字またはアンダースコアで始まり、文字、数字、および/またはアンダースコアのみで構成されている必要があります。

  • displayName: string – (オプション) AWS Glue Studio ビジュアルジョブエディタに表示される変換の名前。displayName を指定しない場合は、AWS Glue Studio では name が変換の名前として使用されます。

  • description: string – (オプション) 変換の説明が AWS Glue Studio に表示され、検索できます。

  • functionName: string – (必須) Python 関数名が Python スクリプトで呼び出す関数を識別するために使用されます。

  • path: string – (オプション) Python ソースファイルへの Amazon S3 のフルパス。指定しない場合は、AWS Glue では、ファイル名マッチングを使用して .json ファイルと .py ファイルがペアリングされます。例えば、JSON ファイルの名前が myTransform.json の場合、同じ Amazon S3 ロケーションにある myTransform.py という Python ファイルとペアになります。

  • parameters: Array of TransformParameter object – (オプション) AWS Glue Studio ビジュアルエディタで設定するときに表示されるパラメータのリスト。

TransformParameter フィールド

  • name: string – (必須) ジョブスクリプト内で名前付き引数として Python 関数に渡されるパラメータ名。Python の変数名 (識別子) に設定されているのと同じ命名規則に従ってください。具体的には、文字またはアンダースコアで始まり、文字、数字、および/またはアンダースコアのみで構成されている必要があります。

  • displayName: string – (オプション) AWS Glue Studio ビジュアルジョブエディタに表示される変換の名前。displayName を指定しない場合は、AWS Glue Studio では name が変換の名前として使用されます。

  • type: string – (必須) 一般的な Python データ型を受け入れるパラメータ型。有効な値: 'str' | 'int' | 'float' | 'list' | 'bool'。

  • isOptional: boolean – (オプション) パラメータがオプションかどうかを決定します。デフォルトでは、すべてのパラメータが必須です。

  • description: string – (オプション) ユーザーによる変換パラメータの設定に役立つ説明が AWS Glue Studio に表示されます。

  • validationType: string – (オプション) このパラメータの検証方法を定義します。現在、正規表現のみをサポートしています。デフォルトで検証タイプは RegularExpression に設定されています。

  • validationRule: string – (オプション) validationTypeRegularExpression に設定されている場合、送信前にフォーム入力を検証するために使用される正規表現。正規表現の構文は RegExp Ecmascript の仕様に合致している必要があります。

  • validationMessage: string – (オプション) 検証が失敗したときに表示するメッセージ。

  • listOptions: An array of TransformParameterListOption object または string、もしくは「column」という文字列の値 — (オプション) 選択、または複数選択の UI コントロールに表示するためのオプション。カンマ区切り値 (CSV) のリスト、または強く型付けされた TransformParameterListOption 型の JSON オブジェクトを受け入れます。文字列の値「column」を指定すると、親ノードのスキーマから、列のリストを動的に入力することもできます。

  • listType: string – (オプション) type = 'list' のオプションタイプを定義します。有効な値: 'str' | 'int' | 'float' | 'list' | 'bool'。一般的な Python データ型を受け入れるパラメータ型。

TransformParameterListOption フィールド

  • value: string | int | float | bool – (必須) オプション値。

  • label: string – (オプション) 選択ドロップダウンに表示されるオプションラベル。

AWS Glue Studio での変換パラメータ

.json ファイルで isOptional と指定しない限り、デフォルトでパラメータは必須です。AWS Glue Studio では、パラメータが [Transform] (変換) タブに表示されます。この例は、E メールアドレス、電話番号、年齢、性別、出身国などのユーザー定義パラメータを示しています。

スクリーンショットは、選択したカスタムビジュアル変換と、ユーザー定義のパラメータを表示している [Transform] (変換) タブを示しています。

validationRule パラメータを指定し、validationMessage で検証メッセージを指定することで、JSON ファイルで正規表現を使用する際に AWS Glue Studio で一部の検証を必須にできます。

"validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$", "validationMessage": "Please enter a valid US number"
注記

検証はブラウザで行われるため、正規表現の構文は RegExp Ecmascript の仕様に合致している必要があります。Python 構文は、これらの正規表現ではサポートされていません。

検証を追加することで、ユーザーが誤ったユーザー入力でジョブを保存するのを防ぐことができます。次の例のように AWS Glue Studio に検証メッセージが表示されます。

このスクリーンショットは、検証エラーメッセージを含むカスタムビジュアル変換パラメータを示しています。有効な E メールアドレスを入力してください。

パラメータは、パラメータ設定に基づいて AWS Glue Studio に表示されます。

  • typestrint、または float の場合、テキスト入力フィールドが表示されます。例えば、スクリーンショットは「E メールアドレス」と「年齢」パラメータの入力フィールドを示しています。

    スクリーンショットは、テキスト入力フィールド付きのカスタムビジュアル変換パラメータを示しています。
    スクリーンショットは、テキスト入力フィールド付きのカスタムビジュアル変換パラメータを示しています。
  • typebool の場合、チェックボックスが表示されます。

    スクリーンショットは、テキスト入力フィールド付きのカスタムビジュアル変換パラメータを示しています。
  • typestr であり、listOptions が指定されていると、単一選択リストが表示されます。

    スクリーンショットは、カスタムビジュアル変換パラメータを単一選択リストのドロップダウンとともに示しています。
  • typelist であり、listOptionslistType が指定されていると、複数選択リストが表示されます。

    スクリーンショットは、カスタムビジュアル変換パラメータをリストのドロップダウンとともに示しています。

列のセレクタをパラメータとして表示

スキーマから列をユーザーが選択するように設定されている場合は、列セレクタを表示することで、ユーザーは列の名前を入力する必要がなくなります。listOptions フィールドを「column」に設定すると、親ノードの出力スキーマに基づいて、列セレクタを AWS Glue Studio が動的に表示します。AWS Glue Studio は単一の列、または複数列のセレクタを表示できます。

次の例でスキーマを使用しています。

スクリーンショットは、出力スキーマの例を示しています。
単一の列を表示するように、Custom Visual Transform パラメータを定義するには
  1. JSON ファイルで、parameters オブジェクトの listOptions の値を、「column」に設定します。これにより、ユーザーが AWS Glue Studio の選択リストから列を選択できるようになります。

    スクリーンショットは、listOptions パラメータを「column」に設定した JSON ファイルと、その結果の AWS Glue Studio のユーザーインターフェイスの例を示しています。
  2. 次のようにパラメータを定義すると、複数の列を選択することもできます。

    • listOptions: "column"

    • type: "list"

    スクリーンショットは、listOptions パラメータを「column」に、タイプを「list」に設定した JSON ファイルと、その結果の AWS Glue Studio のユーザーインターフェイスの例を示しています。