サンプルプロジェクトとユースケース > ユースケース: Scaling Digital Twin Experiences > Digital Twin 202: Identity Resolution Service (IRS) を使用したコンフィギュレーション > IRS を使用したエクスペリエンスのマッピング
  
IRS を使用したエクスペリエンスのマッピング
IRS では、エクスペリエンスにマッピングされるモデルテンプレートの複数のコンフィギュレーションに対してスケーラブルになるように、コンフィギュレーションを作成できます。これらのマッピングは、コマンドラインインタフェース (CLI) を Experience Service と接続するために cURL を使用して作成されます。このセクションでは、エクスペリエンスをマッピングするプロセスについて説明します。
1. エクスペリエンスがパブリッシュされ、それに関連付けられた ThingMark があることを確認してください。
2. GitHub から次の .bat ファイルをダウンロードし、curl.exe ファイルを保存したフォルダに追加します。
mappings.bat
resolve.bat
3. 選択した CLI を開きます。このユースケースでは、コマンドプロンプトを使用しました。curl.exe ファイルを保存したディレクトリに移動します。たとえば、C:\installations などです。
4. CLI で、mappings と入力します。これにより、ユーザー名、パスワード、および Experience Service のログイン資格証明を設定する mappings.bat ファイルが実行されます。
* 
セキュリティを確保するために、以下のイメージではパスワードが非表示になっています。
次に、cURL を使用して Experience Service にアクセスし、Experience Service に関連付けられているすべてのエクスペリエンスを検索します。リストには、パブリッシュされたすべてのエクスペリエンスが表示されます。
5. 次に、Vuforia Studio からのパブリッシュ時に作成されたプロパティを編集できるように、実行中のマッピングの結果を独自の .bat ファイルに保存します。新規の .bat ファイルを作成するには、次のコマンドを使用します。
mappings > mymap.bat
この新しいファイルは現在のディレクトリに保存され、設定可能なエクスペリエンスのテンプレートの作成に使用されます。
6. 作成した mymap.bat ファイルを開きます。エクスペリエンスをマッピングした結果が表示されます。
作成したプロジェクトを検索します。ほとんどの場合、これはファイルの最後にあります。マッピングの value プロパティを調べて次のようになっているものを見つけることにより、パブリッシュしたエクスペリエンスのマッピングを見つけることができます。
"projects/scalingdigitaltwinexperiences202/index.html?expId=1&vumark=%7B%7Bvuforia:vumark%7D%7D"
7. マッピングの各プロパティを以下のテーブルに示します。
プロパティ
説明
id
マッピングの ID 番号。
key
エクスペリエンスに関連付けられている ThingMark。
value
エクスペリエンスの URL。URL のフォーマットは、path/page.html?parameters です。path/page.html の部分はエクスペリエンス名です。パラメータはその値でマッピングされます。この場合、expId1 の値を持つ独自のパラメータであり、vumark%7B%7Bvuforia:vumark%7D%7D の値を持つ独自のパラメータです。これらのパラメータは、ほかのコンフィギュレーションが作成されると更新されます。
resourcetype
エクスペリエンスが関連付けられているリソースのタイプ。
title
Vuforia Studio「情報」セクションに入力したエクスペリエンスのタイトル。
createstamp
作成するマッピングのタイムスタンプ。
requires
トラッキング要件を設定します。
description
プロジェクトの説明 (作成した場合)。
projectversion
プロジェクトのバージョン。
8. .bat ファイルに対して最初に行う編集は、パラメータを除去することです。次のプロパティをファイルから完全に除去します。
id
createstamp
status
projectversion
9. 次に、key プロパティの値全体を除去し、value プロパティの projects/myproject/index.html?expId=1 の後にあるすべてを除去します。
* 
最終的には、このコードを 1 行のテキストとして保持する必要がありますが、以下の .bat ファイル内の JSON のフォーマットは読みやすくするために編集されています。
10. 次に、新しいパラメータを value プロパティに追加する必要があります。これらのパラメータは、前のセクションでクワッドコプターモデルの色とモデルに対して作成したものと同じになり、エクスペリエンスの設定に使用されます。このユースケースでは、新しいテンプレー トに curriculum という名前を付けますが、別の名前を付けることもできます。value プロパティを変更して、次のコードを含めます。
"value":"projects/scalingdigitaltwinexperiences202/index.html?expId=1&color=%7B%7Bcurriculum:color%7D%7D&model=%7B%7Bcurriculum:model%7D%7D",
追加したテキストを見ると、次のパターンを確認できます。
&color=%7B%7Bcurriculum:color%7D%7D
このパターンは、&name=value というフォーマットの URL にエンコードされたクエリーパラメータです。上記の例では、namecolorvalue{{curriculum.color}} です。二重括弧は、内側の値が評価されることを示します。この場合、(urn.)curriculum.color の値を求めています。これは IRS に追加されます。
11. マッピングするエクスペリエンスに、キーを作成する必要があります。curriculum テンプレートにマッピングする以下のキーを追加します。
"key":"urn:curriculum:template:202"
この手順により、テンプレートが完成します。
12. 次に、この .bat ファイルを、IRS に対して実行できるコマンドに変換する必要があります。
コマンドインタプリタによって誤って解釈される可能性のある文字がいくつかあるため、情報が正しく解釈されるように、これらの文字を置換する必要があります。メモ帳などのエディタを開き、次の文字をサーチして置換します。
置換前...
置換後...
"
\"
%
%%
&
^&
13. 以下をファイルに追加します。
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "EXPRIENCEGOESHERE" %server%/ExperienceService/id-resolution/mappings
次に、EXPERIENCEGIESHERE を、上記で編集したテキストのブロックで置き換えます。
14. コマンドプロンプトで、この .bat ファイルを実行できるようになりました。
C:\installations> mybat.bat
15. 次のテキストをコピーして貼り付けることもできます。
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "{ \"key\":\" urn:curriculum:template:202\", \"value\":\"projects/scalingdigitaltwinexperiences202/index.html?expId=1^&color=^%7B^%7Bcurriculum:color^%7D^%7D^&model=^%7B^%7Bcurriculum:model^%7D^%7D\", \"resourcetype\":\"Experience\",\"title\" : { \"en\":\"ScalingDigitalTwinExperiences202\" }, \"requires\" : [ \"AR-tracking\",\"w320dp\" ], \"description\":{ \"en\":\"Curriculum demo\" } }" %server%/ExperienceService/id-resolution/mappings
16. mappings コマンドを実行して、新しいマッピングが Experience Service テンプレートに追加されていることを確認します。マッピングリストの最後に新しいマッピングが表示されます。
17. テンプレートがエクスペリエンスにマッピングされた後、コンフィギュレーションを特定のプロパティにマッピングする必要があります。これらのプロパティは、クワッドコプターのモデルと色に対して作成したテンプレートのパラメータを設定するために使用されます。最初のコンフィギュレーションには config 1 という名前が付きます。
a. 以下のコードを使用して、最初のコンフィギュレーションパラメータ (color パラメータ) を設定します。color パラメータは、Vuforia Studio で以前に作成したアプリケーションパラメータと対話するので、最初の手順で作成したすべての色をパラメータ入力として使用できます。この例では、モデルの色を紫色に設定しています。
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "{\"key\": \"urn:curriculum:config:1\", \"value\": \"urn:curriculum:color:purple\"}" %server%/ExperienceService/id-resolution/mappings
b. 次に、color パラメータをマッピングしたときと同じ方法で model パラメータをマッピングします。ここでは、2 つ目のクワッドコプターモデルオプションにマッピングするモデルパラメータとして 2 を使用します。2 つのマッピングを使用すると、urn:curriculum:config:1 キーが次の両方の値にマッピングされるようになります。
urn:curriculum:color:purple
urn:curriculum:model:2
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "{\"key\": \"urn:curriculum:config:1\", \"value\": \"urn:curriculum:model:2\"}" %server%/ExperienceService/id-resolution/mappings
c. mappings を再度実行すると、コンフィギュレーションマッピングが IRS に追加されたことがわかります。
18. コンフィギュレーションとそのパラメータが作成された後、コンフィギュレーションをテンプレートに戻してマッピングする必要があります。以前は、urn:curriculum:template:202 をそのテンプレートとしてエクスペリエンスにマッピングしました。今回は、urn:curriculum:config:1urn:curriculum:template:202 に戻してマッピングします。
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "{\"key\": \"urn:curriculum:config:1\", \"value\": \"urn:curriculum:template:202\"}" %server%/ExperienceService/id-resolution/mappings
19. コンフィギュレーションをマッピングする最後の手順は、ユーザーが作成したコンフィギュレーションに、ユーザーの ThingMark をマッピングすることです。この特定の ThingMark をスキャンするたびに、モデルの一意のコンフィギュレーションが表示されます。
* 
該当する場合は、特定の ThingMark インスタンスを入力する必要があります。
curl -u %uname%:%passwd% -H "Content-Type: application/json" -H "X-Requested-With: XMLHttpRequest" -k -d "{\"key\": \"urn:vuforia:vumark:YOURTHINGMARK\", \"value\": \"urn:curriculum:config:1\"}" %server%/ExperienceService/id-resolution/mappings
20. mappings をもう一度実行します。このセクション全体で作成したすべてのマッピングがリストされます。
21. 参照用として、このセクションで作成したマッピングを以下のイメージに示します。
マッピングのテスト
1. CLI で次のコマンドを実行します。
resolve urn:vuforia:vumark:<Your_ThingMark>
これによって、その ThingMark に割り当てられているすべての解決がテキスト形式になります。color=^%7B^%7Bcurriculum:color^%7D^%7D^&model=^%7B^%7Bcurriculum:model^%7D^%7D の代わりに color=purple&model=2 が表示された場合、このマッピングは正常に追加されています。モデルパラメータは、当初 URL に含まれていたプレースホルダー変数を置き換える必要があります。
2. 次に、Vuforia View を開き、urn:curriculum:config:1 に割り当てた ThingMark をスキャンします。作成したクワッドコプターのコンフィギュレーションが表示された場合は、IRS を使用して最初のコンフィギュレーションが正常に追加されています。
3. 1 つのコンフィギュレーションが正常に作成されたので、作成したカリキュラムテンプレートを使用して、config:2config:3 という名前の 2 つのコンフィギュレーションをさらに作成します。コンフィギュレーションは、同じ ThingMark または別の ThingMark のいずれかに追加できます。次のマッピングを自分で作成してみてください。
4. Vuforia View を使用して、新しく作成したコンフィギュレーションを表示します。
ScalingDigitalTwinExperiences202.bat という名前の未完成の .bat ファイルが GitHub にあります。この .bat を実行することで、3 つの異なるコンフィギュレーションについて手順 11-17 のすべてのマッピングを実行できます。mappings.bat および resolve.bat ファイルは、GitHub にもあります。ファイルを実行する前に、ユーザー名、パスワード、サーバー、および ThingMark 番号を追加し、該当する場合はプロジェクト名を編集する必要があります。別のファイルを保存したディレクトリ内で CLI に ScalingDigitalTwinExperiences202 と入力して、ファイルを実行します。
最終結果は 3 つのコンフィギュレーションです。ThingMark (1) は、コンフィギュレーションにマッピングされ、(2) は、パス上のさまざまなプロパティ/値をテンプレート (3) に集めます。これにより、変数 (色、モデル) が収集された値に置き換えられます。結果は、変数入力が解決されたエクスペリエンスです。この例では、ThingMark は、赤のモデル 1 のアイテムであるフィギュレーション 2 にマッピングされます。最後のエクスペリエンスは、赤のクワッドコプターを示しています。
Digital Twin 301に進んで、ThingWorx および IRS でのコンフィギュレーションの操作を開始しましょう。