CloudTask クラス

Azure Batch タスク。

Batch は、ノードで回復操作がトリガーされたときにタスクを再試行します。 復旧操作の例としては、異常なノードが再起動されたときや、ホスト障害が原因でコンピューティング ノードが消失した場合などです (ただし、これらに限定されません)。 回復操作による再試行は とは無関係であり、maxTaskRetryCount に対してカウントされません。 maxTaskRetryCount が 0 の場合でも、回復操作による内部再試行が発生する可能性があります。 このため、すべてのタスクはべき等である必要があります。 つまり、タスクは、破損や重複するデータを発生させることなく、中断および再起動されることを許容する必要があります。 実行時間の長いタスクのベスト プラクティスは、何らかの形式のチェックポイント処理を使用することです。

継承
CloudTask

コンストラクター

CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=None, **kwargs)

パラメーター

id
str
必須

ID には、ハイフンとアンダースコアを含む英数字の任意の組み合わせを含めることができます。また、64 文字を超えることはできません。

display_name
str
必須

表示名は一意である必要はありません。最大長 1024 までの Unicode 文字を含めることができます。

url
str
必須
e_tag
str
必須

これは不透明な文字列です。 これを使用して、タスクが要求間で変更されたかどうかを検出できます。 特に、タスクを更新するときに ETag を渡して、その間に他のユーザーがタスクを変更していない場合にのみ変更を有効にするように指定できます。

last_modified
datetime
必須
creation_time
datetime
必須
exit_conditions
ExitConditions
必須

タスクが完了したときに Batch サービスが応答する方法。

state
str または TaskState
必須

タスクの現在の状態。 使用可能な値は、'active'、'準備中'、'running'、'completed' です。

state_transition_time
datetime
必須
previous_state
str または TaskState
必須

タスクの以前の状態。 Task が初期アクティブ状態の場合、このプロパティは設定されません。 使用可能な値は、'active'、'準備中'、'running'、'completed' です。

previous_state_transition_time
datetime
必須

Task が初期アクティブ状態の場合、このプロパティは設定されません。

command_line
str
必須

複数インスタンスのタスクの場合、プライマリ タスクとすべてのサブタスクが調整コマンド ラインの実行を完了した後、コマンド ラインがプライマリ タスクとして実行されます。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch 指定の環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。

container_settings
TaskContainerSettings
必須

タスクを実行するコンテナーの設定。 このタスクを実行するプールに containerConfiguration が設定されている場合は、これも設定する必要があります。 このタスクを実行するプールに containerConfiguration が設定されていない場合は、これを設定しないでください。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上のAzure Batchディレクトリのルート) がコンテナーに再帰的にマップされ、すべての Task 環境変数がコンテナーにマップされ、Task コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIR外のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。

resource_files
list[ResourceFile]
必須

複数インスタンスのタスクの場合、リソース ファイルは、プライマリ タスクが実行されるコンピューティング ノードにのみダウンロードされます。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。

output_files
list[OutputFile]
必須

複数インスタンスのタスクの場合、ファイルは、プライマリ タスクが実行されるコンピューティング ノードからのみアップロードされます。

environment_settings
list[EnvironmentSetting]
必須
affinity_info
AffinityInformation
必須

Batch サービスが新しいタスクを開始するコンピューティング ノードを選択するために使用できるローカリティ ヒント。

constraints
TaskConstraints
必須

このタスクに適用される実行制約。

required_slots
int
必須

タスクの実行に必要なスケジュール スロットの数。 既定値は 1 です。 タスクは、ノードに十分な空きスケジュール スロットがある場合にのみ、コンピューティング ノードで実行するようにスケジュールできます。 複数インスタンスのタスクの場合、これは 1 である必要があります。

user_identity
UserIdentity
必須

タスクを実行するユーザー ID。 省略すると、Task は Task に固有の管理ユーザー以外のユーザーとして実行されます。

execution_info
TaskExecutionInformation
必須

タスクの実行に関する情報。

node_info
ComputeNodeInformation
必須

タスクが実行されたコンピューティング ノードに関する情報。

multi_instance_settings
MultiInstanceSettings
必須

Task がマルチインスタンス タスクであることを示し、マルチインスタンス タスクの実行方法に関する情報を含む オブジェクト。

stats
TaskStatistics
必須

タスクのリソース使用状況の統計情報。

depends_on
TaskDependencies
必須

このタスクが依存するタスク。 このタスクは、依存するすべてのタスクが正常に完了するまでスケジュールされません。 これらのタスクのいずれかが失敗し、再試行回数を使い果たした場合、このタスクはスケジュールされません。

application_package_references
list[ApplicationPackageReference]
必須

アプリケーション パッケージは、タスク作業ディレクトリではなく、共有ディレクトリにダウンロードおよびデプロイされます。 したがって、参照されているパッケージが既に Node 上にあり、最新の状態である場合、再ダウンロードされません。コンピューティング ノード上の既存のコピーが使用されます。 参照先のパッケージをインストールできない場合 (たとえば、パッケージが削除されたか、ダウンロードに失敗したため)、タスクは失敗します。

authentication_token_settings
AuthenticationTokenSettings
必須

Batch サービス操作の実行にタスクが使用できる認証トークンの設定。 このプロパティが設定されている場合、Batch サービスは、アカウント アクセス キーを必要とせずに Batch サービス操作を認証するために使用できる認証トークンを Task に提供します。 トークンは、AZ_BATCH_AUTHENTICATION_TOKEN環境変数を介して提供されます。 タスクがトークンを使用して実行できる操作は、設定によって異なります。 たとえば、タスクは、他のタスクをジョブに追加したり、ジョブまたはジョブの下の他のタスクの状態をチェックしたりするために、ジョブのアクセス許可を要求できます。

メソッド

as_dict

json.dump を使用して JSONify できる dict を返します。

高度な使用法では、必要に応じてコールバックをパラメーターとして使用できます。

キーは、Python で使用される属性名です。 Attr_descはメタデータのディクテーションです。 現在、msrest 型の 'type' と RestAPI でエンコードされたキーを持つ 'key' が含まれています。 値は、このオブジェクトの現在の値です。

返される文字列は、キーのシリアル化に使用されます。 戻り値の型がリストの場合、これは階層的な結果 dict と見なされます。

このファイルの 3 つの例を参照してください。

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。

deserialize

RestAPI 構文を使用して str を解析し、モデルを返します。

enable_additional_properties_sending
from_dict

指定されたキー抽出器を使用してディクテーションを解析し、モデルを返します。

既定では、キー抽出器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor、last_rest_key_case_insensitive_extractor) を検討してください

is_xml_model
serialize

このモデルから Azure に送信される JSON を返します。

これは、 as_dict(full_restapi_key_transformer、keep_readonly=False) のエイリアスです

XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。

validate

このモデルを再帰的に検証し、ValidationError の一覧を返します。

as_dict

json.dump を使用して JSONify できる dict を返します。

高度な使用法では、必要に応じてコールバックをパラメーターとして使用できます。

キーは、Python で使用される属性名です。 Attr_descはメタデータのディクテーションです。 現在、msrest 型の 'type' と RestAPI でエンコードされたキーを持つ 'key' が含まれています。 値は、このオブジェクトの現在の値です。

返される文字列は、キーのシリアル化に使用されます。 戻り値の型がリストの場合、これは階層的な結果 dict と見なされます。

このファイルの 3 つの例を参照してください。

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

パラメーター

key_transformer
<xref:function>

キー トランスフォーマー関数。

keep_readonly
既定値: True

戻り値

dict JSON 互換オブジェクト

の戻り値の型 :

deserialize

RestAPI 構文を使用して str を解析し、モデルを返します。

deserialize(data, content_type=None)

パラメーター

data
str
必須

RestAPI 構造体を使用する str。 既定では JSON。

content_type
str
既定値: None

既定では JSON、XML の場合は application/xml を設定します。

戻り値

このモデルのインスタンス

例外

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

指定されたキー抽出器を使用してディクテーションを解析し、モデルを返します。

既定では、キー抽出器 (rest_key_case_insensitive_extractor、attribute_key_case_insensitive_extractor、last_rest_key_case_insensitive_extractor) を検討してください

from_dict(data, key_extractors=None, content_type=None)

パラメーター

data
dict
必須

RestAPI 構造体を使用したディクテーション

content_type
str
既定値: None

既定では JSON、XML の場合は application/xml を設定します。

key_extractors
既定値: None

戻り値

このモデルのインスタンス

例外

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

このモデルから Azure に送信される JSON を返します。

これは、 as_dict(full_restapi_key_transformer、keep_readonly=False) のエイリアスです

XML シリアル化が必要な場合は、kwargs is_xml=True を渡すことができます。

serialize(keep_readonly=False, **kwargs)

パラメーター

keep_readonly
bool
既定値: False

読み取り専用属性をシリアル化する場合

戻り値

dict JSON 互換オブジェクト

の戻り値の型 :

validate

このモデルを再帰的に検証し、ValidationError の一覧を返します。

validate()

戻り値

検証エラーの一覧

の戻り値の型 :