mik-laj commented on a change in pull request #10304:
URL: https://github.com/apache/airflow/pull/10304#discussion_r475530514
##########
File path: airflow/providers/google/cloud/operators/dataprep.py
##########
@@ -51,6 +50,68 @@ def __init__(
def execute(self, context: Dict):
self.log.info("Fetching data for job with id: %d ...", self.job_id)
- hook = GoogleDataprepHook(dataprep_conn_id="dataprep_conn_id")
+ hook = GoogleDataprepHook(dataprep_conn_id="dataprep_conn_id",)
response = hook.get_jobs_for_job_group(job_id=self.job_id)
return response
+
+
+class DataprepGetJobGroupOperator(BaseOperator):
+ """
+ Get the specified job group.
+ A job group is a job that is executed from a specific node in a flow.
+ API documentation
https://clouddataprep.com/documentation/api#section/Overview
+
+ .. seealso::
+ For more information on how to use this operator, take a look at the
guide:
+ :ref:`howto/operator:DataprepGetJobGroupOperator`
+
+ :param job_id The ID of the job that will be requests
+ :type job_id: int
+ :param embed Comma-separated list of objects to pull in as part of the
response
+ :type embed: string
+ :param include_deleted if set to "true", will include deleted objects
+ :type include_deleted: bool
+ """
+
+ template_fields = ("job_id",)
+
+ @apply_defaults
+ def __init__(
+ self, *, job_id: int, embed: str, include_deleted: bool, **kwargs
+ ) -> None:
+ super().__init__(**kwargs)
+ self.job_id = job_id
+ self.embed = embed
+ self.include_deleted = include_deleted
+
+ def execute(self, context: Dict):
+ self.log.info("Fetching data for job with id: %d ...", self.job_id)
+ hook = GoogleDataprepHook(dataprep_conn_id="dataprep_conn_id")
+ response = hook.get_job_group(job_id=self.job_id, embed="",
include_deleted=self.include_deleted)
+ return response
+
+
+class DataprepRunJobGroupOperator(BaseOperator):
+ """
+ Create a ``jobGroup``, which launches the specified job as the
authenticated user.
+ This performs the same action as clicking on the Run Job button in the
application.
+
+ :param recipe_id: to run a job, you just specify the recipe identifier
(``wrangledDataset.id``).
+ If the job is successful, all defined outputs are generated,
+ as defined in the output object, publications, and ``writeSettings``
objects
+ associated with the recipe.
+ To identify the ``wrangledDataset Id``, select the recipe icon in the
UI flow view and
+ take the id shown in the URL. e.g. if the URL is /flows/10?recipe=7,
Review comment:
The API for the operator should not mention endpoint names in parameter
descriptions. We should use operator/hook method names instead.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]