List connections

List all connection metadata in a project.

Explore further

For detailed documentation that includes this code sample, see the following:

Code sample

Go

Before trying this sample, follow the Go setup instructions in the BigQuery quickstart using client libraries . For more information, see the BigQuery Go API reference documentation .

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

  // The bigquery_connection_quickstart application demonstrates basic usage of the 
 // BigQuery connection API. 
 package 
  
 main 
 import 
  
 ( 
  
 "bytes" 
  
 "context" 
  
 "flag" 
  
 "fmt" 
  
 "log" 
  
 "time" 
  
 connection 
  
 "cloud.google.com/go/bigquery/connection/apiv1" 
  
 "cloud.google.com/go/bigquery/connection/apiv1/connectionpb" 
  
 "google.golang.org/api/iterator" 
 ) 
 func 
  
 main 
 () 
  
 { 
  
 // Define two command line flags for controlling the behavior of this quickstart. 
  
 projectID 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "project_id" 
 , 
  
 "" 
 , 
  
 "Cloud Project ID, used for session creation." 
 ) 
  
 location 
  
 := 
  
 flag 
 . 
 String 
 ( 
 "location" 
 , 
  
 "US" 
 , 
  
 "BigQuery location used for interactions." 
 ) 
  
 // Parse flags and do some minimal validation. 
  
 flag 
 . 
 Parse 
 () 
  
 if 
  
 * 
 projectID 
  
 == 
  
 "" 
  
 { 
  
 log 
 . 
 Fatal 
 ( 
 "empty --project_id specified, please provide a valid project ID" 
 ) 
  
 } 
  
 if 
  
 * 
 location 
  
 == 
  
 "" 
  
 { 
  
 log 
 . 
 Fatal 
 ( 
 "empty --location specified, please provide a valid location" 
 ) 
  
 } 
  
 ctx 
  
 := 
  
 context 
 . 
 Background 
 () 
  
 connClient 
 , 
  
 err 
  
 := 
  
 connection 
 . 
  NewClient 
 
 ( 
 ctx 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalf 
 ( 
 "NewClient: %v" 
 , 
  
 err 
 ) 
  
 } 
  
 defer 
  
 connClient 
 . 
  Close 
 
 () 
  
 s 
 , 
  
 err 
  
 := 
  
 reportConnections 
 ( 
 ctx 
 , 
  
 connClient 
 , 
  
 * 
 projectID 
 , 
  
 * 
 location 
 ) 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 log 
 . 
 Fatalf 
 ( 
 "printCapacityCommitments: %v" 
 , 
  
 err 
 ) 
  
 } 
  
 fmt 
 . 
 Println 
 ( 
 s 
 ) 
 } 
 // reportConnections gathers basic information about existing connections in a given project and location. 
 func 
  
 reportConnections 
 ( 
 ctx 
  
 context 
 . 
 Context 
 , 
  
 client 
  
 * 
 connection 
 . 
  Client 
 
 , 
  
 projectID 
 , 
  
 location 
  
 string 
 ) 
  
 ( 
 string 
 , 
  
 error 
 ) 
  
 { 
  
 var 
  
 buf 
  
 bytes 
 . 
 Buffer 
  
 fmt 
 . 
 Fprintf 
 ( 
& buf 
 , 
  
 "Current connections defined in project %s in location %s:\n" 
 , 
  
 projectID 
 , 
  
 location 
 ) 
  
 req 
  
 := 
  
& connectionpb 
 . 
 ListConnectionsRequest 
 { 
  
 Parent 
 : 
  
 fmt 
 . 
 Sprintf 
 ( 
 "projects/%s/locations/%s" 
 , 
  
 projectID 
 , 
  
 location 
 ), 
  
 } 
  
 totalConnections 
  
 := 
  
 0 
  
 it 
  
 := 
  
 client 
 . 
 ListConnections 
 ( 
 ctx 
 , 
  
 req 
 ) 
  
 for 
  
 { 
  
 conn 
 , 
  
 err 
  
 := 
  
 it 
 . 
  Next 
 
 () 
  
 if 
  
 err 
  
 == 
  
 iterator 
 . 
 Done 
  
 { 
  
 break 
  
 } 
  
 if 
  
 err 
  
 != 
  
 nil 
  
 { 
  
 return 
  
 "" 
 , 
  
 err 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
& buf 
 , 
  
 "\tConnection %s was created %s\n" 
 , 
  
 conn 
 . 
 GetName 
 (), 
  
 unixMillisToTime 
 ( 
 conn 
 . 
 GetCreationTime 
 ()). 
 Format 
 ( 
 time 
 . 
 RFC822Z 
 )) 
  
 totalConnections 
 ++ 
  
 } 
  
 fmt 
 . 
 Fprintf 
 ( 
& buf 
 , 
  
 "\n%d connections processed.\n" 
 , 
  
 totalConnections 
 ) 
  
 return 
  
 buf 
 . 
 String 
 (), 
  
 nil 
 } 
 // unixMillisToTime converts epoch-millisecond representations used by the API into a time.Time representation. 
 func 
  
 unixMillisToTime 
 ( 
 m 
  
 int64 
 ) 
  
 time 
 . 
 Time 
  
 { 
  
 if 
  
 m 
  
 == 
  
 0 
  
 { 
  
 return 
  
 time 
 . 
 Time 
 {} 
  
 } 
  
 return 
  
 time 
 . 
 Unix 
 ( 
 0 
 , 
  
 m 
 * 
 1e6 
 ) 
 } 
 

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 .

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

  import 
  
 com.google.cloud.bigquery.connection.v1. ListConnectionsRequest 
 
 ; 
 import 
  
 com.google.cloud.bigquery.connection.v1. LocationName 
 
 ; 
 import 
  
 com.google.cloud.bigqueryconnection.v1. ConnectionServiceClient 
 
 ; 
 import 
  
 java.io.IOException 
 ; 
 // Sample to demonstrates basic usage of the BigQuery connection API. 
 public 
  
 class 
 QuickstartSample 
  
 { 
  
 public 
  
 static 
  
 void 
  
 main 
 ( 
 String 
 [] 
  
 args 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 // TODO(developer): Replace these variables before running the sample. 
  
 String 
  
 projectId 
  
 = 
  
 "MY_PROJECT_ID" 
 ; 
  
 String 
  
 location 
  
 = 
  
 "MY_LOCATION" 
 ; 
  
 listConnections 
 ( 
 projectId 
 , 
  
 location 
 ); 
  
 } 
  
 static 
  
 void 
  
 listConnections 
 ( 
 String 
  
 projectId 
 , 
  
 String 
  
 location 
 ) 
  
 throws 
  
 IOException 
  
 { 
  
 try 
  
 ( 
  ConnectionServiceClient 
 
  
 connectionServiceClient 
  
 = 
  
  ConnectionServiceClient 
 
 . 
 create 
 ()) 
  
 { 
  
  LocationName 
 
  
 parent 
  
 = 
  
  LocationName 
 
 . 
 of 
 ( 
 projectId 
 , 
  
 location 
 ); 
  
 int 
  
 pageSize 
  
 = 
  
 10 
 ; 
  
  ListConnectionsRequest 
 
  
 request 
  
 = 
  
  ListConnectionsRequest 
 
 . 
 newBuilder 
 () 
  
 . 
 setParent 
 ( 
 parent 
 . 
  toString 
 
 ()) 
  
 . 
  setPageSize 
 
 ( 
 pageSize 
 ) 
  
 . 
 build 
 (); 
  
  ConnectionServiceClient 
 
 . 
  ListConnectionsPagedResponse 
 
  
 response 
  
 = 
  
 connectionServiceClient 
 . 
 listConnections 
 ( 
 request 
 ); 
  
 // Print the results. 
  
 System 
 . 
 out 
 . 
 println 
 ( 
 "List of connections:" 
 ); 
  
 response 
  
 . 
 iterateAll 
 () 
  
 . 
 forEach 
 ( 
 connection 
  
 - 
>  
 System 
 . 
 out 
 . 
 println 
 ( 
 "Connection Name: " 
  
 + 
  
 connection 
 . 
 getName 
 ())); 
  
 } 
  
 } 
 } 
 

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 .

  // Imports the Google Cloud client library 
 const 
  
 { 
  
 ConnectionServiceClient 
 , 
 } 
  
 = 
  
 require 
 ( 
 ' @google-cloud/bigquery-connection 
' 
 ); 
 // Creates a client 
 const 
  
 client 
  
 = 
  
 new 
  
  ConnectionServiceClient 
 
 (); 
 // project = 'my-project' // Project to list connections for. 
 const 
  
 parent 
  
 = 
  
 `projects/ 
 ${ 
 project 
 } 
 /locations/US` 
 ; 
 async 
  
 function 
  
 listConnections 
 () 
  
 { 
  
 const 
  
 [ 
 connections 
 ] 
  
 = 
  
 await 
  
 client 
 . 
 listConnections 
 ({ 
  
 parent 
 : 
  
 parent 
 , 
  
 }); 
  
 console 
 . 
 info 
 ( 
 `found 
 ${ 
 connections 
 . 
 length 
 } 
 connections:` 
 ); 
  
 console 
 . 
 info 
 ( 
 connections 
 ); 
 } 
 const 
  
 listConnectionsResponse 
  
 = 
  
 listConnections 
 (); 
 

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.cloud 
  
 import 
 bigquery_connection_v1 
 as 
 bq_connection 
 def 
  
 main 
 ( 
 project_id 
 : 
 str 
 = 
 "your-project-id" 
 , 
 location 
 : 
 str 
 = 
 "US" 
 , 
 transport 
 : 
 str 
 = 
 "grpc" 
 ) 
 - 
> None 
 : 
  
 """Prints details and summary information about connections for a given admin project and location""" 
 client 
 = 
 bq_connection 
 . 
 ConnectionServiceClient 
 ( 
 transport 
 = 
 transport 
 ) 
 print 
 ( 
 f 
 "List of connections in project 
 { 
 project_id 
 } 
 in location 
 { 
 location 
 } 
 " 
 ) 
 req 
 = 
 bq_connection 
 . 
 ListConnectionsRequest 
 ( 
 parent 
 = 
 client 
 . 
 common_location_path 
 ( 
 project_id 
 , 
 location 
 ) 
 ) 
 for 
 connection 
 in 
 client 
 . 
 list_connections 
 ( 
 request 
 = 
 req 
 ): 
 print 
 ( 
 f 
 " 
 \t 
 Connection 
 { 
 connection 
 . 
 friendly_name 
 } 
 ( 
 { 
 connection 
 . 
 name 
 } 
 )" 
 ) 
 

What's next

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

Design a Mobile Site
View Site in Mobile | Classic
Share by: