The Cloud SQL Admin API is built on HTTP and JSON, so any standard HTTP client can send requests to it and parse the responses. However, instead of creating HTTP requests and parsing responses manually, you may want to use the Google APIs client libraries. The client libraries provide better language integration, improved security, and support for making calls that require user authorization.
Las bibliotecas cliente pueden usar las credenciales predeterminadas de la aplicación para autenticarse fácilmente con las API de Google y enviar solicitudes a esas API. Con las credenciales predeterminadas de la aplicación, puedes probar tu aplicación de forma local y, luego, implementarla sin cambiar el código subyacente. Para obtener más información, incluso muestras de código, consulta la guía de autenticación de Google Cloud Platform.
Application Default Credentials are part of the client libraries you can use to
access Cloud SQL. Default credentials identify your application with either a
user credential or a default service account. When working with a library, it's
typical to choose credentials based on the type of environment where
you run code. For example, in a development environment, you can authenticate
with the gcloud auth
command and the client libraries will use those
credentials. For more information about environments, see
Authentication overview in the Google Cloud Platform Auth Guide.
Accessing the service
Depending on the Cloud SQL Admin API client library you use, you may need to
configure how the library discovers the default service path. For client
libraries that use the Google APIs Discovery Service, use the API name
sqladmin
to build a client. This includes libraries for Python and JavaScript.
The following code snippets show how to create a client and list Cloud SQL instances in a project.
Go
For the Client Library for Go,
import the sqladmin
package.
Java
For the Client Library for Java, you can optionally specify the service path directly.
// Set up global SQLAdmin instance. client = new SQLAdmin.Builder(httpTransport, JSON_FACTORY, credential) .setServicePath("sql/v1beta4/") .setApplicationName(APPLICATION_NAME).build(); InstancesListResponse resp = client.instances().list("PROJECT_ID").execute(); List<DatabaseInstance> list = resp.getItems(); for (DatabaseInstance d : list) { System.out.println(d.getName()); }
JavaScript
For the Client Library for JavaScript,
specify sqladmin
to build a client.
gapi.client.load('sqladmin', 'v1beta4', function() { console.log('loaded');}); gapi.client.sql.instances.list({'project': PROJECT_ID}).execute(showResult); function showResult(result) { // Process the result. };
Python
For the Client Library for Python,
specify sqladmin
to build a client.
# Construct the service object for the interacting with the Cloud SQL Admin API. service = discovery.build('sqladmin', 'v1beta4', http=http) req = service.instances().list(project="PROJECT_ID") resp = req.execute() print json.dumps(resp, indent=2)
The service
object queries the discovery document and use the correct
service path, in this case, "sql/v1beta4/projects/".
If you are looking for code samples that show how applications can connect to Cloud SQL, see Connecting from external applications.