CDN イベントトリガーは、Alibaba Cloud コンテンツデリバリーネットワーク (CDN) と Function Compute を連携させます。これにより、キャッシュのリフレッシュ、ログファイルの作成、ドメイン管理の変更などの CDN ライフサイクルイベントが発生した際に、関数が自動的に実行されます。一度関数コードを記述すれば、指定したドメインで CDN が一致するイベントを検出するたびに、トリガーが呼び出しを処理します。
仕組み
Alibaba Cloud CDN は、オリジンサーバーのリソースをエンドユーザーの近くでキャッシュするエッジノードの分散ネットワークであり、遅延を削減し、オリジンサーバーのトラフィックをオフロードします。CDN がライフサイクルイベントをキャプチャすると、イベントデータを JSON 文字列としてエンコードし、処理のためにお客様の関数に転送します。
ユースケース
キャッシュリフレッシュとプレロードステータスの追跡 —
CachedObjectsRefreshedおよびCachedObjectsPushedイベントに反応することで、ステータスリストを繰り返しポーリングする代わりに、リフレッシュまたはプレロード操作が完了するとすぐに現在のステータスを取得できます。ログファイルのリアルタイム処理 —
LogFileCreatedイベントに反応することで、スケジュールされたバッチジョブを待つことなく、CDN が新しいログファイルを生成した直後にログ処理パイプラインを実行できます。ドメインライフサイクル変更への対応 —
CdnDomainStartedまたはCdnDomainStoppedイベントに反応することで、CDN ドメインが有効化または無効化されるとすぐに、ダウンストリームのデータ処理をトリガーできます。
サポートされるイベント
すべてのイベントはドメイン名でフィルターされます。CDN システムが、トリガーのフィルターに一致するドメインでイベントを検出すると、関数が自動的に呼び出されます。すべてのイベントはバージョン 1.0.0 を使用します。
| イベント | 発生タイミング | リファレンス |
|---|---|---|
CachedObjectsRefreshed | ドメインでのキャッシュリフレッシュ操作が完了します | RefreshObjectCaches |
CachedObjectsBlocked | 指定された URL が Point of Presence (POP) でブロックされます。 説明 このイベントを使用するには、チケットを送信して、アカウントを CDN の許可リストに追加する必要があります。 | — |
CachedObjectsPushed | ドメインでのキャッシュプリロード操作が完了します | PushObjectCache |
LogFileCreated | CDN がドメインの新しいログファイルを生成します | CDNドメインログの照会 |
CdnDomainStarted | CDN ドメインが有効になります | StartCdnDomain |
CdnDomainStopped | CDN ドメインが無効になります | StopCdnDomain |
CdnDomainAdded | 新しい CDN ドメインが追加されます | AddCdnDomain |
CdnDomainDeleted | CDN ドメインが削除されます | DeleteCdnDomain |