Skip to main content
c.Apps.Network は Web アプリでのみ動作します。すべてのメソッドは ctx とアプリ ID を先に取ります。 以下の各スニペットは、このプログラムの中で単独で動作します。1 つずつ main に貼り付けて goimports を実行してください (サンプルの実行を参照)。

期間

Analytics、Errors、Logs、Performance は start と end を取り、それぞれ time.Time です (UTC の RFC 3339 として送信されます)。上のプログラムでは、直近 24 時間に設定しています。期間は最大 7 日間で、start はアプリの作成日より前にはなりません。無効な期間は 400 INVALID_TIME_RANGE になります。 結果は 5 分単位でキャッシュされます。これら 4 つのメソッドのキャッシュミスは、アカウントごとに 60 秒あたり 20 リクエストの制限を共有しており、超えると 429 RATE_LIMITED になります。

アナリティクス

Network.Analytics(ctx, appID, start, end, filters) は、トラフィックの合計と内訳を *NetworkAnalytics として返します。トラフィックのない期間では nil (と nil のエラー) を返します。フィルターを使わない場合は空の squarecloud.AnalyticsFilters{} を渡します。
内訳は Countries、Devices、OS、Browsers、Protocols、Methods、Paths、Referers、Providers、IPs、StatusCodes、Bots、ContentTypes です (JSON では countries、…、status_codes、bots、content_types)。各バケットは Type、Visits、Requests、Bytes (int64) を持ちます。

フィルター

フィルターはすべての内訳を絞り込みます。各フィルターは、対応する内訳の Type の値をそのまま受け取ります。空のフィールドは送信されません:
無効なフィルターは 400 INVALID_FILTER になります。

エラー

Network.Errors(ctx, appID, start, end, include4xx) は、期間内の 5xx レスポンスを返します。include4xx が true の場合は 4xx も含まれます。空の期間では nil を返します。

リクエストログ

Network.Logs(ctx, appID, start, end) は、クライアント、リクエスト、レスポンスの詳細を含む個々のリクエストを返します。Pro プランと Enterprise プランで利用できます (それ以外では 403 UPGRADE_REQUIRED)。
API が null として送る可能性のあるフィールドはポインタです (Client.IP、Client.Country、Request.Query、Request.Referer、Response.Cache など)。

パフォーマンス

Network.Performance(ctx, appID, start, end) は、エッジとオリジンにおけるレイテンシのパーセンタイル (P50、P95、P99、ミリ秒) を、国別、ロケーション別、および最も遅いパス別に返します。空の期間では nil を返します。Pro プランと Enterprise プランで利用できます。 各パーセンタイルは *float64 で、計測するリクエストがなかった場合は nil です:

DNS

Network.DNS(ctx, appID) は、カスタムドメインに必要な DNS レコードをそのステータスとともに返します。カスタムドメインがない場合は 400 NO_CUSTOM_DOMAIN になります。

カスタムドメイン

Network.SetDomain(ctx, appID, domain) はカスタムドメインを割り当てます (Standard プラン以上)。削除するには "@" を渡します。

キャッシュのパージ

Network.PurgeCache(ctx, appID) はアプリのエッジキャッシュをクリアします。パージは 60 秒に 1 回までに制限されています (429 KEEP_CALM)。

アナリティクス系メソッドのエラー

次のステップ

リアルタイム

ライブログとステータスをストリーミングします。

ネットワーク API リファレンス

これらのメソッドが呼び出す REST endpoint。

CLI でエッジアナリティクス

同じ操作をターミナルから行います。