汎用 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": "promote.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,000 個です。
  • 1 つのシャードで送信された個々のレコードを、今後のフィードの同じシャード番号で送信する必要はありません。
  • パフォーマンスを向上させるには、シャード間でデータを均等に分割し、すべてのシャード ファイルを同じくらいのサイズにします。
  • 必要に応じて、gzip を使用してフィードを圧縮します。ただし、その場合には個々のフィード シャードごとに行ってください。

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

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

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

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