はじめに
このドキュメントで説明する API は、カスタム名前解決関数 で使用するためのものです。基本的な名前解決シナリオが要件を満たさない場合は、これらの API を使用してください。
各カスタムドメイン名の名前解決リクエストに必要な共通パラメーターを構成する必要があります。詳細については、「カスタム名前解決のためのグローバルパラメーターの設定」をご参照ください。
カスタム同期名前解決 API
カスタム同期名前解決 API を使用してドメイン名を解決すると、有効な名前解決結果が返されるまで現在のスレッドはブロックされます。
この API は、まず `cacheKey` を使用してキャッシュをクエリします。アクティブな名前解決結果がキャッシュに存在する場合、API はキャッシュされた結果を直ちに返します。アクティブな結果が見つからない場合、API は呼び出し元のスレッドをブロックし、ワーカースレッドでドメイン名の名前解決を実行します。名前解決が完了すると、結果が返されます。リクエストがタイムアウトした場合、null 値が返されます。
同期名前解決操作の全体の期間は、タイムアウト構成 によって制御されます。タイムアウト期間内に名前解決が失敗した場合、空の名前解決結果が直ちに返されます。
getHttpDnsResultForHostSync
API 定義
HTTPDNSResult getHttpDnsResultForHostSync(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey)
導入バージョン
2.4.0
クラス
HttpDnsService
パラメーター
パラメーター | タイプ | 必須 | 説明 |
host | String | はい | 解決するドメイン名。 |
requestIpType | RequestIpType | はい | 解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。 これは列挙型です。解決する IP アドレスのタイプを指定します。
|
params | Map<String, String> | はい | ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。 |
cacheKey | String | はい | ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。 |
戻り値
タイプ | 説明 |
名前解決の結果。 |
サンプルコード
val httpdns = HttpDns.getService(accountID)
val httpDnsResult = dnsService?.getHttpDnsResultForHostSync(host, RequestIpType.auto, params, cacheKey)HttpDnsService httpdns = HttpDns.getService(accountID);
HTTPDNSResult httpDnsResult = httpdns.getHttpDnsResultForHostSync(host, RequestIpType.auto, params, cacheKey);カスタム非同期名前解決 API
カスタム非同期名前解決 API を使用してドメイン名を解決する場合、現在のスレッドはブロックされません。名前解決の結果はコールバックを介して返されます。
この API は、まずキャッシュをクエリします。アクティブな名前解決結果がキャッシュに存在する場合、API はキャッシュされた結果をコールバックを介して直ちに返します。アクティブな結果が見つからない場合、API はワーカースレッドでドメイン名の名前解決を実行します。名前解決が完了するか、リクエストがタイムアウトすると、結果はコールバックを介して返されます。
同期解析インターフェイスの場合、合計解析時間は タイムアウト構成 によって制御されます。構成されたタイムアウト期間内に解析が完了しない場合、インターフェイスは直ちに空の結果を返します。
getHttpDnsResultForHostAsync
API 定義
void getHttpDnsResultForHostAsync(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey, HttpDnsCallback callback)
導入バージョン
2.4.0
クラス
HttpDnsService
パラメーター
パラメーター | タイプ | 必須 | 説明 |
host | String | はい | 解決するドメイン名。 |
requestIpType | RequestIpType | はい | 解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。 これは列挙型です。解決する IP アドレスのタイプを指定します。
|
params | Map<String, String> | はい | ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。 |
cacheKey | String | はい | ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。 |
callback | はい | 名前解決結果のコールバッククラス。 |
サンプルコード
val httpdns = HttpDns.getService(accountID)
dnsService?.getHttpDnsResultForHostAsync(host, RequestIpType.auto, params, cacheKey, HttpDnsCallback {
httpDnsResult = it
})HttpDnsService httpdns = HttpDns.getService(accountID);
httpdns.getHttpDnsResultForHostAsync(host, RequestIpType.auto, params, cacheKey, new HttpDnsCallback() {
void onHttpDnsCompleted(HTTPDNSResult result) {
}
});カスタム同期非ブロッキング名前解決 API
カスタム同期非ブロッキング名前解決 API を使用してドメイン名を解決する場合、現在のスレッドはブロックされませんが、空の結果が返されることがあります。
この API はキャッシュのみをクエリし、キャッシュから名前解決結果を返します。キャッシュに名前解決結果が存在しないか、キャッシュされた結果の有効期限が切れている場合、ドメイン名の名前解決はワーカースレッドで実行されます。名前解決が成功すると、次回の呼び出しのためにキャッシュが更新されます。
getHttpDnsResultForHostSyncNonBlocking
API 定義
HTTPDNSResult getHttpDnsResultForHostSyncNonBlocking(String host, RequestIpType requestIpType, Map<String, String> params, String cacheKey)
導入バージョン
2.4.0
クラス
HttpDnsService
パラメーター
パラメーター | タイプ | 必須 | 説明 |
host | String | はい | 解決するドメイン名。 |
requestIpType | RequestIpType | はい | 解決する IP アドレスのタイプ。これを RequestIpType.both に設定することをお勧めします。 これは列挙型です。解決する IP アドレスのタイプを指定します。
|
params | Map<String, String> | はい | ドメイン名の名前解決のための追加パラメーター。これは、サーバー上のカスタム名前解決関数における event.parameters パラメーターに対応します。 |
cacheKey | String | はい | ドメイン名のローカルキャッシュキー。追加のパラメーターが変更され、サーバーがドメイン名を再度解決する必要がある場合は、cacheKey も変更する必要があります。 |
戻り値
タイプ | 説明 |
名前解決の結果。 |
サンプルコード
val httpdns = HttpDns.getService(accountID)
val httpDnsResult = dnsService?.getHttpDnsResultForHostSyncNonBlocking(host, RequestIpType.auto, params, cacheKey)HttpDnsService httpdns = HttpDns.getService(accountID);
HTTPDNSResult httpDnsResult = httpdns.getHttpDnsResultForHostSyncNonBlocking(host, RequestIpType.auto, params, cacheKey);