Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Google Cloud SQL - Get Instance InformationDemonstrates how to get information about your Cloud SQL instances, including instance summary information, usage data, operation logs, and database logs. For more information, see https://cloud.google.com/sql/docs/mysql/instance-info
' This example assumes the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' In this example, Get Google Cloud SQL OAuth2 Access Token, ' the service account access token was saved to a text file. This example fetches the access token from the file.. Dim sbToken As Chilkat.StringBuilder Set sbToken = Chilkat.NewStringBuilder Dim success As Boolean success = sbToken.LoadFile("qa_data/tokens/google_cloud_sql_access_token.txt","utf-8") Dim http As Chilkat.Http Set http = Chilkat.NewHttp ' Implements the following CURL command: ' curl -X GET \ ' -H "Authorization: Bearer access-token" \ ' https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id ' Use the following online tool to generate HTTP code from a CURL command ' Convert a cURL Command to HTTP Source Code ' Causes the "Authorization: Bearer "$(gcloud auth print-access-token)" header to be added. http.AuthToken = sbToken.GetAsString() ' Replace "project-id" with your actual Google project ID. ' Replace "instance-id" with your database instance ID, which is the name of your database. (For example, when I created my test database I named it "chilkat", and therefore my instance-id is "chilkat".) Dim sbResponseBody As Chilkat.StringBuilder Set sbResponseBody = Chilkat.NewStringBuilder success = http.QuickGetSb("https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",sbResponseBody) If (success = False) Then Debug.Print http.LastErrorText Exit Sub End If Dim jResp As Chilkat.JsonObject Set jResp = Chilkat.NewJsonObject success = jResp.LoadSb(sbResponseBody) jResp.EmitCompact = False Debug.Print "Response Body:" Debug.Print jResp.Emit() respStatusCode = http.LastStatus Debug.Print "Response Status Code = "; respStatusCode If (respStatusCode = 401) Then Debug.Print "It may be that your access token expired." Debug.Print "Try refreshing the access token by re-fetching it." End If If (respStatusCode >= 400) Then Debug.Print "Response Header:" Debug.Print http.LastHeader Debug.Print "Failed." Exit Sub End If ' Sample JSON response: ' (Sample code for parsing the JSON response is shown below) ' { ' "kind": "sql#instance", ' "state": "RUNNABLE", ' "databaseVersion": "MYSQL_5_7", ' "settings": { ' "authorizedGaeApplications": [ ' ], ' "tier": "db-f1-micro", ' "kind": "sql#settings", ' "pricingPlan": "PER_USE", ' "replicationType": "SYNCHRONOUS", ' "activationPolicy": "ALWAYS", ' "ipConfiguration": { ' "authorizedNetworks": [ ' ], ' "ipv4Enabled": true ' }, ' "locationPreference": { ' "zone": "asia-east1-a", ' "kind": "sql#locationPreference" ' }, ' "dataDiskType": "PD_SSD", ' "backupConfiguration": { ' "startTime": "08:00", ' "kind": "sql#backupConfiguration", ' "enabled": true, ' "pointInTimeEnabled": true ' }, ' "settingsVersion": "13", ' "storageAutoResizeLimit": "0", ' "storageAutoResize": true, ' "dataDiskSizeGb": "10" ' }, ' "etag": "etag-id", ' "ipAddresses": [ ' { ' "type": "PRIMARY", ' "ipAddress": "10.0.0.1" ' } ' ], ' "serverCaCert": { ' "kind": "sql#sslCert", ' "certSerialNumber": "0", ' "cert": "certificate-id", ' "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id", ' "sha1Fingerprint": "sha-id", ' "instance": "instance-id", ' "createTime": "2019-06-28T22:46:35.052Z", ' "expirationTime": "2029-06-25T22:47:35.052Z" ' }, ' "instanceType": "CLOUD_SQL_INSTANCE", ' "project": "project-id", ' "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com", ' "backendType": "SECOND_GEN", ' "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", ' "connectionName": "project-id:region:instance-id", ' "name": "instance-id", ' "region": "asia-east1", ' "gceZone": "asia-east1-a" ' } ' Sample code for parsing the JSON response... ' Use the following online tool to generate parsing code from sample JSON: ' Generate Parsing Code from JSON kind = jResp.StringOf("kind") state = jResp.StringOf("state") databaseVersion = jResp.StringOf("databaseVersion") settingsTier = jResp.StringOf("settings.tier") settingsKind = jResp.StringOf("settings.kind") settingsPricingPlan = jResp.StringOf("settings.pricingPlan") settingsReplicationType = jResp.StringOf("settings.replicationType") settingsActivationPolicy = jResp.StringOf("settings.activationPolicy") settingsIpConfigurationIpv4Enabled = jResp.BoolOf("settings.ipConfiguration.ipv4Enabled") settingsLocationPreferenceZone = jResp.StringOf("settings.locationPreference.zone") settingsLocationPreferenceKind = jResp.StringOf("settings.locationPreference.kind") settingsDataDiskType = jResp.StringOf("settings.dataDiskType") settingsBackupConfigurationStartTime = jResp.StringOf("settings.backupConfiguration.startTime") settingsBackupConfigurationKind = jResp.StringOf("settings.backupConfiguration.kind") settingsBackupConfigurationEnabled = jResp.BoolOf("settings.backupConfiguration.enabled") settingsBackupConfigurationPointInTimeEnabled = jResp.BoolOf("settings.backupConfiguration.pointInTimeEnabled") settingsSettingsVersion = jResp.StringOf("settings.settingsVersion") settingsStorageAutoResizeLimit = jResp.StringOf("settings.storageAutoResizeLimit") settingsStorageAutoResize = jResp.BoolOf("settings.storageAutoResize") settingsDataDiskSizeGb = jResp.StringOf("settings.dataDiskSizeGb") etag = jResp.StringOf("etag") serverCaCertKind = jResp.StringOf("serverCaCert.kind") serverCaCertCertSerialNumber = jResp.StringOf("serverCaCert.certSerialNumber") serverCaCertCert = jResp.StringOf("serverCaCert.cert") serverCaCertCommonName = jResp.StringOf("serverCaCert.commonName") serverCaCertSha1Fingerprint = jResp.StringOf("serverCaCert.sha1Fingerprint") serverCaCertInstance = jResp.StringOf("serverCaCert.instance") serverCaCertCreateTime = jResp.StringOf("serverCaCert.createTime") serverCaCertExpirationTime = jResp.StringOf("serverCaCert.expirationTime") instanceType = jResp.StringOf("instanceType") project = jResp.StringOf("project") serviceAccountEmailAddress = jResp.StringOf("serviceAccountEmailAddress") backendType = jResp.StringOf("backendType") selfLink = jResp.StringOf("selfLink") connectionName = jResp.StringOf("connectionName") name = jResp.StringOf("name") region = jResp.StringOf("region") gceZone = jResp.StringOf("gceZone") i = 0 count_i = jResp.SizeOfArray("settings.authorizedGaeApplications") Do While i < count_i jResp.I = i i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("settings.ipConfiguration.authorizedNetworks") Do While i < count_i jResp.I = i i = i + 1 Loop i = 0 count_i = jResp.SizeOfArray("ipAddresses") Do While i < count_i jResp.I = i v_type = jResp.StringOf("ipAddresses[i].type") ipAddress = jResp.StringOf("ipAddresses[i].ipAddress") i = i + 1 Loop |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.