入札者は、常に少なくとも 2 つのインスタンスを実行している可能性があります。 各インスタンスは、Xandr データセンターの 1 つのインプレッション バスに関連付けられます。 インスタンス自体は、データ センターの Xandr でホストすることも、近くに配置することもできます。 グローバル インプレッションの待機時間を短縮するために、さまざまな Xandr データセンターでビッダー インスタンスをセットアップできます (下記 datacenter_id 参照)。 各入札者インスタンスは、1 つのデータセンターに関連付けられます。 入札者の負荷が大きくなると、データセンターごとに複数のインスタンスが必要になる可能性があります。 これらの複数のインスタンスに対して独自のローカル負荷分散プールを設定する代わりに、インプレッション バスが負荷分散を処理できます。
Bidder Instance Service API を使用して、各入札者インスタンスのホスト名/IP/ポートの組み合わせをインプレッション バスに登録する必要があります。 この API サービスでは、インスタンスを表示、変更、削除することもできます。 各入札者インスタンスは、 入札者サービスによって定義される要求ハンドラーの命名法を使用する必要があります。
注:
ビッダー インスタンスの仕組みに関してよく寄せられる質問への回答は、「 ビッダー インスタンス - FAQ」を参照してください。
REST API
| HTTP メソッド | エンドポイント | 説明 |
|---|---|---|
GET |
https://api.adnxs.com/bidder-instance/BIDDER_ID | すべての入札者インスタンスを表示します。 他のユーザーの入札者は表示されません。 |
GET |
https://api.adnxs.com/bidder-instance/BIDDER_ID/BIDDER_INSTANCE_ID | 特定の入札者インスタンスを表示します。 |
POST |
https://api.adnxs.com/bidder-instance/BIDDER_ID (bidder instance JSON) |
新しい入札者インスタンスを追加します。 |
PUT |
https://api.adnxs.com/bidder-instance/BIDDER_ID/BIDDER_INSTANCE_ID (bidder instance JSON) |
既存の入札者を変更します。 メモ: 現在、入札者インスタンス サービスは削除をサポートしていません。インスタンスを削除するには、そのインスタンスを非アクティブに設定します。 警告: 入札者インスタンスを作成または変更するときは、非推奨の "datacenter" パラメーターを使用してインスタンスのデータセンターを設定しないでください。 代わりに、常に以下で定義した ID を持つ "datacenter_id" パラメーターを使用してください。 |
JSON フィールド
| フィールド | 必須 | 型 | 説明 |
|---|---|---|---|
id |
はい ( PUT 日) |
int | ビッダー インスタンスの ID。 |
bidder_id |
○ | int | 入札者の ID。 |
active |
いいえ、既定値は true です | ブール値 | 入札者インスタンスがアクティブかどうか。 |
datacenter_id |
はい ( POST 日) |
int | インスタンスが関連付けられているデータセンター ID NYM = 6、LAX = 4、、AMS = 15、FRA = 7、SIN = 13。 レガシー ID: AMS = 12 (2022 年 7 月 12 日まで)、SIN = 8 (2019 年 10 月 15 日まで)、ZKS = 17 |
ip_address |
○ | 文字列 | 入札者インスタンスの IP アドレス。 |
port |
○ | int | 入札者インスタンスのポート。 |
last_activity |
いいえ | timestamp | このビッダー インスタンスへの最後の変更のタイムスタンプ。 |
hostname |
いいえ | varchar(128) | 入札者インスタンスのホスト名 ("https:// を含めないでください。例:"hostname":"rtb.yourdomain.com") |
qps_limit |
いいえ | int | このビッダー インスタンスに送信された 1 秒あたりの最大クエリ数。 |
注:
QPS 制限は、データセンター内のすべてのビッダー インスタンスに対して同じように設定 する必要があります 。 これを行うには、データセンターでアクティブなすべての入札者インスタンスの qps_limit を同じ値に設定します。 たとえば、LAX に 3 つの入札者インスタンスがあり、データセンター全体の QPS 制限を 50,000 に設定する場合は、3 つの入札者インスタンスのそれぞれで qps_limit を 50,000 に設定します。 データセンター内のすべての入札者インスタンスで qps_limit が同じでない場合、意図しない結果が得られる可能性があります。 qps_limit 値が各データセンターで同じであることを確認してください。
ホスト名はいつでも入札者インスタンスに追加できます。 ただし、弊社の API では、入札者のインスタンスを調整するときに IP アドレスが必要ですが、API 呼び出しに値 (お客様の URL またはドメイン) を含むホスト名フィールドを含めると、システムはホスト名に接続し、IP アドレスは無視されます。 ホスト名を持つ新しい入札者インスタンスを転記する場合は、[ip_address] フィールドにプレースホルダー値を使用できます。
例
認証トークン
API サービスを使用する場合、認証は常に最初のステップです。 認証トークンは、将来使用するために cookie ファイルに書き込むことができます。 詳細な手順については、「 認証サービス」を参照してください。
既存のインスタンスを表示する
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id": 6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname": null
}
]
}
}
新しいインスタンスの追加
ニューヨーク (NYM2) のインスタンスがあります。LAX1 ビッダー インスタンスを登録したい。 次の JSON を作成します。
$ cat bidder_instance
{
"instance":{
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"8.12.231.108",
"port":8081,
"hostname":"rtb.yourdomain.com"
}
}
次に、この新しいインスタンスを入札者に追加するには (2):
$ curl -b cookies -c cookies -X POST --data-binary @bidder_instance 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"id":53
}
}
新しく追加したインスタンスを表示するには:
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2/53'
{
"response":{
"status":"OK",
"instance":[
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.108",
"port":8081,
"last_activity":"2016-12-31 19:24:23"
"hostname":"rtb.yourdomin.com"
}
]
}
}
既存のインスタンスに QPS 上限を追加する
既存のインスタンスに QPS 上限を追加する場合:
$ cat bidder-instance
{
"instance":{
"id":53,
"qps_limit":75000
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @bidder-instance "https://api.adnxs.com/bidder-instance/2/53"
{
"response":{
"status":"OK",
"id":53
}
}
次に、インスタンスを表示する場合は:
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id":6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname":null
},
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.124",
"port":8081,
"qps_limit":75000
"last_activity":"2016-12-31 19:51:13"
"hostname":"rtb.yourdomain.com" }
]
}
}
インスタンスの変更
IP アドレスを変更する必要がある場合:
$ cat bidder-instance
{
"instance":{
"id":53,
"ip_address":"64.210.63.124"
}
}
$ curl -b cookies -c cookies -X PUT --data-binary @bidder-instance "https://api.adnxs.com/bidder-instance/2/53"
{
"response":{
"status":"OK",
"id":53
}
}
次に、私の bidder(2) のすべてのインスタンスの現在の状態を表示するには:
$ curl -b cookies -c cookies 'https://api.adnxs.com/bidder-instance/2'
{
"response":{
"status":"OK",
"instances":[
{
"id":14,
"bidder_id":2,
"active":true,
"datacenter_id":6,
"ip_address":"8.12.231.108",
"port":8081,
"last_activity":"2016-12-31 17:07:17"
"hostname":null
},
{
"id":53,
"bidder_id":2,
"active":true,
"datacenter_id":4,
"ip_address":"64.210.63.124",
"port":8081,
"last_activity":"2016-12-31 19:51:13"
"hostname":"rtb.yourdomain.com" }
]
}
}