JobOperations.AddTask メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
AddTask(String, CloudTask, IEnumerable<BatchClientBehavior>)
ジョブに 1 つのタスクを追加します。 複数のタスクを追加するには、 JobOperations.AddTaskAsync を使用します。
public System.Collections.Concurrent.ConcurrentDictionary<Type,Microsoft.Azure.Batch.IFileStagingArtifact> AddTask (string jobId, Microsoft.Azure.Batch.CloudTask taskToAdd, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.BatchClientBehavior> additionalBehaviors = default);
member this.AddTask : string * Microsoft.Azure.Batch.CloudTask * seq<Microsoft.Azure.Batch.BatchClientBehavior> -> System.Collections.Concurrent.ConcurrentDictionary<Type, Microsoft.Azure.Batch.IFileStagingArtifact>
Public Function AddTask (jobId As String, taskToAdd As CloudTask, Optional additionalBehaviors As IEnumerable(Of BatchClientBehavior) = Nothing) As ConcurrentDictionary(Of Type, IFileStagingArtifact)
パラメーター
- jobId
- String
タスクを追加するジョブの ID。
- additionalBehaviors
- IEnumerable<BatchClientBehavior>
の後の BatchClientBehavior Batch サービス要求に適用されるインスタンスの CustomBehaviorsコレクション。
戻り値
ファイル ステージング プロセスに関する情報のコレクション (「」を参照 FilesToStage)。 詳細については、「IFileStagingArtifact」を参照してください。
注釈
このメソッドを呼び出すたびに、Batch サービスへの要求が発生します。 したがって、このメソッドを使用して複数のタスクを追加することは、一括追加メソッドを使用するよりも効率が低く、HTTP 接続の制限が発生する可能性があります。 これらの操作の多くを並列で実行していて、クライアント側のタイムアウトが発生している場合は、AddTask の複数タスク オーバーロードを参照 http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx するか、使用してください。
これはブロック操作です。 非ブロッキングに相当するものについては、「」を参照してください AddTaskAsync(String, CloudTask, ConcurrentDictionary<Type,IFileStagingArtifact>, IEnumerable<BatchClientBehavior>, CancellationToken)。
適用対象
AddTask(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>)
ジョブにタスクを追加します。
public void AddTask (string jobId, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.CloudTask> tasksToAdd, Microsoft.Azure.Batch.BatchClientParallelOptions parallelOptions = default, System.Collections.Concurrent.ConcurrentBag<System.Collections.Concurrent.ConcurrentDictionary<Type,Microsoft.Azure.Batch.IFileStagingArtifact>> fileStagingArtifacts = default, TimeSpan? timeout = default, System.Collections.Generic.IEnumerable<Microsoft.Azure.Batch.BatchClientBehavior> additionalBehaviors = default);
member this.AddTask : string * seq<Microsoft.Azure.Batch.CloudTask> * Microsoft.Azure.Batch.BatchClientParallelOptions * System.Collections.Concurrent.ConcurrentBag<System.Collections.Concurrent.ConcurrentDictionary<Type, Microsoft.Azure.Batch.IFileStagingArtifact>> * Nullable<TimeSpan> * seq<Microsoft.Azure.Batch.BatchClientBehavior> -> unit
Public Sub AddTask (jobId As String, tasksToAdd As IEnumerable(Of CloudTask), Optional parallelOptions As BatchClientParallelOptions = Nothing, Optional fileStagingArtifacts As ConcurrentBag(Of ConcurrentDictionary(Of Type, IFileStagingArtifact)) = Nothing, Optional timeout As Nullable(Of TimeSpan) = Nothing, Optional additionalBehaviors As IEnumerable(Of BatchClientBehavior) = Nothing)
パラメーター
- jobId
- String
タスクを追加するジョブの ID。
- tasksToAdd
- IEnumerable<CloudTask>
追加する CloudTask。
- parallelOptions
- BatchClientParallelOptions
Batch サービスに発行される同時並列 AddTaskCollection 要求の数を制御します。 各 AddTaskCollection 要求には、ほとんどの MaxTasksInSingleAddTaskCollectionRequest タスクが含まれています。 また、操作のキャンセル トークンも制御します。 省略すると、既定値が使用されます (「」を参照)。BatchClientParallelOptions
- fileStagingArtifacts
- ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>
ファイル ステージング プロセスに関する情報を受け取る省略可能なコレクション (「」を参照 FilesToStage)。 Batch サービスへの送信用に ConcurrentBag<T> グループ化されたタスクの各セットの エントリが に追加されます。 単一タスクの追加とは異なり、このパラメーターを使用してファイルのステージング プロセスをカスタマイズすることはできません。 各エントリの形式の詳細については、「」を参照してください IFileStagingArtifact。
- additionalBehaviors
- IEnumerable<BatchClientBehavior>
の後の BatchClientBehavior Batch サービス要求に適用されるインスタンスの CustomBehaviorsコレクション。
例外
Batch サービスに対する 1 つ以上の要求が失敗した場合にスローされます。
注釈
これはブロック操作です。非ブロッキングに相当するものについては、「 」を参照してください AddTaskAsync(String, IEnumerable<CloudTask>, BatchClientParallelOptions, ConcurrentBag<ConcurrentDictionary<Type,IFileStagingArtifact>>, Nullable<TimeSpan>, IEnumerable<BatchClientBehavior>)。
このメソッドはアトミックではありません。つまり、 メソッドがタスクの追加を開始してから失敗する可能性があります。 追加するタスクのコレクションは、最大 MaxTasksInSingleAddTaskCollectionRequestサイズのチャンクに分割され、チャンクごとに AddTaskCollection 要求が発行されます。 要求は、 に従って並列で parallelOptions
発行できます。
Batch サービスに多数の同時要求を発行すると、HTTP 接続の制限が発生する可能性があります。 これらの操作の多くを並列で実行している (または parallelOptions で大きな MaxDegreeOfParallelism を指定している) 場合、クライアント側のタイムアウトが発生している場合は、 を参照してください http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.defaultconnectionlimit%28v=vs.110%29.aspx 。
エラーが発生した場合の操作の進行状況は、動作によって AddTaskCollectionResultHandler 決まります。 Batch クライアントは通常の状況で動作する既定値を使用するため、通常はこの動作を指定する必要はありません。 この動作をカスタマイズする場合は、 コレクションまたは additionalBehaviors
コレクションで AddTaskCollectionResultHandler をCustomBehaviors指定します。