network モジュールは ウェブサイトアプリケーション でのみ利用できます。まず app.isWebsite() で型を絞り込んでください。
カスタムドメイン
app.network.setCustomDomain(domain) は、ウェブサイトに紐付けられたカスタムドメインを設定または削除します。
カスタムドメインには Senior プラン 以上が必要です。カスタムドメインを変更できる回数には、ユーザーごとに1日の上限があります。
DNS レコード
カスタムドメインを紐付けたら、レジストラで DNS を設定する必要があります。app.network.dns() は作成すべき DNS レコードの配列を返します。
{ type, name, value, status } の形式です:
typeは"txt"または"cname"です。TXT レコードはドメイン所有権と SSL 検証をカバーし、CNAME レコードはトラフィックを運び、valueは常にcname.squareweb.appを指します。statusは現在の検証状態を表します。例:"pending"、"pending_validation"、"active"。
分析
app.network.analytics({ start, end }) は集計されたエッジ分析を返します。start と end は ISO 8601 文字列または Date オブジェクトのいずれかを受け付けます。最大保持期間は 7 日間 です。
絞り込みフィルター
start/end に加えて、analytics() はオプションのフィルターを受け付けます。各フィルターは、レスポンス内の1つの内訳だけでなく、すべての内訳を一括で絞り込みます:
内訳
既存の時系列と上位N件の内訳に加えて、レスポンスには期間全体で計算された(時系列を持たない)4つの内訳が含まれます:ips(Square Cloud 自身のネットワークから発信された IP はマスクされます)、status_codes、bots、content_types。各エントリは { type, visits, requests, bytes } の形式です。
エラー追跡
app.network.errors({ start, end, include4xx? }) はエッジのエラー内訳を返します。デフォルトでは 5xx エラーのみが含まれます。
リクエストごとのログ
app.network.logs({ start, end }) はリクエストごとのエッジログを返します。
リクエストごとのログには Pro プラン 以上が必要です。
レイテンシーパーセンタイル
app.network.performance({ start, end }) は、エッジ層とオリジン層の p50 / p95 / p99 レイテンシーを返します。
パフォーマンス指標には Pro プラン 以上が必要です。
エッジキャッシュのパージ
app.network.purgeCache() は、アプリケーションのドメインに対するエッジキャッシュ全体を無効化します。
アカウント全体のドメインとロードバランサー
domains() と loadBalancers() は app.network ではなく api.applications にあります。単一のウェブサイトではなく、アカウント内のすべてのアプリケーションを横断して動作します。
すべてのドメインの一覧取得
api.applications.domains() は、アカウントのすべてのアプリケーションに設定されているすべてのドメインを返します。
ロードバランサー
api.applications.loadBalancers() は、同じカスタムドメインを共有するアプリケーションをグループ化します。
limit は、アカウントのプランで1つのドメインを共有できるアプリケーションの最大数です: 2(Standard)、5(Pro)、10(Enterprise)。ユーザーごとに60秒あたり20リクエストにレート制限されます。
