汎用 SFTP サーバーを使用する

汎用フィードの SFTP サーバーでは、環境ごとに 1 つの SFTP サーバーに複数のフィードタイプをアップロードできます。このガイドでは、 汎用 SFTP サーバーの使用方法について説明し、使用する予定の フィードの適切なガイドへのリンクを提供します。

(ドキュメントの フィードのエクスポート(エンドツーエンド)またはフィード(スターター)のセクションを参照してください)。

汎用 SFTP サーバーでは、次の 2 つのアップロードが別々に行われる必要があります。

  1. 記述子ファイル: アップロードするフィードタイプを記述します
  2. フィードファイル: 実際のフィードのコンテンツ

記述子フィールドの構造

記述子ファイルは、アップロードするフィードタイプをシステムに通知するためにアップロードされます。これにより、フィードを正しく検証して処理できます。記述子ファイルはフィード コンテンツの前にアップロードする必要があり、次の命名要件を満たす必要があります。

  • 記述子ファイルには .filesetdesc.json ファイル拡張子を使用する必要があります。
  • 記述子ファイル名はそれぞれ一意にする必要があり、アップロード間で再利用することはできません。ファイル名には生成タイムスタンプとフィード名を含めることをおすすめします。
    • 例: offers_1524606581.filesetdesc.json
  • 各記述子ファイルには、関連するフィード名の最新のフィード内のすべてのデータファイルを一覧表示する必要があります。
message FilesetDescriptor {
  // The timestamp at which this feed was generated, in Unix time format
  // (seconds since the epoch). (required)
  int64 generation_timestamp = 1;

  // Identifies the name of this feed. (required)
  string name = 2;

  // Paths (relative to the dropbox root) specifying data files included in this
  // feed. (required)
  repeated string data_file = 3;
}

name フィールドに指定できる値は次のとおりです。

2 つのシャードを含む商品フィードの JSON 記述子ファイルの例を次に示します。

{
  "generation_timestamp": 1524606581,
  "name": "google.offer",
  "data_file": [
    "offers_1524606581_1.json",
    "offers_1524606581_2.json"
  ]
}

フィード コンテンツの構造

記述子ファイルをアップロードしたら、記述子ファイルで指定したフィード構成ファイルに対応するフィードデータタイプのすべてのフィードファイル をアップロードします。ファイル名とパスの場所( SFTP サーバー内の相対パス)は、 data_fileフィールドに含まれているものと完全に一致する必要があります。ファイルが欠落している場合、名前が正しくない場合、または 別の場所にアップロードされた場合、フィード全体が 処理されません。

これらのフィードデータファイルの内容は、 記述子ファイルで指定されたフィードの関連する仕様に準拠している必要があります。

各フィードファイルのファイル名は一意にする必要があり、アップロード間で再利用することはできません。ファイル名には生成タイムスタンプとシャード番号(増分 ID)を含めることをおすすめします。

  • 例: offers_1524606581_1.json

フィードファイルのサイズとアップロード頻度

  • フィードファイルのサイズは 200 MB 未満(圧縮後)にしてください。
  • 解凍後の各データファイルのサイズは 2 GB 未満にする必要があります。
  • ほとんどの統合では、1 つのシャードのみを使用する必要があります。できるだけ少ないシャードを使用してください。1 つのフィードにつき使用できるシャードは最大 1,000 個です。
  • 1 つのシャードで送信された個々のレコードを、今後のフィードの同じ シャード番号で送信する必要はありません。
  • パフォーマンスを向上させるには、シャード間でデータを均等に分割し、すべての シャード ファイルを同じくらいのサイズにします。
  • 必要に応じて、gzip を使用してフィードを圧縮します。ただし、個々のフィードシャードに対して行ってください。

トラブルシューティングとデバッグ

ファイル(記述子ファイルとフィードファイル)をアップロードしたら、パートナー ポータルの [取り込みビューア] (ドキュメント)にアクセスして、フィードの取り込みの進捗状況を確認します([取り込み] > [履歴] に移動)。

[フィード名] 列で、記述子ファイルに入力した name を探してフィードを見つけます。

フィードが取り込まれると(ステータスが Success または Fail)、その行をクリックしてエラーと警告の詳細を確認できます。