REST APIリファレンス > データ統合 REST API > フィールド
  

フィールド

フィールドは、単一のデータ項目を表すデータ構造のサブセットです。例えば、データベーステーブルのカラムはフィールドです。ソースオブジェクトまたはターゲットオブジェクトのフィールドの詳細を要求および更新することができます。

フィールドの詳細の取得

フィールドリソースを使用して、ソースオブジェクトまたはターゲットオブジェクトのフィールド詳細を取得します。

GET要求

ソースオブジェクトのフィールドの詳細を取得するには、次のいずれかのURIを使用します。
ターゲットオブジェクトのフィールドの詳細を取得するには、次のいずれかのURIを使用します。
オブジェクト名にスラッシュ(/)が含まれている場合は、次のURIを使用します。
/api/v2/connection/<source or target>/<id>/fields?objectName=<objectName>
URIに接続名を使用し、その接続名にスペースが含まれる場合は、スペースを%20で置き換えます。以下に例を示します。
/api/v2/connection/source/name/my%20connection/field/customer
注: オブジェクト名は大文字と小文字が区別されます。

GET応答

応答は、ソースオブジェクトまたはターゲットオブジェクトの各フィールドのフィールドオブジェクトと、エラーが発生した場合はエラーオブジェクトを返します。
次の表に、接続タイプに基づいて返される可能性のあるフィールドオブジェクトの属性とその説明を示します。
フィールド
タイプ
説明
id
Long
フィールドID。
name
String
フィールド名。
type
String
フィールドの種類
label
String
フィールドのラベル。
parentObject
String
親オブジェクト(該当する場合)。
precision
Int
フィールドの長さ(バイト)。
pcType
String
PowerCenterのデータ型。
scale
Int
数値の小数点以下の桁数。
columnIndex
Int
カラムのインデックス。
isKey
Boolean
フィールドがキーとして使用されるかどうかを示します。
isExternalId
Boolean
フィールドが外部IDとして使用されるかどうかを示します。
isSfldLookup
Boolean
フィールドがSalesforce IDのルックアップフィールドとして使用されるかどうかを示します。
isNullible
Boolean
フィールドにNULL値を含めることができるかどうかを示します。
isUnique
Boolean
フィールドに一意の値が必要かどうかを示します。
isCreateable
Boolean
フィールドが新しい値を承認するかどうかを示します。
isCalculated
Boolean
フィールドが計算されるかどうかを示します。
isUpdateable
Boolean
フィールドで更新が許可されるかどうかを示します。
isFilterable
Boolean
フィールドをフィルタできるかどうかを示します。
linkedFields
String
マスキングタスクの場合は、マップレットの入力フィールドにマップされるソースフィールド。
relatedInfos
各関連フィールドのfieldRelatedInfoオブジェクトに含まれる、関連するフィールドの情報。
fieldId
Long
fieldRelatedInfoオブジェクトに含まれています。
フィールドID。
referenceObject
String
fieldRelatedInfoオブジェクトに含まれています。フィールドに含まれるオブジェクト。
relationshipName
String
fieldRelatedInfoオブジェクトに含まれています。オブジェクトとのリレーション。
references
各関連フィールドのfieldRelatedInfoオブジェクトに含まれる参照情報。
fieldId
Long
fieldRelatedInfoオブジェクトに含まれています。
フィールドID。
referenceObject
String
fieldRelatedInfoオブジェクトに含まれています。
フィールドに含まれるオブジェクト。
relationshipName
String
fieldRelatedInfoオブジェクトに含まれています。
オブジェクトとのリレーション。
javaType
String
Javaデータ型。
showLabel
Boolean
フィールドのラベルを表示するかどうかを示します。
naturalOrder
Int
ソース内のフィールドの位置番号。
customProperties
フィールドのカスタムプロパティ。

GETの例

IDが0002D420000000Jというソース接続から使用できるCustomerソースオブジェクトのフィールドの詳細を取得するには、次の要求を使用します。
GET <serverUrl>/api/v2/connection/source/0002D420000000J/field/Customer
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
要求に成功すると、Customerソースオブジェクトの各フィールドに対するフィールドオブジェクトを返します。

フラットファイル内のフィールドの更新

フィールドリソースを使用して、フラットファイル接続からソースオブジェクトまたはターゲットオブジェクトのフィールドを更新します。

POST要求

次のいずれかのURIを使用します。
オブジェクト内のフィールドを更新すると、要求のフラットファイル属性でオブジェクトのデフォルトの属性が上書きされます。
次の表に、要求で指定するflatFileAttrsオブジェクトに含めることができる属性とその説明を示します。
フィールド
タイプ
必須
説明
id
Long
はい
フィールドID。
delimiter
String
フィールドを区切るために使用される文字。
textQualifier
String
テキスト文字列の境界を定義する引用符。
escapeChar
String
引用符で囲まれていない文字列に埋め込まれたフィールド区切り文字の直前の文字、または引用符で囲まれた文字列内の引用符の直前の文字。
headerLineNo
Int
ヘッダー行の数。
firstDataRow
Int
ファイル内でデータが始まる行番号。
rowDelimiter
Int
--
改行文字。1から32までのASCII文字の10進数コードを入力します。
デフォルト値は10で、これは改行文字です。
consecutiveDelimiter
Boolean
--
1つ以上の連続する区切り文字を1つの文字として扱うかどうかを示します。
デフォルトはfalseです。
multiDelimitersAsAnd
Boolean
--
指定した区切り文字が複数の文字である場合に、その文字を1つの区切り文字として扱うか、複数の区切り文字として扱うかを示します。
デフォルトはtrueです。

POST要求の例

フラットファイルソースオブジェクトのフィールドを更新するには、次の要求を使用します。
POST <serverUrl>/api/v2/connection/source/0000010B000000000021/field/test_precision.csv
1.0
Content-Type: application/xml
Accept: application/xml
icSessionId
{
"@type": "flatFileAttrs",
"delimiter": ",",
"textQualifier": "'",
"escapeChar": "\\"
}

非フラットファイル形式のオブジェクト内のフィールドの更新

フィールドリソースを使用して、ソースオブジェクトまたはターゲットオブジェクトのフィールドをAvro、Parquet、ORC、またはJSONなどの非フラットファイル形式で更新します。

POST要求

Avro、Parquet、ORC、およびJSON形式の場合、形式タイプとオプションでスキーマを含めることで、ソースオブジェクトまたはターゲットオブジェクトのフィールドを更新することができます。スキーマを含めない場合は、スキーマ形式はデータファイルから継承されます。
次のいずれかのURIを使用します。
次の表に、dataFormatオブジェクトに含める属性とその説明を示します。
フィールド
タイプ
必須
説明
formatId
String
形式タイプ、例えば、Avro。
schema
String
--
スキーマ形式。

POST要求の例

Parquetソースオブジェクトのフィールドを更新するには、次の要求を使用します。
POST <serverUrl>/api/v2/connection/source/0100000B00000000000F/fields?objectName=infa.qa.bucket%2Fcustomer.parquet
1.0
Content-Type: application/xml
Accept: application/xml
icSessionId: <icSessionId>
{
"@type": "dataFormat",
"dformatId": "Parquet",
"schema": "message AllData_root { optional int32 c_custkey; optional binary c_name (UTF8); optional binary c_address (UTF8); optional int64 c_nationkey; optional binary c_phone (UTF8); optional double c_acctbal; optional binary c_mktsegment (UTF8); required binary c_comment (UTF8);}"
}
応答が成功した場合、以下の例のようになります。
[
{
"@type": "field",
"id": -1,
"name": "c_custkey",
"type": "parquet_int32",
"uniqueName": "c_custkey",
"label": "c_custkey",
"parentObject": "customer_tgt.parquet",
"pcType": "INTEGER",
"precision": 10,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": true,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.lang.Integer",
"showLabel": true,
"naturalOrder": 0,
"linkedFields": [],
"relatedInfos": [],
"references": []
},
{
"@type": "field",
"id": -1,
"name": "c_address",
"type": "parquet_string",
"uniqueName": "c_address",
"label": "c_address",
"parentObject": "customer_tgt.parquet",
"pcType": "NSTRING",
"precision": 4000,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": true,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.lang.String",
"showLabel": true,
"naturalOrder": 2,
"linkedFields": [],
"relatedInfos": [],
"references": []
},
{
"@type": "field",
"id": -1,
"name": "c_nationkey",
"type": "parquet_int64",
"uniqueName": "c_nationkey",
"label": "c_nationkey",
"parentObject": "customer_tgt.parquet",
"pcType": "BIGINT",
"precision": 19,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": true,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.math.BigInteger",
"showLabel": true,
"naturalOrder": 3,
"linkedFields": [],
"relatedInfos": [],
"references": []
},
{
"@type": "field",
"id": -1,
"name": "FileName",
"type": "string",
"uniqueName": "FileName",
"label": "FileName",
"parentObject": "customer_tgt.parquet",
"pcType": "NSTRING",
"precision": 1024,
"scale": 0,
"columnIndex": -1,
"isKey": false,
"isExternalId": false,
"isSfIdLookup": false,
"isNullable": false,
"isUnique": false,
"isCreateable": false,
"isUpdateable": true,
"isFilterable": true,
"isCalculated": false,
"javaType": "java.lang.String",
"showLabel": true,
"naturalOrder": 8,
"linkedFields": [],
"relatedInfos": [],
"references": []
}
]