SFTP サーバーのガイドライン


はじめに

Indeed の SFTP サーバーは、クライアントが XML ファイルを Indeed にアップロードできるようにするための共有リソースです。Indeed はアップロードされた XML ファイルを処理し、適切なタイミングで求人を Indeed に掲載します。

この文書の目的は、クライアントにマナーを守って共有リソースを使用してもらうためのガイドラインを示すことです。すべてのクライアントは、 適切に振る舞うことによって、[XML]ファイルを適切なタイミングでアップロードし、間違いなく求人が Indeed に掲載されることを確認できます。 一方、不適切な振る舞いが継続的に見られるクライアントは、サーバーへのアクセスを禁止される場合があります。

ガイドライン

1)必要最小限の接続を使用する

Indeed では、DDOS 攻撃を緩和する目的で接続数を制限しています。すべてのクライアントがファイルを正常にアップロードできるように、接続数 を必要最小限に留めてください。

理想的には、各クライアントが使用する接続は1つにする必要があります。Indeed は、クライアントが複数のファイルを同時にアップロードするこ とにより複数の接続が使用される可能性があることを認識しています。SFTP プロトコルを使用することで1つの接続で操作を多重化できるため、 クライアントは1つの接続で複数の異なる操作を行うことができます。

2)ファイルのアップロードのみを行う

ファイルがアップロードされると、Indeed はすぐに元のファイル名でファイルの処理を開始します。ファイル名が変更された場合、処理が最大10分遅れる可能性があります。

以下のことはしないでください。

  • ファイルのアップロード後にファイル名を変更する
  • アップロード後にファイルを削除する
  • ファイルのメタデータ(変更時間や権限など)を操作しようとする
  • ファイルの状態を絶えずクエリまたはポーリングする

ファイルが正常にアップロードされたかどうかを知りたい方のために、Indeed はクライアントのディレクトリ内のprocessedサブディレクトリで、 2日分の履歴を確認できるようにしています。

2022年7月19日10:31:00(米国中部夏時間)にアップロードされたファイルが ftp/ftpexample123/file.xml にある場合、Indeed は空のファイルを ftp/ftpexample123/processed/file.xml/20220719_103100_CDT.xml にアップロードします。このファイルは ファイルがアップロードおよび処理されたことを確認するためのもので、2日後に削除されます。

3)アップロードの頻度

適切なアップロード頻度は、時間ベースと、XMLの大幅な変更という2つのカテゴリーに分類できます。

  • 時間ベース:
    • ガイドライン:6時間ごと
    • アップロードの最小間隔:2時間
  • 大幅な変更:
    • 求人の1%以上が変更された場合
    • 多くの求人の URL が変更されたとしても、それは大幅な変更には当たりません。

Indeed の目標は、最も正確な求人の更新情報を、可能な限り適切なタイミングで求職者に提供することです。しかし、求人が Indeed.com に掲載されるまでには多くのステップがあります。15分ごとに小さな変更がアップロードされたとしても、Indeed は XML 全体を再処理し、 表示する前に残りの Indeed の求人パイプラインを通過させる必要があるため、求人が早く掲載されるわけではありません。また、 Indeed のシステムは、頻繁にアップロードするアカウントを制限し、3時間ごとに更新を取得するよう設定されています(これは変更される場合があります)。

4)必要なファイルのみをアップロードする

各ファイルがアップロードされると、Indeed はファイル名をチェックし、そのファイル名の処理方法がわかるかどうかを確認します。 ファイル名の処理方法が不明な場合、Indeed はそのファイルをアクセスできないディレクトリに移動します。

不要なファイルがアップロードされると、システムの負荷が増大するため、重要なファイルの処理を実行できなくなります。

リクエストがあった場合、Indeed はアップロードされたファイルをクエリし、どのファイルが処理されていないかを確認します。

5)適切なネーミングルール

5.1)アップロード間で同じファイル名を維持する

SFTP サーバーは、ファイル名の日時のみが変更されている場合に限り、アップロード間のファイル名の変更に対処できます。たとえば、 次の2つのファイルをアップロードするとします。

  • my_jobs_20220816_064321.xml、その6時間後
  • my_jobs_20220816_124321.xml

これらのファイルのアップロードが完了すると、以下のように保存されます。

  • my_jobs_20220816_064321.xml/20220816_064353.xml
  • my_jobs_20220816_124321.xml/20220816_124403.xml

ファイルを追跡しやすいように、アップロード間で一貫した名前(例:my_jobs.xml)を使用した場合、ファイルは以下のように保存されます。

  • my_jobs.xml/20220816_064353.xml
  • my_jobs.xml/20220816_124403.xml

ファイル拡張子を含める

現在、Indeed は XML ファイルのみを処理しているため、すべてのファイルが XML ファイルとみなされます。将来的には Indeed が他のファイル形式も処理できるようになる可能性があるため、その場合に問題を軽減できるよう、ファイル拡張子を含めるようにしてください。

  • 間違ったファイル名
    • MY_JOBS
    • INDEED_JOBS_XML
  • 正しいファイル名
    • my_jobs.XML
    • INDEED_jobs.xml