モックランとは
モック実行は、実際に BLOB に対する操作を実行することなく、ストレージ タスクの割り当ての実行をシミュレートします。 モック実行を作成すると、Azure Storageアクションは実際の実行中と同様に、タスク条件に対して BLOB をスキャンして評価しますが、操作は実行されません。 代わりに、条件に一致した BLOB と、どのような操作が 実行されるはずだったか を示す詳細なレポートが生成されます。
モック実行は、次の場合に便利です。
- 大規模なタスクを実行する前に、特に操作が元に戻せない場合 (削除ポリシーや不変ポリシーなど) の場合に、タスクの影響をプレビューする
- 小規模なプレビュー サンプルだけでなく、アカウント内の BLOB の完全なセットの条件を検証します。
- 変更を加えずに、影響を受ける BLOB を示す監査対応レポートを生成します。
- 対象となる BLOB の数と呼び出される操作の数を理解して、コストを見積もります。
Note
モック実行は、実際の実行と同様に、スコープ内のすべての BLOB をスキャンして評価します。 唯一の違いは、BLOB に対して操作が実行されない点です。 操作は実行されないため、通常、モック実行は実際の実行よりも高速です。
モック実行の仕組み
トリガーの種類が MockRun に設定されたストレージ タスクの割り当てとしてモック実行を作成します。 他の割り当ての種類と同様に、モック実行は特定のストレージ アカウントを対象とし、オプションのプレフィックス フィルターを使用して BLOB のスコープを設定し、指定されたエクスポート コンテナーに実行レポートを生成します。
モック実行を実行する場合:
- Azure Storage アクションは、割り当てのスコープフィルターとプレフィックス フィルターに一致するすべての BLOB を列挙します。
- 各 BLOB は、ストレージ タスクの条件に照らして評価されます。
- 一致する BLOB の場合、 実行される操作 は記録されますが、 操作は実行されません。
- 一致した BLOB とそのシミュレートされた操作を一覧表示する詳細なレポートが生成されます。
模擬実行と条件のプレビュー
モック実行と条件プレビュー機能はどちらも、実行前にタスクの条件を検証するのに役立ちますが、さまざまな目的に対応します。
| 能力 | 条件のプレビュー | 模擬実行 |
|---|---|---|
| スコープ | 制限付きサンプル (最大 5,000 BLOB) | フル スケール - 割り当てスコープ内のすべての BLOB |
| 表示される操作 | いいえ | はい - 実行される操作を示します |
| 生成されたレポート | いいえ | はい - ダウンロード可能な CSV レポート |
| 実行モデル | 同期的で即時の結果 | 非同期、実際の割り当てのような実行 |
| 請求書 | 無料 | スキャンされたタスク実行インスタンスとオブジェクトに対して課金されます (操作の料金は発生しません) |
| 使用例 | 条件の作成中に簡易チェック | 本番実行前の完全検証 |
タスク条件の作成中に条件プレビューを使用し、実際の実行を有効にする前に、最終的な検証にモック実行を使用します。
モック実行のライフサイクルと状態
モック実行は、1 回だけ実行する割り当てと同じライフサイクルに従います。
Important
完了したモック実行を再起動することはできません。 同じ構成で別のモック シミュレーションを実行するには、新しい割り当てを作成するか、既存の割り当てを複製する必要があります。
並行処理の動作
一度に 1 つのストレージ アカウントで実行できるのは、モックまたは実実行の 1 つだけです。 このコンカレンシー モデルは、実際のタスク実行のモデルと一致します。
- 実際の 実行が進行中の場合、システムは、実際の実行が完了するまで新しいモック実行を キュー に入れます。
- モック実行が進行中の場合、システムは新しい実際のタスク実行をキューに登録するか、スケジュールされた実行のためにスキップします。
- 別のモック実行が進行中の場合、システムは新しいモック実行をキューに追加します。
このモデルにより、安定性が確保され、ターゲット ストレージ アカウントでのリソースの競合が防止されます。
模擬実行レポート
モック実行が完了すると、割り当ての作成時に指定したレポート エクスポート コンテナーに詳細なレポートが書き込まれます。 レポートには CSV 形式でアクセスできます。
また、Azure ポータルの割り当てのモック実行結果ページで、実行の概要を直接表示することもできます。 概要には、一覧表示されているオブジェクトの数、条件を満たすオブジェクト、プロセスが実行した操作が含まれます。
レポート列:
| Column | Description |
|---|---|
| コンテナー | BLOB が存在するコンテナー。 |
| Blob | BLOB の名前。 |
| 実行する操作 | シミュレートされた操作。 (mock) ( (mock) DeleteBlob や (mock) SetBlobImmutabilityなど) が付きます。 |
| 一致条件ブロック | 一致した BLOB をブロックする条件 ( IF や ELSEなど)。 |
CSV 出力の例:
| コンテナ | ブロブ | 実行する操作 | 一致した条件ブロック |
|---|---|---|---|
| testContainer1 | output1.log | (モック) DeleteBlob | 条件 |
| testContainer2 | output2.log | (モック) DeleteBlob | 条件 |
| testContainer1 | financials1.csv | (モック)SetBlobImmutability | その他 |
| testContainer2 | financials2.csv | (モック)SetBlobImmutability | その他 |
このプロセスでは、レポートと共に 概要 JSON ファイルも生成されます。 このファイルには、集計メトリックが含まれています。
{
"completionTime": "2024-10-21T17:46:59",
"destination": "taskoutput",
"endpoint": "https://contoso1storage1.blob.core.windows.net",
"fileFormat": "csv",
"fileSchema": [
"Container",
"Blob",
"Operation to be performed",
"Result",
"Matched condition block"
],
"files": [
"<link to the reporting file>"
],
"objectsListed": 1100,
"objectsToBeOperated": 240,
"operationType": "BlobOperation",
"runId": "mockrun-assignment-2024-10-21T17:30:13.9121342Z",
"startTime": "2024-10-21T17:37:12",
"status": "succeeded"
}
概要のキー フィールド:
- objectsListed: モック実行中にスキャンされた BLOB の合計数。
- objectsToBeOperated: 条件に一致し、操作が実行された BLOB の数。
-
status: モック実行の結果 (
succeededまたはfailed)。
モック実行から実際の実行への移行
モック実行レポートを確認し、結果が期待どおりであることを確認したら、割り当てをモック実行から実際の実行に切り替えることができます。
- Azure ポータルで割り当てに移動します。
- 割り当てを編集し、トリガーの種類を モック実行 から [1 回実行 ] または [繰り返し] に変更します。
- 更新した割り当てを保存します。
このプロセスを使用すると、最初から割り当てを再作成することなく、検証から実行に進むことができます。
価格
モック実行は、実際のタスク割り当て実行と同様に課金されます。1 つの主な違いがあります。BLOB に対して実際に実行される操作がないため、 操作メーターに料金は適用されません。
| 課金メーター | モック実行に適用されますか? |
|---|---|
| タスクの実行インスタンス(実行ごと) | ✅ はい |
| 対象のオブジェクト (スキャンされた 100 万オブジェクトあたり) | ✅ はい |
| 実行された操作 (100 万操作あたり) | ❌ いいえ (常に $0) |
スキャン中に BLOB プロパティを一覧表示および読み取るための標準Blob Storage API のコストは引き続き適用されます。
Tip
モック実行では操作メーターの料金が除外されるため、実際の実行よりも大幅に安くなります。 モック実行は、完全な実行にコミットする前にタスク構成を検証するためのコスト効率の高い方法として使用します。
権限
モック実行を実行するには、ストレージ タスクに関連付けられているマネージド ID に、ターゲット ストレージ アカウントに対する適切なロールが必要です。 推奨されるロールは、 ストレージ アクション BLOB データ オペレーター を使用することです (同じ割り当てを使用して実際の実行に移行する予定の場合)。 システム割り当てマネージド ID とユーザー割り当てマネージド ID の両方で、モック実行がサポートされます。
ターゲット ストレージ アカウントにネットワーク制限がある場合は、アカウントのネットワーク構成で Allow trusted Microsoft サービス オプションが有効になっていることを確認します。