次の方法で共有


入札者 - BSS を使用したセグメント データのアップロード

このドキュメントで説明されているように、セグメント ファイルをシステムに追加することは、複数ステップのプロセスです。

  1. 手順 1: アップロード用にデータ ファイルを書式設定します
  2. 手順 2: アップロード URL とジョブ ID を要求する
  3. 手順 3: アップロード URL にファイルを投稿する
  4. 手順 4: ジョブの状態を確認する

注:

ファイルは、個々の行で 1800 個のセグメントに制限されます。 1 人のユーザーに対して 1800 を超えるセグメントがある場合は、その行を複数行に分割する必要があります。

アップロード用にデータ ファイルを書式設定する

BSS 用のデータ ファイルを作成する場合は、2 つのオプションがあります。レガシ BSS ファイル形式と新しい推奨BSS Avro ファイル形式は、自己定義スキーマを使用し、サードパーティの Cookie を超える幅広い ID をサポートします。

データ ファイルは、次の要件を満たす必要があることに注意してください。

  • Latin1 文字セットを使用します。
  • 最大 0.5 GB です。

アップロード URL とジョブ ID を要求する

アップロードされる各セグメント データ ファイルは、特定のジョブ ID に関連付けられている必要があります。 この ID は、アップロード URL を作成し、ファイルの処理状態を追跡するために使用されます。 最初の手順は、空 POST の要求をサービスに送信することです。

このサービスは、 と の両方 api.appnexus.com で機能します adnxs.com。 入札者と UI ログインの両方で使用できます。

$ curl -b cookies -X POST "https://api.appnexus.com/batch-segment?member_id=456"
 
{
  "response": {
    "id": 123,
    "status": "OK",
    "batch_segment_upload_job": {
      "job_id": "JFY8l6iMOFAFJIWCMPcy39MCt3Yleo1337618549",
      "id": 123,
      "member_id": 456,
      "last_modified": "2012-05-21 16:42:29",
      "upload_url": "https://data-api-gslb.adnxs.net/segment-upload/segment-upload/JFY8l6iMOFAFJIWCMPcy39MCt3Yleo1337618549"
    },
    "start_element": 0,
    "count": 1,
    "num_elements": 100,
    "dbg_info": {
      ...
    }
  }
}

アップロード URL にファイルを投稿する

ファイルアップロード URL は、手順 1 の JSON 応答でフィールド upload_urlによって指定されます POST 。この URL にセグメント ファイルを処理します。 次のガイドラインに留意してください。

  • アプリケーションでアップロード URL をハードコーディングしないでください。 upload_url フィールドから動的に取得してください。
  • 特定のアップロード URL へのアップロードは 5 分以内に開始する必要があり、一度に有効な URL は 1 つだけです。 アップロードを開始するまで 5 分以上待つ場合は、新しい URL を要求する必要があります。
  • 1 分あたり 1 回のアップロードを超えないようにすることをお勧めします。 200 を超えるジョブがいつでも処理されるのを待っている場合、追加のジョブのアップロードは禁止されます。

警告

ファイルを正しくアップロードするには、HTTP ヘッダーで MIME の種類を として "Content-Type: application octet-stream"指定する必要があります。 () を使用"Content-Type: application x-www-form-urlencode"-d or --data flags in curlしないでください。 MIME の種類が正しくないと、ファイルが処理されなくなります。

$ curl -v -H 'Content-Type:application/octet-stream' -b cookies -X POST --data-binary @segment_file "https://01.data-api.prod.adnxs.net/segment-upload/JFY8l6iMOFAFJIWCMPcy39MCt3Yleo1337618549"
 
* About to connect() to 01.data-api.prod.adnxs.net port 80
*   Trying 64.210.62.71... connected
* Connected to 01.data-api.prod.adnxs.net (64.210.62.71) port 80
> POST /segment-upload/FkmOY7oL2Qy2aCE7NrhE1BHVoJA0wi1337697712 HTTP/1.1
> User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
> Host: 01.data-api.prod.adnxs.net
> Accept: */*
> Content-type:application/octet-stream
> Content-Length: 116
>
> 7652266028043224430;5848:0,5849:1440,5850:14404013681496264948522;5013:0,5014:15508802117132500293405;5851:0,5847:-1HTTP/1.1 200 OK
< Date: Tue, 22 May 2012 14:48:02 GMT
< Content-Type: application/json
< Transfer-Encoding: chunked
< Server: Jetty(7.6.2.v20120308)
* Connection #0 to host 01.data-api.prod.adnxs.net left intact
* Closing connection #0
{"response":{"segment_upload":{"job_id":"FkmOY7oL2Qy2aCE7NrhE1BHVoJA0wi1337697712"},"status":"OK"}}

SSL アップロード URL の例

curl -b cookie -c cookie -X POST -s -d '' "https://api.appnexus.com/batch-segment?member_id=958"
 
"batch_segment_upload_job": {
      "id": 14841671,
      "job_id": "qGQhSZ1qvd2hSsJ9svTz32qgxq7z5b1439315424",
      "member_id": 958,
      "last_modified": "2015-08-11 17:50:24",
      "upload_url": "https://data-api-gslb.adnxs.net/segment-upload/qGQhSZ1qvd2hSsJ9svTz32qgxq7z5b1439315424"
        }

ジョブの状態を確認する

最後に、手順 2 または 3 から返された を含む GET 要求をjob_id送信して、処理状態をチェックします。 JSON 応答には、ファイルの処理にかかった時間やエラーの数 (ある場合) などの情報が含まれます。 などの結果フィールド num_validを確認する前に、phase="completed" まで待つ必要があることに注意してください。 詳細については、「 BSS アップロードのトラブルシューティング」を参照してください。

Xandr SLA ごとに、ファイルの処理に最大 24 時間を許可します。

注:

Impbus API を使用するデータ プロバイダーの場合、フィールドはその中に 1 つのオブジェクトを含む配列であることに注意してください batch_segment_upload_job 。 例えば、

{"batch_segment_upload_job":[{"phase":"completed"}]}

$ curl -b cookies "https://api.appnexus.com/batch-segment?member_id=456&job_id=JFY8l6iMOFAFJIWCMPcy39MCt3Yleo1337618549"
 
{
 "response": {
  "start_element": 0,
  "count": 1,
  "batch_segment_upload_job": {
   "phase": "completed",
   "start_time": "2012-05-21 20:04:35",
   "uploaded_time": "2012-05-21 20:04:41",
   "validated_time": "2012-05-21 20:07:24",
   "completed_time": "2012-05-21 20:08:24",
   "error_code": null,
   "time_to_process": "2.69",
   "percent_complete": 100,
   "num_valid": 200000,
   "num_valid_user":100000
   "num_invalid_format": 0,
   "num_invalid_user": 0,
   "num_invalid_segment": 0,
   "num_unauth_segment": 1,
   "num_past_expiration": 0,
   "num_inactive_segment": 0,
   "num_other_error": 0,
   "error_log_lines": " \n\nnum_unauth_segment-4013681496264948522;5013:0,5014:1550",
   "segment_log_lines": "\n5010:100000\n5011:50000\n5012:50000",
   "id": 88,
   "job_id": "4tGhzv2PojNGQpq0MYaoaOa70cuF061337630675",
   "member_id": 456,
   "created_on": "2012-05-21 20:04:35",
   "last_modified": "2012-05-21 20:08:24"
  },
  "dbg_info": {
  ...
  },
  "status": "OK",
  "num_elements": 100
 }
}