blob: bcffba05a231c72ab2fcdc3c1bf9f3c3c67e902a [file] [log] [blame]
:py:mod:`airflow.providers.amazon.aws.operators.batch`
======================================================
.. py:module:: airflow.providers.amazon.aws.operators.batch
.. autoapi-nested-parse::
An Airflow operator for AWS Batch services
.. seealso::
- http://boto3.readthedocs.io/en/latest/guide/configuration.html
- http://boto3.readthedocs.io/en/latest/reference/services/batch.html
- https://docs.aws.amazon.com/batch/latest/APIReference/Welcome.html
Module Contents
---------------
Classes
~~~~~~~
.. autoapisummary::
airflow.providers.amazon.aws.operators.batch.BatchOperator
airflow.providers.amazon.aws.operators.batch.AwsBatchOperator
.. py:class:: BatchOperator(*, job_name, job_definition, job_queue, overrides, array_properties = None, parameters = None, job_id = None, waiters = None, max_retries = None, status_retries = None, aws_conn_id = None, region_name = None, tags = None, **kwargs)
Bases: :py:obj:`airflow.models.BaseOperator`
Execute a job on AWS Batch
.. seealso::
For more information on how to use this operator, take a look at the guide:
:ref:`howto/operator:BatchOperator`
:param job_name: the name for the job that will run on AWS Batch (templated)
:param job_definition: the job definition name on AWS Batch
:param job_queue: the queue name on AWS Batch
:param overrides: the `containerOverrides` parameter for boto3 (templated)
:param array_properties: the `arrayProperties` parameter for boto3
:param parameters: the `parameters` for boto3 (templated)
:param job_id: the job ID, usually unknown (None) until the
submit_job operation gets the jobId defined by AWS Batch
:param waiters: an :py:class:`.BatchWaiters` object (see note below);
if None, polling is used with max_retries and status_retries.
:param max_retries: exponential back-off retries, 4200 = 48 hours;
polling is only used when waiters is None
:param status_retries: number of HTTP retries to get job status, 10;
polling is only used when waiters is None
:param aws_conn_id: connection id of AWS credentials / region name. If None,
credential boto3 strategy will be used.
:param region_name: region name to use in AWS Hook.
Override the region_name in connection (if provided)
:param tags: collection of tags to apply to the AWS Batch job submission
if None, no tags are submitted
.. note::
Any custom waiters must return a waiter for these calls:
.. code-block:: python
waiter = waiters.get_waiter("JobExists")
waiter = waiters.get_waiter("JobRunning")
waiter = waiters.get_waiter("JobComplete")
.. py:attribute:: ui_color
:annotation: = #c3dae0
.. py:attribute:: arn
:annotation: :Optional[str]
.. py:attribute:: template_fields
:annotation: :Sequence[str] = ['job_name', 'overrides', 'parameters']
.. py:attribute:: template_fields_renderers
.. py:method:: execute(self, context)
Submit and monitor an AWS Batch job
:raises: AirflowException
.. py:method:: on_kill(self)
Override this method to cleanup subprocesses when a task instance
gets killed. Any use of the threading, subprocess or multiprocessing
module within an operator needs to be cleaned up or it will leave
ghost processes behind.
.. py:method:: submit_job(self, context)
Submit an AWS Batch job
:raises: AirflowException
.. py:method:: monitor_job(self, context)
Monitor an AWS Batch job
monitor_job can raise an exception or an AirflowTaskTimeout can be raised if execution_timeout
is given while creating the task. These exceptions should be handled in taskinstance.py
instead of here like it was previously done
:raises: AirflowException
.. py:class:: AwsBatchOperator(*args, **kwargs)
Bases: :py:obj:`BatchOperator`
This operator is deprecated.
Please use :class:`airflow.providers.amazon.aws.operators.batch.BatchOperator`.