ストレージ タスクに関する既知の問題と制限事項
この記事では、ストレージ タスクの制限事項と既知の問題について説明します。 この記事で説明されている問題は、サービスの現在の状態を反映したものです。 サポートは拡張が続けられており、それに合わせてこの一覧も徐々に変更されます。
重要
Azure Storage Actions は現在プレビュー段階であり、こちらのリージョンで使用できます。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。
ストレージ アカウントのリージョン
パブリック プレビュー中は、ストレージ タスクと同じリージョンにあるストレージ アカウントのみを対象にすることができます。
スケールの上限
スケール ファクター | サポートされる制限 |
---|---|
サブスクリプションごとのストレージ タスク数 | 100 |
ストレージ タスクごとのストレージ タスク割り当て数 | 50 |
ストレージ アカウントごとのストレージ タスク割り当て数 | 50 |
ストレージ タスクの、条件ごとの句の入れ子になったグループ化 | 10 |
Azure Storage Actions は、内部的な制限に従い、ストレージ アカウントのデータ量に基づいて、処理タスクを自動スケーリングします。 実行にかかる時間は、ストレージ アカウント内の BLOB の数と、Azure Data Lake Storage Gen2 の階層に依存します。 パス プレフィックスに対するタスクの最初の実行には、後続の実行よりも長い時間がかかる場合があります。 また、Azure Storage Actions は、自動的に規制を行い、ストレージ アカウントでのアプリケーション ワークロードを優先できるようにも設計されています。 その結果、スケールと実行時間は、ストレージ アカウントの最大要求制限の下で使用可能なトランザクション容量にも依存します。 次に示すのは一般的な処理スケールであり、使用できるトランザクション容量が多ければさらに高くなる場合があり、ストレージ アカウントの予備トランザクション容量が少なければさらに低くなる場合があります。
プレビュー期間中の Azure Storage Actions では、フラットな名前空間ストレージ アカウントで、最大 7 日間にわたり、1 日あたり最大 2 億回の操作を呼び出すことができます。 操作の条件を満たすための BLOB の割合に応じて、1 日に 2 億から 40 億個の BLOB がタスク割り当てによって処理される場合があります。
階層型名前空間を使うストレージ アカウントの場合、プレビュー期間中の Azure Storage Actions では、最大 7 日間について、1 日あたり最大 3,500 万回の操作を呼び出すことができます。 操作の条件を満たすための BLOB の割合に応じて、1 日に 3,500 万から 4 億個の BLOB がタスク割り当てによって処理される場合があります。
ストレージ タスクの移動に関する制限事項
ストレージ タスクを別のリージョンまたは別のサブスクリプションに移動することはできません。 ストレージ タスクを含むサブスクリプションを別のテナントに移動することはできません。
割り当てでのプレフィックスの重複
ストレージ タスクでは、重複するプレフィックスに対するタスク割り当ての実行は禁止されていません。 プレフィックスが重複する複数のタスク割り当てがある場合、BLOB は、これらのタスク割り当てによって任意の順序で処理される可能性があります。 これらのタスク割り当ての間で操作の実行順序が重要な場合は、タスクを構成するときに、割り当てのプレフィックスが重複していないことを確認します。
実行のコンカレンシー制限
ストレージ タスクには、各ストレージ アカウントで同時に実行できるタスク割り当ての数についての制限があります。 パフォーマンスを最高にするには、1 つのストレージ アカウントでのタスク割り当ての実行を、対象となるオブジェクトに基づいて適切な時間間隔になるようにスケジュールし、タスクの実行が時間内に完了するようにします。 タスク割り当ての実行数が、ストレージ アカウントのコンカレンシー制限を超えると、他の割り当てが完了するまで一時停止されます。
ストレージ アカウントで使用可能なトランザクション容量に基づいてスケーリングする
ストレージのタスク割り当ての実行は、ストレージ アカウントで使用できるトランザクション要求の容量に応じて自動スケーリングされます。 使用できるトランザクション容量が多ければスケールは大きくなり、使用できるトランザクション容量が少なければ小さくなります。
対象のストレージ アカウントで使用できるトランザクション容量が少なくなると、ストレージ タスクの実行が調整され、タスク割り当ての実行が完了するまでの時間が予想より長くなる可能性があります。
スケールの制限について詳しくは、「BLOB ストレージのスケーラビリティとパフォーマンスのターゲット」をご覧ください。
Note
より高い容量とイングレスの制限を要求できます。 増加を依頼するには、Azure サポートにお問い合わせください。
ストレージ タスクの実行では、コンテナーへのアクセス許可がなくても、レポート エクスポート コンテナーに書き込むことができます
タスクの割り当てを作成するときに、ストレージ タスクのシステム割り当てマネージド ID にロールを割り当てます。 ストレージ タスクは、実行するとき、マネージド ID に必要なロールが割り当てられているコンテナーでのみ動作できます。 これは、タスク割り当ての間に選択するレポート エクスポート コンテナーには当てはまりません。 ストレージ タスクは、そのコンテナー内の既存の BLOB を操作できませんが、そのコンテナーへのレポートの書き込みには適切なロールは必要ありません。
値が数値の場合、コンテナー メタデータ、BLOB メタデータ、BLOB インデックス タグに対する文字列演算子が機能しない
値が数値であるコンテナー メタデータ、BLOB メタデータ、BLOB インデックス タグに対しては、文字列演算子を使用できません。 たとえば、equals(Tags.Value[Year], '2022') は、値 "2022" が数値で、equals が文字列演算子なので、正しく評価されません。
数字で始まるストレージ アカウント名を参照すると、割り当てが失敗する
名前が数字で始まるストレージ アカウントにストレージ タスクを割り当てた場合、ストレージ タスクの割り当ては失敗します。
ストレージ タスクとストレージ アカウントが同じリソース グループ内に存在しない場合、監視データは表示されない
タスクの割り当てで指定されているストレージ タスクとストレージ アカウントが異なるリソース グループにある場合、ストレージ アカウントについて集計された監視データは、ストレージ タスク ペインの監視タブに正しく表示されません。
ストレージ タスクの割り当ての実行が進行中状態で停止し、BLOB が処理されない
ほとんどの場合、20 分後にタスクの実行が進行します。 もしタスクが停止した場合は、ターゲット ストレージ アカウントに必要な互換性のある構成があることを確認してください。 たとえば、ストレージ タスクに不変ポリシーが設定されていても、ターゲット アカウントにバージョン管理のサポートが構成されていない場合は、ストレージ タスクは進行せず、最終的には失敗します。 ストレージ タスク以外のメカニズムを使って、ターゲット ストレージ アカウントに対する各操作をテストし、操作が成功することを確認します。 その後、ストレージ タスクにその操作を追加します。
ストレージ タスクが内部エラーで失敗する
ストレージ アカウントで互換性のないストレージ タスク操作が試みられると、タスクの実行がエラーで失敗したり、進行中状態でスタックしたりする可能性があります。 たとえば、階層型名前空間を持つアカウントで BLOB インデックス タグを設定しようとする操作は成功しません。 ストレージ アカウントの構成とストレージ タスクの操作に互換性があることを確認してください。
BLOB インデックス タグとメタデータでは、空白文字はまだサポートされていない
BLOB タグのキーと値には、空白文字を入力できます。 ただし、ストレージ タスクの条件では、空白文字を処理できません。 キーまたは値に空白文字が含まれている場合、タスクの実行時にエラーが表示されます。
"." を含む、またはそれと一致する BLOB 名プロパティの値はサポートされていない
BLOB 名句の文字列フィールドには ".doc" や ".pdf" などを入力できますが、タスク リソースのデプロイは失敗します。 サービス リソース プロバイダーの検証でそれがキャッチされて、エラーがスローされます。 "プロパティ 'Name' の値は '.doc' であり、パターン '^[a-zA-Z0-9]+$'"}]}' に従っていません"
ストレージ タスクの割り当ては、階層型名前空間を持つアカウントの複数のディレクトリ フィルターで使われた場合、不完全な BLOB の一覧に対して動作する
ストレージ タスクの割り当てで複数のフィルターが使われている場合、すべてのディレクトリ プレフィックスで操作対象の BLOB がスキャンされるわけではありません。
タスクの割り当てでパス プレフィックスに空白文字を使うことはサポートされていない
階層型名前空間を持つストレージ アカウントで表示される場所情報には、container1 / subcontainer1
のように、文字列と /
文字の間に空白文字が含まれます。 割り当て時にこの情報をコピーしてパス プレフィックス フィールドに貼り付けると、エラーが発生します。
階層型名前空間を持つアカウント内の BLOB を処理するとパフォーマンスが低下する
Storage Actions は、階層型名前空間が有効なアカウント内の BLOB を操作するときは容量が減ります。 これは、対処中の既知の問題です。 この問題により、ストレージ タスクの実行による BLOB の処理速度が低下します。
プライベート ネットワーク内のストレージ アカウントに対する操作はサポートされていない
アクセス制御用の IP またはネットワーク規則があるストレージ アカウントにストレージ タスクの割り当てを適用すると、タスクの実行が失敗する可能性があります。 これは、ストレージ タスクの割り当てには、パブリック エンドポイントを介してストレージ アカウントにアクセスする必要があり、それがファイアウォールまたは仮想ネットワーク規則によってブロックされる可能性があるためです。 この問題を回避するには、ストレージ アカウントへのネットワーク アクセスを適切に構成する必要があります。
ストレージ タスクは、GRS/GZRS アカウントに移行したリージョン アカウントではトリガーされません
ストレージ アカウントを GRS または GZRS プライマリ リージョンとセカンダリ リージョンとの間で移行する場合、ストレージ アカウントを対象としたストレージ タスクはトリガーされないため、既存のタスクの実行はいずれも失敗する可能性があります。