Transcoder の構成

Mainframe Connector トランスコーダを構成するには、JSON ファイルに必要な構成を追加します。このファイルは、トランスコーダ構成ファイルと呼ばれます。構成セクションで指定されているように構成を定義する必要があります。qsam encode コマンドと qsam decode コマンドは、トランスコーダ構成ファイルを使用してデータのコード変換を行います。

このページでは、Mainframe Connector トランスコーダを構成するさまざまな方法について説明します。

構成

Configuration オブジェクトは、トランスコーダ構成のルートです。これには、トランスコーダのすべての構成オプションが含まれています。

JSON 表現
{
    "defaults": object (DefaultsSection),
    "field_overrides": object (FieldOverride),
    "field_suffixes": object (FieldSuffix),
    "header_records_to_skip": long,
    "record_filter_condition": string,
    "schema_validation_mode": enum (SchemaValidationMode),
    "transformations": object (Transformation)
}
フィールド
defaults

object (DefaultsSection)

COBOL アーキタイプのデフォルトのフィールド修飾子を指定します。

field_overrides

object (FieldOverride)

フィールドのオーバーライドを指定します。

field_suffixes

object (FieldSuffix)

フィールドの接尾辞を指定します。

header_records_to_skip

long

スキップする最初のレコード数を指定します。

record_filter_condition

string

レコードのフィルタ条件を指定します。

フィルタは Common Expression Language(CEL)のサブセットに基づいており、以下をサポートしています。

  • フィールド アクセス: フィールドは名前で参照できます。ネストされたフィールドにはドット表記(例: PARENT.CHILD)を使用します。
  • 比較演算子: `==`, `!=`, `<`, `<=`, `>`, `>=`.
  • 論理演算子: `&&` (AND), `||` (OR), `!` (NOT).
  • リストの包含: `in`(値がリストに存在するかどうかを確認します)。
  • 算術演算子: `+`, `-`, `*`, `/`, `%`.
  • 文字列関数とリスト関数:
    • size(): 文字列またはリストの長さを返します。
    • contains(substring): 文字列に指定された部分文字列が含まれているかどうかを確認します。
    • startsWith(prefix): 文字列が指定された接頭辞で始まるかどうかを確認します。
    • endsWith(suffix): 文字列が指定された接尾辞で終わるかどうかを確認します。
  • 日付とタイムスタンプの定数:
    • date(string): ISO 形式(YYYY-MM-DD)の日付を解析します。例: date('2025-01-12')。
    • date(string, format): カスタム形式を使用して日付を解析します。例: date('12/01/2025', 'dd/MM/yyyy')。
    • timestamp(string): ISO 形式のタイムスタンプを解析します。例: timestamp('1999-05-03T02:34:00Z')。
比較と演算は、同じデータ型または互換性のあるデータ型の変数または定数の間で行う必要があります(浮動小数点数の比較や、日付 / タイムスタンプ フィールドでの日付 / タイムスタンプ定数の使用など)。

例:

"record_filter_condition": "(ACCOUNT-GRP.DATE > date('2025-01-12') ) && ((SCORE_A + SCORE_B) > 134) && FLD-STR.startsWith('HE')"

schema_validation_mode

enum (SchemaValidationMode)

スキーマ検証モードを指定します。

transformations

object (Transformation)

フィールド変換を指定します。

DefaultsSection

DefaultsSection オブジェクトを使用すると、cobol タイプによるデフォルトの変更を指定できます。これらは、サフィックスやオーバーライドの変更の前に適用されます。

JSON 表現
{
    "alpha_numeric_display": object (FieldModifier),
    "binary": object (FieldModifier),
    "dbcs": object (FieldModifier),
    "hexadecimal_floating_point": object (FieldModifier),
    "national": object (FieldModifier),
    "numeric_display": object (FieldModifier),
    "packed_decimal": object (FieldModifier),
    "utf8": object (FieldModifier)
}
フィールド
alpha_numeric_display

object (FieldModifier)

英数字(PIC X)フィールドのデフォルト値を指定します。

binary

object (FieldModifier)

バイナリ数(COMP)フィールドのデフォルトを指定します。

dbcs

object (FieldModifier)

dbcs(DISPLAY-1)フィールドのデフォルト。

hexadecimal_floating_point

object (FieldModifier)

16 進浮動小数点(COMP-1、COMP-2)フィールドのデフォルト。

national

object (FieldModifier)

国内(PIC N)フィールドのデフォルト値を指定します。

numeric_display

object (FieldModifier)

数値表示(ゾーン 10 進数)フィールドのデフォルトを指定します。

packed_decimal

object (FieldModifier)

パック 10 進数(COMP-3)フィールドのデフォルト値を指定します。

utf8

object (FieldModifier)

UTF-8(PIC U)フィールドのデフォルト値を指定します。

FieldModifier

フィールド修飾子を使用すると、特定のフィールドのエンコードまたはデコードを変更できます。すべての修飾子をすべてのフィールドに適用できるわけではありません。詳細については、特定の修飾子のドキュメントをご覧ください。

JSON 表現
{
    "binary": object (Binary),
    "bytes": object (Bytes),
    "chain": object (ModifierChain),
    "decode_as_null": object (DecodeAsNull),
    "encode_null_as": object (EncodeNullAs),
    "filler": object (Filler),
    "format_date": object (FormatDate),
    "format_timestamp": object (FormatTimestamp),
    "hfp": object (HFP),
    "null_if": object (NullIf),
    "null_if_empty": object (NullIfEmpty),
    "null_if_invalid": object (NullIfInvalid),
    "packed_decimal": object (PackedDecimal),
    "string": object (String),
    "varlen": object (VarLen),
    "zoned_decimal": object (ZonedDecimal)
}
フィールド
binary

object (Binary)

バイナリ数値フィールドのデフォルト構成をオーバーライドします。

bytes

object (Bytes)

フィールドを未加工のバイト シーケンスとして扱い、以前の型情報を無視します。

chain

object (ModifierChain)

複数の修飾子を連結して、順番に適用します。

decode_as_null

object (DecodeAsNull)

null 値のデコード方法を定義します。

encode_null_as

object (EncodeNullAs)

null 値のエンコード方法を定義します。

filler

object (Filler)

処理と出力からフィールドを除外します。

format_date

object (FormatDate)

文字列フィールドを日付としてフォーマットします。

format_timestamp

object (FormatTimestamp)

文字列フィールドをタイムスタンプとしてフォーマットします。

hfp

object (HFP)

フィールドを 16 進浮動小数点(HFP)数として解釈します。

null_if

object (NullIf)

別のフィールドの値に基づいて、フィールドを条件付きで null に設定します。

null_if_empty

object (NullIfEmpty)

コンテンツが空と見なされる場合、フィールドを null に設定します。

null_if_invalid

object (NullIfInvalid)

コード変換エラーが発生した場合にフィールドを null に設定し、レコードのスピルオーバーを防ぎます。

packed_decimal

object (PackedDecimal)

パック 10 進数フィールドのデフォルト構成をオーバーライドします。

string

object (String)

文字列フィールドのデフォルト構成をオーバーライドします。

varlen

object (VarLen)

レコードを可変長フィールドとして設定します。

zoned_decimal

object (ZonedDecimal)

ゾーン 10 進数フィールドのデフォルト構成をオーバーライドします。

バイナリ

以前の修飾子を無視して、このフィールドをバイナリ数値として扱います。

JSON 表現
{
    "signedness": enum (BinarySignedness)
}
フィールド
signedness

enum (BinarySignedness)

数値の符号。

バイト

フィールドを未加工のバイト シーケンスとして扱います。この修飾子は、以前の型情報をオーバーライドします。これにより、フィールドの未加工バイトデータは、特定の文字エンコードや数値解釈なしでそのまま保持されます。 この修飾子は、元の型やサイズに関係なく、どのフィールドにも適用できます。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

DecodeAsNull

デコード プロセス中に null 値がどのように解釈されるかを定義します。COBOL はネイティブで null をサポートしていないため、このパラメータは null として扱う必要がある値を指定します。

JSON 表現
{
    "hex_bytes": string,
    "values": string
}
フィールド
hex_bytes

string

1 バイトの 16 進数表現のリスト。フィールドにこれらのバイトの繰り返しが含まれている場合、null として扱われます。たとえば、すべての高値に FF を使用し、すべての安値(空)に 00 を使用します。

values

string

文字列表現のリスト。フィールドを文字列形式にデコードした後、フィールドの内容がこれらの値のいずれかと一致する場合、null として扱われます。

EncodeNullAs

エンコード プロセス中に null 値をどのように表すかを定義します。

JSON 表現
{
    "hex_byte": string,
    "value": string
}
フィールド
hex_byte

string

ソース値が null の場合、この特定のバイト シーケンス(16 進数文字列として表される)をエンコードします。たとえば、2 バイト フィールドを最大値にする場合は FF です。これは、サイズが既知の任意のフィールドに適用できます。バイトは、基になるフィールドのサイズに合わせて繰り返されます。

value

string

ソース値が null の場合に、この特定の値をエンコードします。文字列がフィールドの型に対して有効であることを確認します。

フィラー

処理中にフィールドが無視されることを指定します。このフィールドは、入力からデコードされることも、出力にエンコードされることもありません。また、デコード中に、結果のスキーマとデータテーブルから除外されます。 この修飾子は、静的な既知のサイズを持つ任意のフィールドに適用できます。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

FormatDate

サポートされている形式のいずれかを使用して、文字列または数値フィールドを日付に変換します。 この修飾子は、サイズ指定されたフィールドにのみ適用できます。数値フィールドの場合、フォーマットする前に、文字列形式(符号マーカーを除く)に動的に変換されます。日付の値は正の値であると想定されます。負の数値の日付はサポートされておらず、解析に失敗します。 デコード プロセスでは、いずれかの形式が文字列と一致するまで、形式が順番にテストされます。 エンコード プロセスでは、最初の形式が使用され、残りは無視されます。

JSON 表現
{
    "formats": object (DateTimeFormat)
}
フィールド
formats

object (DateTimeFormat)

日付形式のリスト。

DateTimeFormat

フィールドを日付に変換するときに使用するサイズとパターン。

JSON 表現
{
    "pattern": string,
    "size": int
}
フィールド
pattern

string

日付フォーマッタ パターンを指定します。 有効なフォーマッタ パターンの詳細については、Class DateTimeFormatter をご覧ください。

注: 2 桁の年(yy)は 2000 ~ 2099 の範囲にマッピングされます。たとえば、パターン MM/dd/yy の場合、値 05/03/99 は 2099-05-03 としてデコードされます。

size

int

このパターンを適用するフィールドのサイズを指定します。

FormatTimestamp

指定された形式のいずれかを使用して、文字列をタイムスタンプにフォーマットします。 これは、サイズ指定されたフィールドにのみ適用できます。 デコード中、いずれかの形式が文字列と一致するまで、形式が順番にテストされます。 エンコード時には、最初の形式が使用され、残りは無視されます。

JSON 表現
{
    "formats": object (DateTimeFormat)
}
フィールド
formats

object (DateTimeFormat)

タイムスタンプ形式のリスト。

HFP

このフィールドを 16 進浮動小数点数として設定します。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

ModifierChain

修飾子チェーンを指定して、複数の修飾子を順番に適用します。修飾子は指定された順序で適用されます。

JSON 表現
{
    "modifiers": object (FieldModifier)
}
フィールド
modifiers

object (FieldModifier)

適用する修飾子のリストを指定します。

NullIf

条件が満たされた場合にフィールドを null に設定します。null_value と non_null_value のいずれか、または両方を指定する必要があります。

null インジケーター フィールドを作成するには、null_if フィールド修飾子を指定した FieldSuffix を使用し、次の例に示すように is_inverse を true に設定します。

例: Null インジケーター

null インジケーター フィールドを作成するには、次のように null_if フィールド修飾子を使用します。

 {
  "field_suffixes": [
   {
     "suffix": "NID",
     "is_inverse": true,
     "modifier": {
     "null_if": {
       "null_value": "?",
       "target_field": "$self"
     }
    }
   }
  ]
 }

これにより、次のコピーブック スニペットに示すように、サフィックス NID を持つすべてのフィールドが実質的に null インジケーターになります。

 01 REC.
   02 FIELD     PIC X(10).
   02 FIELD-NID PIC X(1).

例: バイナリ null インジケーター

binary null インジケーター フィールドを作成するには、次のように binary フィールド修飾子と null_if フィールド修飾子を使用します。

 {
  "field_suffixes": [
   {
     "suffix": "NID",
     "modifier": {
       "binary": {}
     }
   },
   {
     "suffix": "NID",
     "is_inverse": true,
     "modifier": {
     "null_if": {
       "null_value": "15",
       "target_field": "$self"
     }
    }
   }
  ]
 }

これにより、サフィックス NID を持つすべてのフィールドが、前の例と同じコピーブックを使用して binary null インジケーターになります。

例: バイトの null インジケーター

bytes null インジケーター フィールドを作成するには、次のように bytes フィールド修飾子と null_if フィールド修飾子を使用します。null と not-null の値は HEX として表されます。

 {
  "field_suffixes": [
   {
     "suffix": "NID",
     "modifier": {
       "bytes": {}
     }
   },
   {
     "suffix": "NID",
     "is_inverse": true,
     "modifier": {
     "null_if": {
       "null_value": "FF",
       "target_field": "$self"
     }
    }
   }
  ]
 }

これにより、サフィックス NID を持つすべてのフィールドが、前の例と同じコピーブックを使用して bytes null インジケーターとして機能します。

JSON 表現
{
    "non_null_value": string,
    "non_null_values": string,
    "null_value": string,
    "null_values": string,
    "target_field": string
}
フィールド
non_null_value

string

指定した場合、target_field がこの値と等しくないと、フィールドはデコードまたはエンコードされず、値は null に設定されます。

non_null_values

string

指定した場合、target_field がこれらの値のいずれとも等しくない場合、フィールドはデコードまたはエンコードされず、値は null に設定されます。

null_value

string

指定した場合、target_field がこの値と等しい場合、フィールドはデコードまたはエンコードされず、値は null に設定されます。

null_values

string

指定した場合、target_field がこれらの値のいずれかと等しい場合、フィールドはデコードまたはエンコードされず、値は null に設定されます。

target_field

string

値を確認するフィールドを指定します。フィールドはスコープ内にある必要があります。ネストされたフィールドにアクセスするには、ドット表記(「GROUP.FIELD」など)を使用します。

NullIfEmpty

フィールド内のすべてのバイトが 0 の場合、フィールドは null に設定する必要があります。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

NullIfInvalid

コード変換が失敗した場合は、値を null として扱います。 この修飾子は、サイズ指定されたフィールドにのみ適用できます。 デフォルトでは、フィールドのデコードに失敗すると、レコード全体がスピルオーバー(エラー)データセットに移動され、出力から除外されます。残りの読み込みは有効なレコードで完了します。null_if_invalid 修飾子を設定すると、Mainframe Connector は無効なレコードを保持し、このフィールドを null に設定します。デフォルトでは、不正なレコードはすでにスキップされているため、読み込みを成功させるためだけでなく、null 値を含む行を保持する場合にのみ使用してください。 エラーは無視され、スピルオーバー データセットに記録されません。デコード プロセス中、このフィールドの値は、このレコードに対して null になります。 エンコード プロセス中にデータを書き込めない場合、フィールド全体が null バイトで埋められます。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

PackedDecimal

このフィールドを PackedDecimal に設定します。

JSON 表現
{
    "logical_type": enum (DecimalLogicalType),
    "negative_sign_nibble": enum (PackedDecimalNegativeNibble)
}
フィールド
logical_type

enum (DecimalLogicalType)

論理型をオーバーライドします。デフォルトでは、メインフレーム コネクタは精度とスケールに基づいて最適な論理型を使用します。

negative_sign_nibble

enum (PackedDecimalNegativeNibble)

負の符号に使用するニブルを指定します。x'B' と x'D' はどちらも有効な負の符号ですが、一部のメインフレーム システムやアプリケーションでは、どちらか一方を優先する規則が定められている場合があります。

文字列

文字列のデコードとエンコードに関連するさまざまなオプションを設定します。 文字列フィールドにのみ適用できます。

JSON 表現
{
    "encoding": string,
    "pad_char": string,
    "trim_suffix": boolean
}
フィールド
encoding

string

フィールドのエンコードに使用されるエンコード。

pad_char

string

設定すると、エクスポート文字列が pad_char でパディングされます。設定する場合、pad_char の長さは 1 にする必要があります。pad_char はエンコードにのみ影響し、デコードでは pad_char は無視されます。

trim_suffix

boolean

true に設定すると、文字列の末尾にある空白文字がすべて削除されます。trim_suffix はデコードにのみ影響し、エンコードでは trim_suffix は無視されます。空白文字のみで構成される文字列は空の文字列になります。

VarLen

可変長フィールドを表します。

可変長フィールドは、次の 3 つの部分で構成されます。

  1. 2 つのサブフィールドを含むグループ アイテム。
  2. トランザクション データの長さを含むグループ項目内のフィールド。
  3. データを含むグループ アイテム内のフィールド。

可変長フィールドの名前はグループ名になります。

次のように空の JSON オブジェクトを指定します。

JSON 表現
{
}

ZonedDecimal

ゾーン 10 進数のエンコードとデコードに関連するさまざまなオプションを設定します。 この修飾子は、10 進数フィールドにのみ適用できます。

JSON 表現
{
    "encoding": enum (ZonedDecimalEncoding),
    "logical_type": enum (DecimalLogicalType)
}
フィールド
encoding

enum (ZonedDecimalEncoding)

フィールドのエンコードに使用されるエンコード。

logical_type

enum (DecimalLogicalType)

フィールドのデコードまたはエンコード時に使用する論理型を指定します。

FieldOverride

指定されたフィールドのデコードとエンコードのチェーンをオーバーライドまたは変更します。

JSON 表現
{
    "field": string,
    "modifier": object (FieldModifier)
}
フィールド
field

string

修飾子を適用するフィールドの名前を指定します。

modifier

object (FieldModifier)

一致するフィールドに適用する修飾子を指定します。

FieldSuffix

フィールドの接尾辞は、接尾辞を持つすべてのフィールドに適用されます。

フィールドは、末尾がハイフン(-)またはアンダースコア(_)で、その後に接尾辞が続く場合に一致します。

接尾辞では大文字と小文字が区別されません。

FieldSuffix 修飾子は、FieldOverride 修飾子の後に適用されます。

たとえば、接尾辞 NID に定義された修飾子は、FLD-NID という名前のフィールドに適用されますが、フィールド FUNID には適用されません。

JSON 表現
{
    "is_inverse": boolean,
    "modifier": object (FieldModifier),
    "suffix": string
}
フィールド
is_inverse

boolean

修飾子が逆フィールド修飾子かどうかを指定します。逆フィールド修飾子は、修飾子を持つフィールドと同じ名前の別のフィールドに修飾子を適用します。たとえば、FLD-NID フィールドと FLD フィールドの両方が同じレコードに存在する場合、修飾子は FLD に適用されます。

逆フィールド修飾子を使用する場合、通常はフィールド名を使用してサフィックス付きのフィールドを参照できるときはいつでも、特別な識別子 $self を使用できます。

たとえば、null インジケーター フィールドを作成するには、is_inverse を true に設定して null_if フィールド修飾子を使用します。詳しくは、NullIf をご覧ください。

modifier

object (FieldModifier)

一致するフィールドに適用する修飾子を指定します。

suffix

string

この接尾辞が付いたフィールドに修飾子が適用されます。

変換

ビュー変換は、テーブルと QSAM ファイルの関係を変更するために使用されます。変換は常にデータの観点から表現されます。 このコンセプトは、BigQuery のビューテーブルに似ています。

JSON 表現
{
    "exclude": object (Exclude),
    "move": object (Move),
    "rename": object (Rename),
    "split": object (Split),
    "target_table": string,
    "unnest": object (Unnest)
}
フィールド
exclude

object (Exclude)

move

object (Move)

rename

object (Rename)

split

object (Split)

target_table

string

省略可。変換を適用するターゲット テーブル(ビュー)の名前を指定します。

デフォルトでは、変換はメインテーブル(_main)に適用されます。また、該当する場合はグローバルに適用されます。分割ビュー(split 変換によって作成)がある場合は、特定の分割テーブルを名前でターゲットに設定できます。

注: スプリット変換自体はターゲットに設定できません。target_table が設定されている場合はエラーになります。

unnest

object (Unnest)

除外

結果のテーブルからフィールドを除外しますが、デコードまたはエンコードは行います。これは、フィールドをテーブルに転送する必要はないが、コード変換に必要な場合に便利です。たとえば、null インジケーター フィールドや長さフィールドはテーブルから省略できます。

コード変換を完全にバイパスするには、フィラー修飾子を適用します。

JSON 表現
{
    "field": string
}
フィールド
field

string

除外するフィールドを指定します。

移動

レコード内のフィールドを移動します。

JSON 表現
{
    "field": string,
    "offset": int
}
フィールド
field

string

移動するフィールドを指定します。

offset

int

フィールドを移動する位置の数(前方または後方)を指定します。

名前を変更

正規表現の一致に基づいて 1 つ以上のフィールドの名前を変更します。

たとえば、すべてのハイフンをアンダースコアに置き換えるには、JSON 形式 {"find": "\\-", "replace":"_"} を使用します。

JSON 表現
{
    "find": string,
    "replace": string
}
フィールド
find

string

名前を変更するフィールドを識別する Java 正規表現パターンを指定します。

パターンは完全なフィールド名と照合されます。パターンがフィールド名の一部と一致する場合、フィールドは一致と見なされます。

例:

  • "\\-"(ハイフンを含む任意のフィールドに一致)
  • "^field_name$"(field_name という名前のフィールドと一致)
  • "^field_(.*)$"(field_ で始まるすべてのフィールドに一致し、残りをキャプチャします)
  • "part_of_name"(part_of_name を含む任意のフィールドに一致)

replace

string

一致したフィールドの新しい名前を指定します。

find 正規表現のキャプチャ グループは、$1、$2 などの後方参照を使用して replace 文字列で使用できます。これにより、元のフィールド名の一部に基づいて、より複雑な変換を行うことができます。

例:

  • "new_field_name"(フィールドを固定名に置き換える)
  • "new_$1"(find の最初のキャプチャ グループを使用)
  • "${1}_new"(キャプチャ グループの代替構文)
  • "prefix_$1_suffix"(キャプチャ グループを使用し、接頭辞 / 接尾辞を追加)

分割

JSON 表現
{
    "field": string,
    "foreign_key": string,
    "primary_key": string
}
フィールド
field

string

分割するフィールドを指定します。

foreign_key

string

主キー値が格納される新しいスキーマに追加されるフィールドの名前を指定します。指定しない場合、主キー名が使用されます。

primary_key

string

主キーとして使用するフィールド名を指定します。

Unnest

フィールドのネストを解除します。

JSON 表現
{
    "field": string,
    "format": string
}
フィールド
field

string

ネストを解除するフィールドを指定する

format

string

新しいフィールド形式を指定します。

${parent} は、ネスト解除されるフィールドの名前でリリースされます。

ネストされていない構造体の場合、${field} は構造体フィールドの名前に置き換えられます。

ネストされていない配列とリストの場合、${index} は配列のインデックスに置き換えられます。

列挙型

BinarySignedness

列挙型
SIGNED バイナリ番号は符号付きです。
UNSIGNED 2 進数は符号なしです。
UNSPECIFIED 既存のチェーンから符号の有無を推測してみてください。

DecimalLogicalType

10 進数フィールドに使用する論理型。

列挙型
AUTO スケールと精度に基づいて最適なタイプを使用します。
BIG_DECIMAL 値を無制限の小数値として保存します。これは最も遅いオプションですが、任意のスケールで任意の精度の任意の小数をサポートします。
BIG_INTEGER 値を無制限の整数値として保存します。これは最も遅いオプションですが、任意の精度の任意の整数をサポートします。
DECIMAL64 64 ビットを使用して値を保存します。この修飾子は、精度が 18 以下の数値にのみ機能します。
LONG 64 ビットを使用して値を保存します。この修飾子は、精度が 18 以下で、スケールが 0 の数値にのみ機能します。

PackedDecimalNegativeNibble

列挙型
NIBBLE_B デフォルトでは x'B' が使用されます。
NIBBLE_D 負の符号ニブルには x'D' を使用します。

SchemaValidationMode

コピーブックのコンパイル時に使用するスキーマ検証モードを指定します。このモードでは、特定のターゲット データ形式との互換性を検証します。

列挙型
BIG_QUERY BigQuery 互換性のスキーマ検証モード。 このモードでは、デフォルトの検証を拡張して、コピーブックのスキーマが BigQuery のデータ型と互換性があることを確認します。
DEFAULT デフォルトのスキーマ検証モード。 このモードでは、コピーブックに一意のフィールド名があることを確認します。
MYSQL MySQL 互換性のスキーマ検証モード。このモードでは、デフォルトの検証を拡張して、コピーブックのスキーマが MySQL データ型と互換性があることを確認します。
POSTGRES PostgreSQL との互換性のスキーマ検証モード。このモードでは、デフォルトの検証を拡張して、コピーブックのスキーマが PostgreSQL データ型と互換性があることを確認します。

ZonedDecimalEncoding

ゾーン 10 進数フィールドのデコードまたはエンコード時に使用するエンコードを指定します。

列挙型
ASCII ASCII エンコードを使用します。
EBCDIC EBCDIC エンコードを使用します。
UNSPECIFIED 修飾子チェーンで指定されたエンコードを保持します。修飾子が指定されていない場合は、EBCDIC が使用されます。