Beispiel #1
0
    def execute(self, context):
        if self.gcs_hook is None:
            self.gcs_hook = GoogleCloudStorageHook(
                google_cloud_storage_conn_id=self.gcp_conn_id,
                delegate_to=self.delegate_to)
        if self.cm_hook is None:
            self.cm_hook = GoogleCampaignManagerHook(
                gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to)

        temp_file = tempfile.NamedTemporaryFile(delete=False)
        try:
            report_file_name = self._download_report(self.report_id,
                                                     self.file_id, temp_file,
                                                     self.chunk_size)

            destination_object_name = self._get_destination_uri(
                self.destination_object, report_file_name)

            self.gcs_hook.upload(bucket=self.destination_bucket,
                                 object=destination_object_name,
                                 filename=temp_file.name,
                                 gzip=True,
                                 multipart=True)

            context['task_instance'].xcom_push('destination_bucket',
                                               self.destination_bucket)
            context['task_instance'].xcom_push('destination_object',
                                               destination_object_name)
        finally:
            temp_file.close()
            os.unlink(temp_file.name)
Beispiel #2
0
    def execute(self, context):
        if self.hook is None:
            self.hook = GoogleCampaignManagerHook(gcp_conn_id=self.gcp_conn_id,
                                                  delegate_to=self.delegate_to)

        if self.report_id is not None:
            self.hook.delete_report(self.profile_id, self.report_id,
                                    self.ignore_if_missing)

        if self.report_name is not None:
            self.hook.delete_report_by_name(self.profile_id, self.report_name,
                                            self.ignore_if_missing)
Beispiel #3
0
    def execute(self, context):
        if self.hook is None:
            self.hook = GoogleCampaignManagerHook(gcp_conn_id=self.gcp_conn_id,
                                                  delegate_to=self.delegate_to)

        report_id = self._create_report(self.profile_id, self.report)

        file_id = self._run_report(self.profile_id, report_id)
        context['task_instance'].xcom_push('report_id', report_id)
        context['task_instance'].xcom_push('file_id', file_id)
        msg = 'Report Created report_id = %s and file_id = %s' % (report_id,
                                                                  file_id)
        logger.info(msg)
Beispiel #4
0
 def poke(self, context):
     if self.hook is None:
         self.hook = GoogleCampaignManagerHook(gcp_conn_id=self.gcp_conn_id,
                                               delegate_to=self.delegate_to)
     logger.info(self.gcp_conn_id)
     logger.info(self.report_id)
     logger.info(self.file_id)
     request = self.hook.get_service().reports().files().get(
         profileId=self.profile_id,
         reportId=self.report_id,
         fileId=self.file_id)
     response = request.execute()
     logger.info(response)
     if response:
         if response['status'] != 'PROCESSING':
             return True
     return False