GeoIPデータベース構成APIの作成または更新
IPジオロケーションデータベース構成を作成または更新します。
以下に示すMaxmind account_id
はライセンスキーを必要とします。ライセンスキーは機密情報であるため、Elasticsearch内のingest.geoip.downloader.maxmind.license_key
という名前のセキュア設定として保存されます。現在、Elasticsearchクラスターごとに1つのMaxmindライセンスキーのみが許可されています。Maxmindからダウンロードするには、有効なライセンスキーがセキュア設定に含まれている必要があります。ライセンスキー設定は、すべてのノードが再起動されるまで有効になりません。
Python
resp = client.perform_request(
"PUT",
"/_ingest/geoip/database/my-database-id",
headers={"Content-Type": "application/json"},
body={
"name": "GeoIP2-Domain",
"maxmind": {
"account_id": "1025402"
}
},
)
print(resp)
Js
const response = await client.transport.request({
method: "PUT",
path: "/_ingest/geoip/database/my-database-id",
body: {
name: "GeoIP2-Domain",
maxmind: {
account_id: "1025402",
},
},
});
console.log(response);
コンソール
PUT _ingest/geoip/database/my-database-id
{
"name": "GeoIP2-Domain",
"maxmind": {
"account_id": "1025402"
}
}
リクエスト
PUT /_ingest/geoip/database/<database>
前提条件
- Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するには
manage
クラスター権限が必要です。
パスパラメータ
<database>
- __ (必須、文字列) 作成または更新するデータベース構成のID。
クエリパラメータ
master_timeout
- (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは
30s
です。リクエストがタイムアウトしないことを示すために-1
に設定することもできます。 timeout
- (オプション、時間単位) クラスターのメタデータを更新した後、クラスター内のすべての関連ノードからの応答を待機する期間。タイムアウトが切れる前に応答が受信されない場合、クラスターのメタデータの更新は適用されますが、応答は完全に承認されなかったことを示します。デフォルトは
30s
です。リクエストがタイムアウトしないことを示すために-1
に設定することもできます。
リクエストボディ
name
- (必須、文字列) ダウンロードするIPジオロケーションデータベースのプロバイダーによって割り当てられた名前。
<provider>
- (必須、プロバイダーオブジェクトおよびその関連構成) データベースをダウンロードするために使用するIPジオロケーションプロバイダーを特定するために必要な構成、およびそのダウンロードに必要なプロバイダー固有の構成。
現在、サポートされているプロバイダーはmaxmind
のみであり、maxmindプロバイダーはaccount_id
(文字列)が構成されている必要があります。
ライセンス
サードパーティプロバイダーからデータベースをダウンロードすることは、適切なライセンスを必要とする商業機能です。詳細については、https://www.elastic.co/subscriptionsを参照してください。