トリガーの使用
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
トリガーの使いやすさと性能を向上させるために、以下のベストプラクティスに従ってください。
-
アクションレベルでタイムアウトを使いましょう。アクションが失敗したり、アクションレベルでタイムアウトが超過した場合、トリガーが再発動されます。デフォルトでは、トリガーの最大リトライ回数は3に設定されています。Sitecore Content HubのActionsConfiguration設定を変更することでこれを変更できます。
-
Azure関数を呼び出しAPI呼び出しアクションを設定するには、HttpTrigger Azure関数を使い、その関数のURLをアクションに指定してください。このURLは、Azure関数がデプロイされているAzureポータル で見つけることができます。
-
Content HubとAzure関数間の接続を検証するには、必ずHEADリクエストヘッダーを使用してください。これは関数レベルで設定できます。 Test接続をクリックすると、指定されたURLにHEADリクエストが送信されます。
public static async Task HttpResponseMessage Run(HttpTrigger(AuthorizationLevel.Function, "head", "post", Route = null)HttpRequestMessage req, TraceWriter log) { // Allow head request to test connectivity with the Markting Content Hub if (req.Method == HttpMethod.Head) return req.CreateResponse(HttpStatusCode.OK); }
-
Azureサービスバスをアクションとして選択すると、Content Hubからのメッセージ(詳細イベント)がAzureサービスバスキューに置かれ、アクションで接続詳細が提供されています。
-
サポートされているメソッドはGET、PUT、POSTです。リクエストヘッダーはすべてのリクエストごとに渡されます。PUTやPOSTを使うと、リクエスト本文にはイベントやメッセージの詳細な概要も含まれます(SaveEntityMessageまたはDeleteEntityMessage)。これはシリアル化されたJSON文字列です:
-
SaveEntityMessage例:
{ "saveEntityMessage": { "MessageId": 0, "IsNew": false, "TargetId": 6334, "TargetIdentifier": "FLikN0zW8EGZaaUQedirJA", "UserId": 6, "Version": 12, "TargetDefinition": "M.Asset", "ChangeSet": { "Culture": "(Default)", "PropertyChanges": { "Property": "ReleaseDate", "Type": "System.DateTime", "OriginalValue": "2017-12-04T08:`17
`.178", "NewValue": "2017-12-24T08:`29`.297Z" }, "RelationChanges": , "OriginalInheritsSecurity": true, "NewInheritsSecurity": true, "OriginalIsRootTaxonomyItem": false, "NewIsRootTaxonomyItem": false }, "TimeStamp": "2017-12-11T08:`30`.2817117Z", "EventType": "EntityUpdated" } } -
DeleteEntityMessage例:
{ "deleteEntityMessage": "{ \"MessageId\"
, \"TargetId\", \"TargetIdentifier\":\"2iil0h79OUKZ3WmgaVCxiA\", \"TargetLabel\":\"497632384.mp4\", \"UserId\", \"TargetDefinition\":\"M.Asset\", \"EventType\":\"EntityDeleted\"}" }
-