フィールド
フィールドは、単一のデータ項目を表すデータ構造のサブセットです。例えば、データベーステーブルのカラムはフィールドです。ソースオブジェクトまたはターゲットオブジェクトのフィールドの詳細を要求および更新することができます。
フィールドの詳細の取得
フィールドリソースを使用して、ソースオブジェクトまたはターゲットオブジェクトのフィールド詳細を取得します。
GET要求
ソースオブジェクトのフィールドの詳細を取得するには、次のいずれかのURIを使用します。
- •ソース接続IDを指定する場合は、/api/v2/connection/source/<id>/field/<オブジェクト名>を使用します。
- •ソース接続名とソースオブジェクト名を指定する場合は、/api/v2/connection/source/name/<name>/field/<オブジェクト名>を使用します。
ターゲットオブジェクトのフィールドの詳細を取得するには、次のいずれかのURIを使用します。
- •ターゲット接続IDを指定する場合は、/api/v2/connection/target/<id>/field/<オブジェクト名>を使用します。
- •ターゲット接続名とターゲットオブジェクト名を指定する場合は、/api/v2/connection/target/name/<name>/field/<オブジェクト名>を使用します。
オブジェクト名にスラッシュ(/)が含まれている場合は、次の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を使用します。
- •ソースオブジェクトの場合は、/api/v2/connection/source/<id>/field/<objectName>を使用します。
- •ターゲットオブジェクトの場合は、/api/v2/connection/target/<id>/field/<objectName>を使用します。
オブジェクト内のフィールドを更新すると、要求のフラットファイル属性でオブジェクトのデフォルトの属性が上書きされます。
次の表に、要求で指定する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を使用します。
- •ソースオブジェクトの場合は、/api/v2/connection/source/<id>/fields?objectName=<オブジェクト名>を使用します。
- •ターゲットオブジェクトの場合は、 /api/v2/connection/target/<id>/fields?objectName=<オブジェクト名>を使用します。
次の表に、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": []
}
]