Delete a migration workflow

Deletes a specified migration workflow from a BigQuery Migration Service project. The workflow must not be currently running.

Code sample

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.

To authenticate to BigQuery, set up Application Default Credentials. For more information, see Set up authentication for client libraries.

const {MigrationServiceClient} = require('@google-cloud/bigquery-migration').v2;
const {status} = require('@grpc/grpc-js');

const client = new MigrationServiceClient();

/**
 * Deletes a migration workflow by name.
 *
 * This is useful to clean up migration resources that are no longer needed.
 *
 * @param {string} projectId The Google Cloud project ID.
 * @param {string} location The workflow's location (for example, 'us').
 * @param {string} workflowId The ID of the migration workflow to delete (for example, '12345678-abcd-4372-a567-0e02b2c3d479').
 */
async function deleteMigrationWorkflow(
  projectId,
  location = 'us',
  workflowId = '12345678-abcd-4372-a567-0e02b2c3d479',
) {
  const name = client.migrationWorkflowPath(projectId, location, workflowId);

  const request = {
    name,
  };

  try {
    await client.deleteMigrationWorkflow(request);
    console.log(`Migration workflow ${workflowId} deleted successfully.`);
  } catch (err) {
    if (err.code === status.NOT_FOUND) {
      console.error(`Migration workflow ${workflowId} not found.`);
    } else {
      console.error(
        'An error occurred while deleting the migration workflow:',
        err,
      );
    }
  }
}

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.

To authenticate to BigQuery, set up Application Default Credentials. For more information, see Set up authentication for client libraries.

from google.api_core import exceptions
from google.cloud import bigquery_migration_v2

client = bigquery_migration_v2.MigrationServiceClient()


def delete_migration_workflow(project_id: str, location: str, workflow_id: str) -> None:
    """Deletes a migration workflow.

    The migration workflow is a top-level resource that contains all the
    details about a migration. Deleting it will also delete all its
    sub-resources, such as migration tasks.

    Args:
        project_id: The Google Cloud project ID.
        location: The location of the migration workflow, for example, "us".
        workflow_id: The ID of the migration workflow to delete.
    """
    name = client.migration_workflow_path(project_id, location, workflow_id)

    try:
        client.delete_migration_workflow(name=name)
        print(f"Deleted migration workflow: {name}")
    except exceptions.NotFound:
        print(f"Migration workflow not found: {name}")

What's next

To search and filter code samples for other Google Cloud products, see the Google Cloud sample browser.