アクション スクリプトの例 (検証フェーズ)
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以下に、アセットが作成または変更されたときに検証フェーズ (処理中) のトリガーによって実行されるアクション スクリプトの例を示します。このスクリプトは、アセットのファイル名に有効な Web 拡張子が付いているかどうかを検証します。
ユース ケース
ユース ケース
- ユーザーがアセットを作成または変更します。
- アセットのファイル名に有効な Web 拡張子が付いていない場合は、例外がスローされます。
スクリプト
スクリプト
スクリプトの説明
スクリプトの説明
-
スクリプトで使用するライブラリをインクルードします。
ヒントインクルードするライブラリを確認するには、「コンテキスト プロパティ」セクションのプロパティ タイプを参照してください。
-
Web 拡張子のリストを定義します。アセットのファイル名の拡張子がこのリストに含まれていない場合、そのファイル名は有効ではありません。
-
ContextからTargetオブジェクトを取得し、IEntityにキャストします。Targetは、作成または変更イベントに関与するアセットです。警告Targetオブジェクトのタイプは、トリガーの目的 (エンティティ、エンティティ定義、ポリシーなど) によって異なります。この例では、トリガーの目的はエンティティの作成とエンティティの変更です。したがって、TargetをIEntityにキャストする必要があります。ヒントコンテキスト プロパティの
TargetTypeは、Targetのタイプを示します。TargetTypeの有効な値はEntity、EntityDefinition、Policy、DataSourceです。コンテキスト プロパティの詳細については、「コンテキスト プロパティ」セクションを参照してください。 -
GetPropertyValueAsyncを使用して、TargetオブジェクトからFilenameプロパティを取得します。注意スクリプト API は遅延読み込みを使用します。
GetPropertyValueAsyncは、特定のプロパティが既に読み込まれているかどうかをチェックします。読み込まれていない場合は、自動的に読み込まれます。 -
アセットにファイル名がない場合、スクリプトは終了します。
-
Path.GetExtension(System.IO) を使用して、ファイル名から拡張子を取得します。 -
ファイル名に拡張子がない場合、スクリプトは終了します。
-
拡張子が有効な Web 拡張子でない場合は、検証例外をスローします。
注意ValidationExceptionとValidationFailureの詳細、および使用可能なカスタム例外の一覧については、「SDK API リファレンス ガイド」(Stylelabs.M.Sdk.Exceptions)を参照してください。 -
これは、ファイル名の拡張子の取得に使用される内部メソッドです。