AEM Edge Functions

IMPORTANT
AEM Edge Functionsは現在ベータ版です。 機能やドキュメントは変更される可能性があります。 フィードバックについては、aemcs-edgecompute-feedback@adobe.comまでお問い合わせください。

AEM Edge Functionsを利用すれば、Adobe CDN上のJavaScriptをエッジで実行し、訪問者に近い場所で出発地への往復なしで利用できます。 Adobe Managed CDNを使用して、AEM as a Cloud ServiceおよびEdge Delivery Services サイトで作業します。

AEM Edge Functionsとは

AEM Edge Functionsは、Adobe CDN (Fastly Computeを搭載)にデプロイされ、実行されるJavaScript モジュールです。 リクエストがcdn.yamlのCDN ルーティングルールと一致すると、AEM Edge関数はそれをインターセプトし、ヘッダーを読み取り、バックエンドを呼び出し、応答を変換し、エッジから結果を返します。

一般的なパターンには、サーバーレンダリングによるパーソナライゼーション、安全なAPI プロキシ、応答集計などがあります。

AEM Edge Functionsの使用例

AEM Edge Functionsとその他のAEM拡張機能オプションを選択する際は、次のガイドを参照してください。

シナリオ
推奨アプローチ
カスタムロジックを実行し、外部APIを呼び出し、応答をパーソナライズします
AEM Edge Functions
オリジンに完全なAEM コンテキスト(AEM as a Cloud Service Java スタック用)を含む複雑なビジネスロジック
OSGi サービスまたはSling サーブレット

ダイナミックコンテンツや、迅速、セキュリティ、スケーラビリティが必要なデータには、AEM Edge Functionsが適しています。出発地への往復は必要ありません。

AEM Edge Functionsを使用する理由

AEM Edge Functionsは、CDNで提供される動的なエクスペリエンスを構築する際の4つの一般的な課題に対処します。

メリット
説明
パフォーマンス
一般的なパターンに対して、エッジサイドの実行とオリジンのラウンドトリップがない場合、ファーストバイトまでの時間が短縮される
SEO
最初のクロール時にサーバーレンダリングされたHTML。検索エンジンやAIweb クローラーに対応
セキュリティ
API資格情報とシークレットはサーバーサイドに留まり、クライアント JavaScriptで公開されることはありません
パーソナライズ機能
ページが読み込まれる前に、地域、デバイス、オーディエンスごとにコンテンツをカスタマイズしたい

仕組み

AEM Edge機能は、CDN キャッシュとバックエンドの間に配置されます。 一致するリクエストを、データソースに到達する前に処理します。

AEM Edge Functions リクエストフロー {align="center"}

2つの独立したキャッシュレイヤーが存在します。CDN キャッシュ (ブラウザーに表示されるもの)と​フェッチキャッシュ (バックエンドの呼び出し時にAEM Edge関数に表示されるもの)です。 基礎となるデータが変更されたときに、各レイヤーを個別に無効化します。

詳しくは、「AEM Edge Functionsでのキャッシュ ​」を参照してください。

コンテンツオートメーションの導入方法

AEM as a Cloud ServiceまたはEdge Delivery Services サイトを使用しているかどうかを選択し、設定チュートリアルに従います。 /hello-worldおよび/weatherのルートを使用してJavaScript AEM Edge関数をデプロイし、CDN ルーティングを設定し、コードをAdobe CDNにプッシュし、エッジからの応答を検証します。

AEM as a Cloud Serviceでの設定

AEM as a Cloud Serviceで設定

CLIをインストールし、WKND (またはサイト)をデプロイし、CDN ルーティングを設定し、AEM as a Cloud ServiceでAEM Edge機能エンドポイントを検証します。

設定

Edge Delivery Servicesでの設定

Edge Delivery Servicesで設定

Cloud ManagerでEdge Delivery サイトをオンボーディングし、リポジトリをリンクして、AEM Edge機能エンドポイントをEdge Delivery Servicesにデプロイします。

設定

方法

AEM Edgeの一般的な関数パターンのコードに焦点を当てたガイド。

トピック
説明
API エンドポイントの構築
フェッチイベントハンドラー、CDN オリジンセレクター、オプションのアウトバウンドフェッチまたはサードパーティ API呼び出しを使用して、HTTP エンドポイントを公開します
複数のエンドポイントを提供
1つの関数で多くのエンドポイントを公開できます。APIの成長に合わせてハンドラーロジックを整理します
HTTP リクエストフィルター
オリジン選択ルールとフェッチハンドラーを使用して、CDNでのHTTP要求または応答を調整します
設定とシークレットの使用
機密性のない設定と機密性の高いシークレットをedgeFunctions.yaml経由で関数に渡し、コードで読み取ります
​ エッジにデータを保存
KV ストアで、関数呼び出しのエッジに保持されるランタイムキー値データの読み取りと書き込みを有効にします

プラットフォームの制限

AEM Edge関数ロジックを設計する際は、次の制限に注意してください。

制限
呼び出しあたりの最大発信フェッチ呼び出し数
32
AEM Edge Functionsの最大数(AEM as a Cloud Service)
環境ごとに1
AEM Edge Functionsの最大数(Edge Delivery Services)
プログラムごとに3 (Edge Delivery Services プロジェクトのメインブランチ、ステージングブランチ、開発ブランチで、それぞれ実稼動サイト、ステージングサイト、開発サイトにマッピングされている場合)
Config、secret、およびKV ストア(サンドボックスプログラム)
使用不可

制限事項​の完全なリストについては、AEM Edge Functions製品ドキュメントの制限事項を参照してください。

その他のリソース

recommendation-more-help
experience-manager-learn-help-cloud-service