Routines: Get routine

Get a routine resource for a given routine ID.

Code Sample

Java

Before trying this sample, follow the Java setup instructions in the BigQuery Quickstart Using Client Libraries. For more information, see the BigQuery Java API reference documentation.

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryException;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Routine;
import com.google.cloud.bigquery.RoutineId;

// Sample to get a routine
public class GetRoutine {

  public static void main(String[] args) {
    // TODO(developer): Replace these variables before running the sample.
    String datasetName = "MY_DATASET_NAME";
    String routineName = "MY_ROUTINE_NAME";
    getRoutine(datasetName, routineName);
  }

  public static void getRoutine(String datasetName, String routineName) {
    try {
      // Initialize client that will be used to send requests. This client only needs to be created
      // once, and can be reused for multiple requests.
      BigQuery bigquery = BigQueryOptions.getDefaultInstance().getService();

      RoutineId routineId = RoutineId.of(datasetName, routineName);
      Routine routine = bigquery.getRoutine(routineId);
      System.out.println("Routine retrieved successfully" + routine.getDescription());
    } catch (BigQueryException e) {
      System.out.println("Routine not retrieved. \n" + e.toString());
    }
  }
}

Node.js

Before trying this sample, follow the Node.js setup instructions in the BigQuery Quickstart Using Client Libraries. For more information, see the BigQuery Node.js API reference documentation.

// Import the Google Cloud client library and create a client
const {BigQuery} = require('@google-cloud/bigquery');
const bigquery = new BigQuery();

async function getRoutine() {
  // Gets an existing routine named "my_routine" in "my_dataset".

  /**
   * TODO(developer): Uncomment the following lines before running the sample.
   */
  // const datasetId = 'my_dataset';
  // const routineId = 'my_routine';

  const dataset = bigquery.dataset(datasetId);

  // Create routine reference and make API call
  const [routine] = await dataset.routine(routineId).get();

  console.log(
    `Routine ${routine.metadata.routineReference.routineId} retrieved.`
  );
}
getRoutine();

Python

Before trying this sample, follow the Python setup instructions in the BigQuery Quickstart Using Client Libraries. For more information, see the BigQuery Python API reference documentation.


from google.cloud import bigquery

# Construct a BigQuery client object.
client = bigquery.Client()

# TODO(developer): Set the fully-qualified ID for the routine.
# routine_id = "my-project.my_dataset.my_routine"

routine = client.get_routine(routine_id)  # Make an API request.

print("Routine '{}':".format(routine.reference))
print("\tType: '{}'".format(routine.type_))
print("\tLanguage: '{}'".format(routine.language))
print("\tArguments:")

for argument in routine.arguments:
    print("\t\tName: '{}'".format(argument.name))
    print("\t\tType: '{}'".format(argument.data_type))