Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions docs/integrations/spanner.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,3 +142,48 @@ The `SpannerVectorStoreSettings` class used above defines how
as `COSINE` or `EUCLIDEAN`.
- **`additional_filter`**: An optional SQL filter string to apply during the
search, for example: "inventoryCount > 0".

## Spanner Admin Toolset

The `SpannerAdminToolset` enables administrative operations on your Spanner instances and databases.

### Available tools

* **`list_instances`**: Lists Spanner instances within a project.
* **`get_instance`**: Retrieves details of a Spanner instance.
* **`create_database`**: Creates a new Spanner database.
* **`list_databases`**: Lists Spanner databases within an instance.
* **`create_instance`**: Creates a new Spanner instance.
* **`list_instance_configs`**: Lists available Spanner instance configs.
* **`get_instance_config`**: Retrieves details of a Spanner instance config.

### Configuration

Set your required environment variables before using this toolset:

- `SPANNER_PROJECT`: The GCP project ID for operations.
- `SPANNER_INSTANCE` (Optional): The default Spanner instance ID.
- `SPANNER_DATABASE` (Optional): The default database ID.

!!! note "Authentication"

Authentication uses Application Default Credentials (ADC). Ensure the calling principal has appropriate IAM roles, such as roles/spanner.admin.

```python
from google.adk.agents import LlmAgent
from google.adk.tools.spanner import SpannerAdminToolset

# Initialize the Spanner admin toolset
spanner_admin_tools = SpannerAdminToolset()

# Register the toolset with your agent, ensuring model and instructions are provided
agent = LlmAgent(
name="SpannerAdminAgent",
model="gemini-flash-latest",
instruction=(
"You are a helpful database administrator. Use the SpannerAdminToolset "
"to manage and query Spanner instances and databases in the project."
),
tools=[spanner_admin_tools]
)
```
Loading