From 2d75fbd38b9504cb49b88d986ab4d833e379eb10 Mon Sep 17 00:00:00 2001 From: Mayur Kale Date: Mon, 20 Apr 2026 13:25:49 +0530 Subject: [PATCH] chore(spanner): Add support for experimental endpoint --- spanner/spanner_snippets/snippet.go | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/spanner/spanner_snippets/snippet.go b/spanner/spanner_snippets/snippet.go index 5192462446..302975ada4 100644 --- a/spanner/spanner_snippets/snippet.go +++ b/spanner/spanner_snippets/snippet.go @@ -30,6 +30,9 @@ import ( "cloud.google.com/go/spanner" "google.golang.org/api/iterator" + "google.golang.org/api/option" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "cloud.google.com/go/iam/apiv1/iampb" database "cloud.google.com/go/spanner/admin/database/apiv1" @@ -824,14 +827,25 @@ func run(ctx context.Context, w io.Writer, cmd string, db string, arg string) er cfg := spanner.ClientConfig{ DatabaseRole: databaseRole, } + opts := []option.ClientOption{} - adminClient, err := database.NewDatabaseAdminClient(ctx) + endpoint := os.Getenv("EXPERIMENTAL_HOST") + if endpoint != "" { + opts = append(opts, + option.WithEndpoint(endpoint), + option.WithGRPCDialOption(grpc.WithTransportCredentials(insecure.NewCredentials())), + option.WithoutAuthentication(), + ) + cfg.IsExperimentalHost = true + } + + adminClient, err := database.NewDatabaseAdminClient(ctx, opts...) if err != nil { log.Fatal(err) } defer adminClient.Close() - dataClient, err := spanner.NewClientWithConfig(ctx, db, cfg) + dataClient, err := spanner.NewClientWithConfig(ctx, db, cfg, opts...) if err != nil { log.Fatal(err) }