Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi ActiveX) Google Cloud SQL - Stop Database InstanceDemonstrates how to stop a Google Cloud SQL database instance. For more information, see https://cloud.google.com/sql/docs/mysql/start-stop-restart-instance
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var sbToken: TChilkatStringBuilder; http: TChilkatHttp; success: Integer; json: TChilkatJsonObject; sbRequestBody: TChilkatStringBuilder; resp: IChilkatHttpResponse; sbResponseBody: TChilkatStringBuilder; jResp: TChilkatJsonObject; respStatusCode: Integer; kind: WideString; targetLink: WideString; status: WideString; user: WideString; insertTime: WideString; operationType: WideString; name: WideString; targetId: WideString; selfLink: WideString; targetProject: WideString; begin // 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.. sbToken := TChilkatStringBuilder.Create(Self); sbToken.LoadFile('qa_data/tokens/google_cloud_sql_access_token.txt','utf-8'); http := TChilkatHttp.Create(Self); // Implements the following CURL command: // curl -X PATCH \ // -H "Authorization: Bearer "$(gcloud auth print-access-token) \ // -H "Content-Type: application/json; charset=utf-8" \ // -d '{ // "settings": { // "activationPolicy": "NEVER" // } // }' \ // https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id // Use this online tool to generate code from sample JSON: // Generate Code to Create JSON // The following JSON is sent in the request body. // { // "settings": { // "activationPolicy": "NEVER" // } // } json := TChilkatJsonObject.Create(Self); json.UpdateString('settings.activationPolicy','NEVER'); // Causes the "Authorization: Bearer "$(gcloud auth print-access-token)" header to be added. http.AuthToken := sbToken.GetAsString(); http.SetRequestHeader('Content-Type','application/json; charset=utf-8'); sbRequestBody := TChilkatStringBuilder.Create(Self); json.EmitSb(sbRequestBody.ControlInterface); // 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".) resp := http.PTextSb('PATCH','https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id',sbRequestBody.ControlInterface,'utf-8','application/json',0,0); if (http.LastMethodSuccess = 0) then begin Memo1.Lines.Add(http.LastErrorText); Exit; end; sbResponseBody := TChilkatStringBuilder.Create(Self); resp.GetBodySb(sbResponseBody.ControlInterface); jResp := TChilkatJsonObject.Create(Self); jResp.LoadSb(sbResponseBody.ControlInterface); jResp.EmitCompact := 0; Memo1.Lines.Add('Response Body:'); Memo1.Lines.Add(jResp.Emit()); respStatusCode := resp.StatusCode; Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode)); if (respStatusCode = 401) then begin Memo1.Lines.Add('It may be that your access token expired.'); Memo1.Lines.Add('Try refreshing the access token by re-fetching it.'); end; if (respStatusCode >= 400) then begin Memo1.Lines.Add('Response Header:'); Memo1.Lines.Add(resp.Header); Memo1.Lines.Add('Failed.'); Exit; end; // Sample JSON response: // (Sample code for parsing the JSON response is shown below) // { // "kind": "sql#operation", // "targetLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", // "status": "PENDING", // "user": "user@example.com", // "insertTime": "2020-01-20T21:30:35.667Z", // "operationType": "UPDATE", // "name": "operation-id", // "targetId": "instance-id", // "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", // "targetProject": "project-id" // } // 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'); targetLink := jResp.StringOf('targetLink'); status := jResp.StringOf('status'); user := jResp.StringOf('user'); insertTime := jResp.StringOf('insertTime'); operationType := jResp.StringOf('operationType'); name := jResp.StringOf('name'); targetId := jResp.StringOf('targetId'); selfLink := jResp.StringOf('selfLink'); targetProject := jResp.StringOf('targetProject'); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.