21.4 Google Cloud関数の作成と設定

21.4.1 Google Cloud関数の作成

https://console.cloud.google.com/に移動します。 クラウド機能​に移動します。

GCP

そうすれば、これが見える。 「プロジェクトを作成」をクリックします。

GCP

プロジェクト名」として、「Launch Server Side - GCP」を使用します。
場所​として、プロジェクトの保存場所を選択します。

作成」をクリックします。

GCP

プロジェクトが作成されます。

GCP

次に、クラウド関数を作成できます。 CREATE FUNCTION​をクリックします。

GCP

そうすれば、これが見える。

GCP

次の選択を行います。

  • 関数名:ldap-launch-ssf (ldapをldapに置き換える)
  • 地域:任意の地域を選択します。
  • トリガータイプ:HTTPを選
  • 認証:「未認証 の呼び出しを許可」を選択します。

これで、これを使用できます。 「保存」をクリックします。

GCP

次へ」をクリックします。

GCP

次の内容が表示されます。

GCP

次の選択を行います。

  • ランタイム:「 Node.js 12 」を選択します。
  • 入口:helloAEPと入 力します。

GCP

ENABLE API​をクリックして、クラウドビルドAPI​を有効にします。 新しいウィンドウが表示されます。 新しいウィンドウで、「ENABLE」を再度クリックします。

GCP

Cloud Build API​が有効になると、次の情報が表示されます。

GCP

クラウド関数​に戻ります。

GCP

Cloud Function Inline Editorで、次のコードが存在することを確認します。

/**
 * Responds to any HTTP request.
 *
 * @param {!express:Request} req HTTP request context.
 * @param {!express:Response} res HTTP response context.
 */
exports.helloAEP = (req, res) => {
  let message = req.query.message || req.body.message || 'Hello World!';
  res.status(200).send(message);
};

次に、「DEPLOY」をクリックします。

そうすれば、これが見える。 これで、クラウド機能が作成されました。 これには数分かかる場合があります。

GCP

関数を作成して実行すると、次のように表示されます。 関数の名前をクリックして開きます。

GCP

そうすれば、これが見える。 トリガー​に移動します。 次に、トリガーURL​が表示されます。これは、Launch Server Sideでエンドポイントを定義する際に使用するURLです。

GCP

次のようなトリガーURLをコピーします。https://us-central1-launch-server-side-gcp.cloudfunctions.net/vangeluw-launch-ssf.

次の手順では、Adobe Experience Platformデータ収集サーバーを設定して、ページビュー数​に関する特定の情報をGoogle Cloud関数にストリーミングします。 完全なペイロードをそのまま転送するのではなく、ECIDtimestampPage Name​などのものをGoogle Cloud関数に送信するだけです。

上記の変数を除外するために解析する必要があるペイロードの例を次に示します。

{
  "events": [
    {
      "xdm": {
		  "eventType": "web.webpagedetails.pageViews",
		  "web": {
		    "webPageDetails": {
		      "URL": "https://public.aepdemo.net/index.html",
		      "name": "Luma Home"
		    },
		    "webReferrer": {
		      "URL": "https://public.aepdemo.net/admin.html"
		    }
		  },
		  "device": {
		    "screenHeight": 1080,
		    "screenWidth": 1920,
		    "screenOrientation": "landscape"
		  },
		  "environment": {
		    "type": "browser",
		    "browserDetails": {
		      "viewportWidth": 1920,
		      "viewportHeight": 507,
		      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36",
		      "acceptLanguage": "en"
		    }
		  },
		  "placeContext": {
		    "localTime": "2021-01-29T15:45:26.815+01:00",
		    "localTimezoneOffset": -60
		  },
		  "timestamp": "2021-01-29T14:45:26.815Z",
		  "implementationDetails": {
		    "name": "https://ns.adobe.com/experience/alloy/reactor",
		    "version": "2.3.0+2.2.0",
		    "environment": "browser"
		  },
		  "_experienceplatform": {
		    "identification": {
		      "core": {
		        "ecid": "83249052138816938582105724584714316131"
		      }
		    },
		    "demoEnvironment": {
		      "tms": "Launch",
		      "ldap": "vangeluw",
		      "brandLogo": "https://parsefiles.back4app.com/hgJBdVOS2eff03JCn6qXXOxT5jJFzialLAHJixD9/d632e769791f0a4dbe0b84058d282d45_logo.png",
		      "brandName": "Luma",
		      "brandIndustry": "retail"
		    }
		  }
		}

次に、解析する必要がある情報が含まれるフィールドを示します。

  • ECID:events.xdm。_experienceplatform.identification.core.ecid
  • timestamp:timestamp
  • ページ名:events.xdm.web.webPageDetails.name

次に、Adobe Experience Platformデータ収集サーバーに移動して、それを可能にするようにデータ要素を設定します。

21.4.2 Adobe Experience Platformデータ収集サーバーのプロパティの更新:データ要素

https://experience.adobe.com/#/data-collection/に移動します。

Adobe Experience Platformデータ収集SSF

左上隅の「クライアント側」をクリックし、ドロップダウンメニューで「サーバー側」をクリックします。 次に、使用可能なすべてのAdobe Experience Platform Data Collection Serverプロパティの概要が表示されます。 演習21.1で作成したプロパティをクリックして開きます。

Adobe Experience Platformデータ収集SSF

左側のメニューで、データ要素​に移動します。 「データ要素を追加」をクリックします。

Adobe Experience Platformデータ収集SSF

次に、設定する新しいデータ要素が表示されます。

Adobe Experience Platformデータ収集SSF

次の項目を選択します。

  • 名前」に、「customerECID」と入力します。
  • 拡張機能」として、「コア」を選択します。
  • データ要素のタイプ」として、「パス」を選択します。
  • パス」に「arc.event.xdm.--aepTenantId--.identification.core.ecid」と入力します。 このパスを入力すると、WebサイトまたはモバイルアプリからAdobe Edgeに送信されるイベントペイロードからフィールド​ecid​を除外します。
メモ

上と下のパスでは、arc​を参照します。 ​arcはAdobeリソースコンテキストを表 ​し、arcalwaysはServer Sideコンテキストで使用可能な最も高いオブジェクトを表します。Adobe Experience Platform Data Collection Serverの関数を使用して、この​arc​オブジェクトにエンリッチメントと変換を追加できます。

上と下のパスで、イベント​を参照します。 ​イベントは一意のイベントを表し、Adobe Experience Platform Data Collection Serverは常にすべてのイベントを個別に評価します。Web SDK Client Sideから送信されるペイロードに​events​への参照が表示される場合がありますが、Adobe Experience Platform Data Collection Serverでは、すべてのイベントが個別に評価されます。

これでいい。 「保存」をクリックします。

Adobe Experience Platformデータ収集SSF

データ要素を追加」をクリックします。

Adobe Experience Platformデータ収集SSF

次に、設定する新しいデータ要素が表示されます。

Adobe Experience Platformデータ収集SSF

次の項目を選択します。

  • 名前」に、「eventTimestamp」と入力します。
  • 拡張機能」として、「コア」を選択します。
  • データ要素のタイプ」として、「パス」を選択します。
  • パス​として、arc.event.xdm.timestamp​と入力します。 このパスを入力すると、WebサイトまたはモバイルアプリからAdobe Edgeに送信されるイベントペイロードからフィールド​timestamp​を除外します。

これでいい。 「保存」をクリックします。

Adobe Experience Platformデータ収集SSF

データ要素を追加」をクリックします。

Adobe Experience Platformデータ収集SSF

次に、設定する新しいデータ要素が表示されます。

Adobe Experience Platformデータ収集SSF

次の項目を選択します。

  • 名前」に「pageName」と入力します。
  • 拡張機能」として、「コア」を選択します。
  • データ要素のタイプ」として、「パス」を選択します。
  • パス」に、arc.event.xdm.web.webPageDetails.name​と入力します。 このパスを入力すると、WebサイトまたはモバイルアプリからAdobe Edgeに送信されるイベントペイロードからフィールド​name​を除外します。

これでいい。 「保存」をクリックします。

Adobe Experience Platformデータ収集SSF

これで、次のデータ要素が作成されました。

Adobe Experience Platformデータ収集SSF

21.4.3 Adobe Experience Platformデータ収集サーバーのプロパティの更新:ルールの更新

左側のメニューで、ルール​に移動します。 前の演習では、ルール​All Pages​を作成しました。 そのルールをクリックして開きます。

Adobe Experience Platformデータ収集SSF

じゃあこれ。 アクション​の下の​+​アイコンをクリックして、新しいアクションを追加します。

Adobe Experience Platformデータ収集SSF

そうすれば、これが見える。

Adobe Experience Platformデータ収集SSF

次の項目を選択します。

  • 拡張​を選択します。Adobeクラウドコネクタ
  • アクションタイプ​を選択します。フェッチ呼び出し​を行います。

これにより、次の​名前​が得られます。Adobeクラウドコネクタ — 取得呼び出し​をおこないます。 次が表示されます。

Adobe Experience Platformデータ収集SSF

次に、以下を設定します。

  • 要求プロトコルをGETから​POST​に変更します
  • 前述の手順の1つで作成したGoogle Cloud機能のURLを入力します。次に例を示します。https://us-central1-launch-server-side-gcp.cloudfunctions.net/vangeluw-launch-ssf

これで、これを使用できます。 次に、Body​に移動します。

Adobe Experience Platformデータ収集SSF

そうすれば、これが見える。 JSON​のラジオボタンをクリックします。

Adobe Experience Platformデータ収集SSF

Body​を次のように設定します。

キー
customerECID {{customerECID}}
pageName {{pageName}}
eventTimestamp {{eventTimestamp}}

そうすれば、これが見える。 「変更を保存」をクリックします。

Adobe Experience Platformデータ収集SSF

そうすれば、これが見える。 「保存」をクリックします。

Adobe Experience Platformデータ収集SSF

これで、Adobe Experience Platformデータ収集サーバーのプロパティの既存のルールを更新しました。 公開フロー​に移動して、変更を公開します。 示されているように​​を編集」をクリックして、開発ライブラリ​v1​を開きます。

Adobe Experience Platformデータ収集SSF

Add All Changed Resources」ボタンをクリックすると、ルールとデータ要素がこのライブラリに表示されます。 次に、「開発用に保存してビルド」をクリックします。 変更がデプロイされました。

Adobe Experience Platformデータ収集SSF

数分後に、デプロイメントが完了し、テストの準備が整ったことがわかります。

Adobe Experience Platformデータ収集SSF

21.3.4設定のテスト

新しい匿名ブラウザーウィンドウを開き、https://public.aepdemo.netに移動します。

そうすれば、これが見える。

Adobe Experience Platformのデータ収集の設定

設定IDを入力し、「設定を読み込む」をクリックします。 設定が読み込まれます。

Adobe Experience Platformのデータ収集の設定

下にスクロールし、「設定を保存」をクリックします。

Adobe Experience Platformのデータ収集の設定

その後、管理ホームページにリダイレクトされます。 「LDAP」を選択します。 LDAPを選択し、「保存」をクリックします。

Adobe Experience Platformのデータ収集の設定

その後、管理ホームページにリダイレクトされます。 「ブランドを選択」に移動し、ブランド「Luma」を選択して、「保存」をクリックします。

Adobe Experience Platformのデータ収集の設定

その後、管理ホームページにリダイレクトされます。 Luma​ロゴをクリックします。

Adobe Experience Platformのデータ収集の設定

Lumaのホームページが表示されます。

Adobe Experience Platformのデータ収集の設定

ブラウザーの開発者ビューを開くと、次に示すようにネットワーク要求を調査できます。 フィルター​interact​を使用すると、Adobe Experience Platform Data Collection ClientからAdobe Edgeに送信されたネットワークリクエストが表示されます。

Adobe Experience Platformのデータ収集の設定

ビューをGoogle Cloud関数に切り替え、LOGS​に移動します。 これで、このビューと似たビューが作成され、多数のログエントリが表示されます。 関数の実行が開始された​と表示されるたびに、受信トラフィックがGoogle Cloud関数で受信されたことを意味します。

Adobe Experience Platformのデータ収集の設定

受信データを処理するように関数を少し更新し、Adobe Experience Platform Data Collection Serverから受け取った情報を表示します。 SOURCE​に移動し、EDIT​をクリックします。

Adobe Experience Platformのデータ収集の設定

次の画面で、「NEXT」をクリックします。

Adobe Experience Platformのデータ収集の設定

次のようにコードを更新します。

/**
 * Responds to any HTTP request.
 *
 * @param {!express:Request} req HTTP request context.
 * @param {!express:Response} res HTTP response context.
 */
exports.helloAEP = (req, res) => {
  console.log('>>>>> Function has started. The following information was received from Launch Server Side:');
  console.log(req.body);

  let message = req.query.message || req.body.message || 'Hello World!';
  res.status(200).send(message);
};

そうすれば、これが手に入る。 DEPLOY​をクリックします。

Adobe Experience Platformのデータ収集の設定

数分後、関数が再びデプロイされます。 関数名をクリックして開きます。

Adobe Experience Platformのデータ収集の設定

デモWebサイトで、例えば​Nadia Elements Shell​などの製品に移動します。

Adobe Experience Platformのデータ収集の設定

ビューをGoogle Cloud関数に切り替え、LOGS​に移動します。 これで、このビューと似たビューが作成され、多数のログエントリが表示されます。

デモWebサイトの各ページビューで、Google Cloud Functionのログに新しいログエントリがポップアップ表示され、受信した情報が表示されます。

Adobe Experience Platformのデータ収集の設定

これで、Adobe Experience Platformデータ収集によって収集されたデータが、リアルタイムでGoogle Cloud Functionエンドポイントに正常に送信されました。 その後、そのデータは、BigQuery(ストレージとレポート用)、機械学習の使用例など、任意のGoogle Cloud Platformアプリケーションで使用できます。

次の手順:21.5 Microsoft Azure関数の作成と設定

モジュール21に戻る

すべてのモジュールに戻る

このページ