예제 #1
0
 def execute(self, context: "Context") -> dict:
     hook = DataprocMetastoreHook(
         gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain
     )
     self.log.info("Creating Dataproc Metastore service: %s", self.project_id)
     try:
         operation = hook.create_service(
             region=self.region,
             project_id=self.project_id,
             service=self.service,
             service_id=self.service_id,
             request_id=self.request_id,
             retry=self.retry,
             timeout=self.timeout,
             metadata=self.metadata,
         )
         service = hook.wait_for_operation(self.timeout, operation)
         self.log.info("Service %s created successfully", self.service_id)
     except HttpError as err:
         if err.resp.status not in (409, '409'):
             raise
         self.log.info("Instance %s already exists", self.service_id)
         service = hook.get_service(
             region=self.region,
             project_id=self.project_id,
             service_id=self.service_id,
             retry=self.retry,
             timeout=self.timeout,
             metadata=self.metadata,
         )
     DataprocMetastoreLink.persist(context=context, task_instance=self, url=METASTORE_SERVICE_LINK)
     return Service.to_dict(service)
예제 #2
0
 def execute(self, context: 'Context') -> dict:
     hook = DataprocMetastoreHook(
         gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain
     )
     self.log.info("Gets the details of a single Dataproc Metastore service: %s", self.project_id)
     result = hook.get_service(
         region=self.region,
         project_id=self.project_id,
         service_id=self.service_id,
         retry=self.retry,
         timeout=self.timeout,
         metadata=self.metadata,
     )
     return Service.to_dict(result)
예제 #3
0
 def execute(self, context: "Context") -> dict:
     hook = DataprocMetastoreHook(
         gcp_conn_id=self.gcp_conn_id, impersonation_chain=self.impersonation_chain
     )
     self.log.info("Gets the details of a single Dataproc Metastore service: %s", self.project_id)
     result = hook.get_service(
         region=self.region,
         project_id=self.project_id,
         service_id=self.service_id,
         retry=self.retry,
         timeout=self.timeout,
         metadata=self.metadata,
     )
     DataprocMetastoreLink.persist(context=context, task_instance=self, url=METASTORE_SERVICE_LINK)
     return Service.to_dict(result)