Edits history of script submission #8880 for ' Create Scheduled Query (gcloud)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    import { v1 as bqdt, protos } from "@google-cloud/bigquery-data-transfer";
    
    const { CreateTransferConfigRequest, TransferConfig } =
      protos.google.cloud.bigquery.datatransfer.v1;
    
    type Gcloud = {
      type: string;
      project_id: string;
      private_key_id: string;
      private_key: string;
      client_email: string;
      client_id: string;
      auth_uri: string;
      token_uri: string;
      auth_provider_x509_cert_url: string;
      client_x509_cert_url: string;
      universe_domain: string;
    };
    
    export async function main(
      resource: Gcloud,
      destinationDatasetId: string,
      datasetRegion: string = "us",
      displayName: string,
      query: string,
      schedule: string,
      writeDisposition: string = "WRITE_TRUNCATE",
      destinationTableNameTemplate: string = "logs"
    ) {
      const bqdtClient = new bqdt.DataTransferServiceClient({
        credentials: resource,
        projectId: resource.project_id,
      });
    
      const parent = bqdtClient.projectPath(resource.project_id);
    
      const transferConfig = new TransferConfig({
        displayName,
        dataSourceId: "scheduled_query",
        destinationDatasetId,
        schedule,
        datasetRegion,
        params: {
          fields: {
            query: { stringValue: query },
            destination_table_name_template: {
              stringValue: destinationTableNameTemplate,
            },
            write_disposition: { stringValue: writeDisposition },
          },
        },
      });
    
      const request = new CreateTransferConfigRequest({
        parent,
        transferConfig,
        serviceAccountName: resource.clientEmail,
      });
    
      const [response] = await bqdtClient.createTransferConfig(request);
    
      return response;
    }
    

    Submitted by hugo697 692 days ago

  • bun
    import { v1 as bqdt, protos } from "@google-cloud/bigquery-data-transfer";
    
    const { CreateTransferConfigRequest, TransferConfig } =
      protos.google.cloud.bigquery.datatransfer.v1;
    
    type Gcloud = {
      type: string;
      project_id: string;
      private_key_id: string;
      private_key: string;
      client_email: string;
      client_id: string;
      auth_uri: string;
      token_uri: string;
      auth_provider_x509_cert_url: string;
      client_x509_cert_url: string;
      universe_domain: string;
    };
    
    export async function main(
      resource: Gcloud,
      destinationDatasetId: string,
      datasetRegion: string = "us",
      displayName: string,
      query: string,
      schedule: string,
      writeDisposition: string = "WRITE_TRUNCATE",
      destinationTableNameTemplate: string = "logs"
    ) {
      const bqdtClient = new bqdt.DataTransferServiceClient({
        credentials: resource,
        projectId: resource.project_id,
      });
    
      const parent = bqdtClient.projectPath(resource.project_id);
    
      const transferConfig = new TransferConfig({
        displayName,
        dataSourceId: "scheduled_query",
        destinationDatasetId,
        schedule,
        datasetRegion,
        params: {
          fields: {
            query: { stringValue: query },
            destination_table_name_template: {
              stringValue: destinationTableNameTemplate,
            },
            write_disposition: { stringValue: writeDisposition },
          },
        },
      });
    
      const request = new CreateTransferConfigRequest({
        parent,
        transferConfig,
        serviceAccountName: resource.clientEmail,
      });
    
      const [response] = await bqdtClient.createTransferConfig(request);
    
      return response;
    }
    

    Submitted by hugo697 693 days ago

  • bun
    import { v1 as bqdt, protos } from '@google-cloud/bigquery-data-transfer'
    
    const { CreateTransferConfigRequest, TransferConfig } = protos.google.cloud.bigquery.datatransfer.v1
    
    type Gcloud = {
    	projectId: string
    	privateKey: string
    	clientEmail: string
    }
    
    export async function main(
    	resource: Gcloud,
    	destinationDatasetId: string,
    	datasetRegion: string = 'us',
    	displayName: string,
    	query: string,
    	schedule: string,
    	writeDisposition: string = 'WRITE_TRUNCATE',
    	destinationTableNameTemplate: string = 'logs'
    ) {
    	const credentials = {
    		client_email: resource.clientEmail,
    		private_key: resource.privateKey.replace(/\\n/g, '\n')
    	}
    
    	const bqdtClient = new bqdt.DataTransferServiceClient({
    		credentials,
    		projectId: resource.projectId
    	})
    
    	const parent = bqdtClient.projectPath(resource.projectId)
    
    	const transferConfig = new TransferConfig({
    		displayName,
    		dataSourceId: 'scheduled_query',
    		destinationDatasetId,
    		schedule,
    		datasetRegion,
    		params: {
    			fields: {
    				query: { stringValue: query },
    				destination_table_name_template: { stringValue: destinationTableNameTemplate },
    				write_disposition: { stringValue: writeDisposition }
    			}
    		}
    	})
    
    	const request = new CreateTransferConfigRequest({
    		parent,
    		transferConfig,
    		serviceAccountName: resource.clientEmail
    	})
    
    	const [response] = await bqdtClient.createTransferConfig(request)
    
    	return response
    }
    

    Submitted by hugo697 693 days ago