での CSV ファイルの解析 CDM
CDM CSV パーサーを使用すると、CSV ファイル内のデータを解析できるため、構成データをカンマ区切り値 (CSV) ファイルから CDM にアップロードすると、CDMエディターまたはリストビューでデータ形式の属性と構成データを簡単に識別できます。
重要:
Washington DC リリース以降、DevOps コンフィグは将来の廃止に備えて準備されます。これは非表示になり、新しいインスタンスにはインストールされなくなりますが、引き続きサポートされます。詳細については、Now Support ナレッジベースの「Deprecation Process (廃止プロセス) [KB0867184]」の記事を参照してください。
CDM CSV パーサーは、CSV 標準 RFC 4180 に準拠しています。CSV ファイルから CDM の JSON 形式へのデータのこの解析は、次の点で役立ちます。
- カスタムヘッダー属性と区切り文字属性を持つ CSV ファイルから既存の構成データをアップロードして、JSON で適切なキーと値のペアとして解析します。
- CDMエディターの構成データアイテム (データ) とデータ形式の属性 (メタデータ) を区別する。
- 展開のためにインポートされた CSV データを CDM で検証しています。
- 元の形式の属性を使用して、構成データを JSON 形式から CSV 形式に変換します。
インポート時の CSV から JSON への解析
CSV ファイルを CDM にインポートすると、パーサーは次のように CSV 形式のデータを JSON 形式に変換します。
- CSV ファイルの各レコードを CDI として、JSON 形式の data ノードの下の個別のインデックス付きノードに追加します。
- metadata ノードで CSV アップロード中に使用されるデータ形式属性を追加します。
クエリパラメーター dataFormatAttributes には、区切り文字、ヘッダー、ヘッダーとしての最初の行、および保護されたヘッダーを決定するための属性が含まれています。
表 : 1. CDM CSV パーサーの属性 属性の名前 説明 区切り文字 各ヘッダーフィールドをキーとして、レコードフィールドを CDI の値として区切る文字。区切り文字として有効な文字を指定できます。 デフォルト:
"delimiter": ,.ヘッダーを含む CSV ファイルの最初の行をヘッダー行と見なすかどうかを決定するオプション。この属性はオプションです。 - true:CSV ファイルにはヘッダーとして最初の行が含まれます。
- false:CSV ファイルにはヘッダーとして最初の行がありません。この場合、 headers 属性にヘッダーを指定する必要があります。
デフォルト:
"containsHeader": "true"。ヘッダー CSV ファイル内のレコードフィールドのヘッダーフィールドのリスト。これらのヘッダーは、JSON 形式の CDI のキー名に変換されます。 注:この属性は、 containsHeader 属性が false に設定されている場合にのみ適用されます。CSV ファイルにヘッダーを含む最初の行がない場合は、ヘッダーの配列を指定できます。ヘッダーの数は、レコードフィールドの数と一致する必要があります。例:
"headers": ["FirstName","LastName","Location","Salary"]デフォルト:空のアレイ:
"headers": []。securedHeader すべてのレコードの値が JSON 形式で暗号化された形式で表示されるヘッダーフィールドのリスト。この属性はオプションです。 保護する必要があるヘッダーの配列を指定できます。セキュリティで保護されたヘッダーの名前は、 headers 属性または CSV ファイル内のヘッダーの名前と一致する必要があります。例:
"securedHeaders": ["Salary"]デフォルト:空のアレイ:
"securedHeaders": []。
CSV から JSON 形式への変換
この例は、指定されたデータ形式属性と、これらの属性に基づいて CSV コンテンツを JSON 形式に変換する方法を示しています。
- データ形式の属性
- 注:このパラメーターはオプションです。値を指定しない場合は、属性のデフォルト値が使用されます。
{ "delimiter": ",", "containsHeader": "true", "headers": [], "securedHeaders": ["salary"] } - CSV 形式
//Sample CSV file content: no header in the first row; each line represents a record FirstName,LastName,Location,Salary David,Ben,NYC,1000 Jakes D,Ron,IRE,1220 "George, R",Martin,US,12120 "Antony, ""Ron",Mak,US,1210- JSON 形式
//data node for the records from CSV - each record row converted to individual nodes with fields separated by delimiter character converted to individual items of the node{ "data": { "0": { "FirstName": "David", "LastName": "Ben", "Location": "NYC", "Salary": "*****" }, "1": { "FirstName": "Jakes D", "LastName": "Ron", "Location": "IRE", "Salary": "*****" }, "2": { "FirstName": "George, R", //the name has a delimiter char so the full name is enclosed within " " "LastName": "Martin", "Location": "US", "Salary": "******" }, "3": { "FirstName": "Antony, \"Ron", //the last name has "" so a \ is added to include " in the last name "LastName": "Mak", "Location": "US", "Salary": "*****" } }, //metadata added for the data format attributes "metadata": { "containsHeader": "true", "delimiter": ",", "headers": "FirstName�LastName�Location�salary", "securedHeaders": "Salary" } }
エクスポート中の JSON から CSV への解析
構成データを CSV ファイル形式にエクスポートするときに CSV 構成データを元の形式に保つには、データに data ノードと metadata ノードが含まれていることを確認します。
- dataノード内の構成データアイテムは、CSV ファイル内の個々のレコード行に変換されます。
- metadata ノード内のデータ形式属性は、CSV ファイル内の区切り文字、ヘッダー、およびシークレットヘッダー情報を定義するために使用されます。