分類セットファイル形式
分類セットでは、分類データのアップロードに複数のファイル形式をサポートしています。 各形式には、正常なデータアップロードに必要な特定の要件があります。
これらの仕様に従ってファイルが適切にフォーマットされたら、分類セットインターフェイスまたは API を使用してデータをアップロードできます。 アップロード手順について詳しくは、以下を参照してください。
- ブラウザーのアップロード:分類セットについては、 スキーマ インターフェイスの アップロード を参照してください。
- API アップロード:詳しくは、Analytics Classifications API を参照してください
分類セットは、次のファイル形式をサポートしています。
- JSON:構造化データを含むJavaScript Object Notation ファイル
- CSV:コンマ区切り値ファイル
- TSV/TAB:タブ区切り値ファイル
一般的なファイル要件
すべてのファイル形式は、次の要件に従う必要があります。
- ファイルエンコーディング:バイトオーダーマークを付けずに UTF-8 を使用します。 Latin1 エンコーディングもサポートされています。
- 文字制限:個々の分類の値の上限は 255 バイトです。
- キーの要件: キー値を空にしたり、空白のみを含めたりすることはできません。 重複したキーが存在する場合は、最後に発生したものが使用されます。
JSON ファイル形式は、JSON 行(JSONL)の規則に従います。 ファイルには、1 行に 1 つの JSON オブジェクトが含まれている必要があります。各オブジェクトは、1 つの分類レコードを表します。
| note note |
|---|
| NOTE |
JSON 行は次の規則に従いますが、すべてのアップロードに .json ファイル拡張子を使用します。 .jsonl 拡張機能を使用すると、エラーが発生する場合があります。 |
JSON 構造
各 JSON オブジェクトには、以下を含める必要があります。
-
key(必須):分類レコードの一意の ID -
data(更新に必要):分類列名とその値を含むオブジェクト -
action(任意):実行するアクション。 次の値がサポートされています。update(デフォルト)delete-fielddelete-key
-
enc(任意):データエンコーディングの仕様。 次の値がサポートされています。utf8またはUTF8(デフォルト)latin1またはLATIN1
すべての JSON フィールド名(key、data、action、enc)は大文字と小文字が区別され、小文字にする必要があります。
JSON の例
基本更新レコード:
| code language-json |
|---|
|
指定されたエンコーディングで更新:
| code language-json |
|---|
|
特定のフィールドを削除:
| code language-json |
|---|
|
キー全体を削除:
| code language-json |
|---|
|
JSON 検証ルール
keyフィールドは必須です。null または空白にすることはできません。updateアクションの場合、「data」フィールドは必須であり、空白にすることはできません。delete-fieldアクションの場合、削除するフィールドがdataフィールドに含まれている必要があります。delete-keyのアクションの場合、「data」フィールドは存在できません。- サポートされているエンコーディング値は、大文字と小文字を区別せず、標準の文字セット名を含みます。
CSV (Comma-Separated Values)ファイルでは、分類データフィールドを区切るためにコンマを使用します。
CSV 構造
- ヘッダー行:最初の行には列ヘッダーが含まれ、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります
- データ行:各行に分類データが含まれます
- 区切り文字:フィールドはコンマで区切られます
- 引用符:コンマ、引用符、改行を含むフィールドは、二重引用符で囲む必要があります
CSV サンプル
基本分類データ:
| code language-csv |
|---|
|
キー全体を削除:
| code language-csv |
|---|
|
特定のフィールドを削除する(更新と混在):
| code language-csv |
|---|
|
CSV 形式ルール
- コンマを含むフィールドは、二重引用符で囲む必要があります。
- 二重引用符を含むフィールドは、そのフィールドを二重にエスケープする必要があります(
"")。 - 空のフィールドは、その分類の null 値を表します。
- フィールドの先頭と末尾のスペースは、自動的に削除されます。
- 引用されたフィールド内の特殊文字(タブ、改行)は保持されます。
削除操作:
- 任意のフィールドで
~deletekey~を使用すると、キー全体とそのすべての分類データを削除できます - 特定のフィールドの
~empty~を使用して、それらの分類値のみを削除します(他のフィールドはそのまま残します) ~empty~を使用する場合、同じファイル内の削除と更新を混在させることができます
TSV (タブ区切り値)および TAB ファイルでは、タブ文字を使用して分類データフィールドを区切ります。
TSV とタブ構造
- ヘッダー行:最初の行には列ヘッダーが含まれ、最初の列はキー列である必要があります。 後続の列は、分類セットスキーマの名前と一致する必要があります。
- データ行:各行に分類データが含まれます。
- 区切り文字:フィールドはタブ文字(
\t)で区切られます。 - 引用符:通常、引用符は必要ありませんが、一部の実装では引用符で囲まれたフィールドをサポートしています。
TSV と TAB の例
基本分類データ:
| code language-tsv |
|---|
|
キー全体を削除:
| code language-tsv |
|---|
|
特定のフィールドを削除する(更新と混在):
| code language-tsv |
|---|
|
TSV/タブ形式ルール
- フィールドは、単一のタブ文字で区切られます。
- 空のフィールド(連続するタブ)は null 値を表します。
- 特別な引用は通常必要ありません。
- 先頭と末尾のスペースは保持されます。
- フィールド内の改行文字は避ける必要があります。
削除操作:
- 任意のフィールドで
~deletekey~を使用すると、キー全体とそのすべての分類データを削除できます。 - 特定のフィールドの
~empty~を使用して、それらの分類値のみを削除します(他のフィールドはそのまま残します)。 ~empty~を使用する場合、同じファイル内で削除と更新を混在させることができます。
エラー処理
アップロードに関するよくある問題と解決策:
一般的なファイル形式エラー
- 無効なファイル形式:ファイル拡張子がコンテンツ形式(
.json、.csv、.tsvまたは.tab)と一致することを確認します。 - 不明なヘッダー:列名は、分類セットスキーマと一致する必要があります(すべての形式に適用)。
CSV および TSV 固有のエラー
- 最初の列はキーである必要があります:CSV または TSV ファイルに、最初にキー列を含む適切なヘッダー行があることを確認します。
- 少なくとも 2 つのヘッダー項目が必要です:CSV または TSV ファイルには、少なくとも
Keyつの列と 1 つの分類列が必要です。 - 最初のヘッダー列は「キー」と呼ぶ必要があります:最初の列ヘッダーは正確に
Keyである必要があります(大文字K、大文字と小文字を区別)。 - 空白のヘッダーは使用できません:すべての CSV/TSV 列ヘッダーには名前が必要です。
- 列数がヘッダーと一致しませんでした:各 CSV または TSV データ行には、ヘッダー行と同じ数のフィールドが必要です。
- 「形式が正しくないドキュメント:CSV 引用、TSV ファイルでの適切なタブ分離などを確認してください。
JSON 固有のエラー
- キーは必須フィールドです:すべての JSON レコードには、空でない
"key"フィールドを含める必要があります(小文字、大文字と小文字を区別)。 - action=update を使用する場合、データは必須フィールドです:JSON の更新アクションには、
"data"フィールドを含める必要があります。 - action=delete-field を使用する場合、データは必須フィールドです:JSON の delete-field アクションでは、削除するフィールドを
"data"フィールドで指定する必要があります。 - action=delete-key を使用する場合、データは存在しません: JSON の delete-key アクションに
"data"フィールドを含めることはできません。 - サポートされていないエンコーディング:
"enc"フィールドで、サポートされているエンコーディング値(utf8、UTF8、latin1、LATIN1)のみを使用します。 - 無効な JSON 構文:JSON ファイルが JSONL 規則に従って正しくフォーマットされていることを確認してください。 また、一般的な JSON 形式、引用符の欠落、コンマ、角括弧なども確認します。
サイズ制限エラー
- キーが最大サイズを超えています:個々のキーは 255 バイトを超えることはできません。
- 列の値が最大サイズを超えています:個々の分類の値は 255 バイトを超えることはできません。
ベストプラクティス
- ファイルサイズ:ブラウザーおよび API アップロードの最大ファイルサイズは 50 MB です。
- バッチ処理:大規模なデータセットの場合は、小さなファイルに分割することを検討してください。
- データ検証:大きなデータセットをアップロードする前に、小さなサンプルファイルを使用してテストします。
- バックアップ:ソースデータファイルのコピーを保持します。
- 増分更新:個々のレコードの更新と削除を正確に制御するには、JSON 形式を使用します。