For the complete documentation index, see llms.txt. This page is also available as Markdown.

❖ Spanner

This page describes how to integrate with your Spanner database. The Spanner integration supports both GoogleSQL and PostgreSQL.

SDV Enterprise Bundle. This feature is available as part of the AI Connectors Bundle, an optional add-on to SDV Enterprise. For more information, please visit the AI Connectors Bundle page.

Installation

To use this feature, please make sure you have installed the bundle with the optional db-spanner dependency. For more information, see the SDV Enterprise Installation guide.

pip install sdv-installer --upgrade
sdv-installer install --package bundle-ai-connectors --options db-spanner

Connector

Create a connector object that interacts with your Spanner database.

from sdv.io.database import SpannerConnector

connector = SpannerConnector()

Parameters (None)

Output A SpannerConnector object that you can use to import data and metadata

Config File

Create a YAML file that corresponds to the database to connect to. You will need separate config files for your source dataset (for importing training data) and a destination dataset (for exporting synthetic data).

The config file has the following structure:

Parameters:

connection: This section defines the database tables you want to connect to. It is common to all Google-native databases.

  • (required) database_name: A top-level logical container for data and database objects within a database system.

  • (required) schema_name: A named logical grouping of database objects within a database, used for organization and access control.

auth: This section provides information about your identity, which is required to connect to the database. It is common to all Google-native databases.

  • (required) json_credentials_filepath: A string with the file that contains the credentials. This can be downloaded for user or service accounts via Google's interface. Follow the instructions in these docs to select your account, add a key, and download the JSON file. (If you need help with this step, please contact your database admin.)

options.SpannerConnector: This section includes information that is specific for Spanner databases.

  • (required) instance_id: The unique identifier of the Cloud Spanner instance that contains the databases. In Spanner, an instance is the top-level compute and configuration container.

Setting Your Config File

Use the set_import_config and set_export_config functions to add your config YAML file to your connector.

Use the connector to create metadata, import a subset of training data, and export synthetic data. For more information, see the Usage API.

FAQ

Which permissions are needed for importing and exporting?

Importing data requires read access. For Spanner, this includes: spanner.databases.list, spanner.databases.read, spanner.databases.select, spanner.instances.get, spanner.instances.list, spanner.sessions.create, spanner.sessions.get, spanner.sessions.list

Exporting data requires write access. For Spanner, this includes: spanner.databaseOperations.get, spanner.databases.get, spanner.databases.getDdl, spanner.databases.list, spanner.databases.select, spanner.databases.updateDdl, spanner.databases.write, spanner.instances.list, spanner.sessions.create, spanner.sessions.get

For official Spanner documentation about roles and permissions, click here. If you do not have these permissions, please contact your database admin.

Last updated