Base Client

Base classes for client used to interact with Google Cloud APIs.

class google.cloud.client.Client(credentials=None, _http=None, client_options=None)

Bases: google.cloud.client._ClientFactoryMixin

Client to bundle configuration needed for API requests.

Stores credentials and an HTTP object so that subclasses can pass them along to a connection class.

If no value is passed in for _http, a requests.Session object will be created and authorized with the credentials. If not, the credentials and _http need not be related.

Callers and subclasses may seek to use the private key from credentials to sign data.

  • Parameters

    • credentials (google.auth.credentials.Credentials) – (Optional) The OAuth2 Credentials to use for this client. If not passed (and if no _http object is passed), falls back to the default inferred from the environment.

    • client_options (google.api_core.client_options.ClientOptions) – (Optional) Custom options for the client.

    • _http (requests.Session) – (Optional) HTTP object to make requests. Can be any object that defines request() with the same interface as requests.Session.request(). If not passed, an _http object is created that is bound to the credentials for the current object. This parameter should be considered private, and could change in the future.

  • Raises

    google.auth.exceptions.DefaultCredentialsError – Raised if credentials is not specified and the library fails to acquire default credentials.

SCOPE( = Non )

The scopes required for authenticating with a service.

Needs to be set by subclasses.

_getstate_()

Explicitly state that clients are not pickleable.

close()

Clean up transport, if set.

Suggested use:

import contextlib

with contextlib.closing(client):  # closes on exit
    do_something_with(client)

class google.cloud.client.ClientWithProject(project=None, credentials=None, client_options=None, _http=None)

Bases: google.cloud.client.Client, google.cloud.client._ClientProjectMixin

Client that also stores a project.

  • Parameters

    • project (str) – the project which the client acts on behalf of. If not passed falls back to the default inferred from the environment.

    • credentials (Credentials) – (Optional) The OAuth2 Credentials to use for this client. If not passed (and if no _http object is passed), falls back to the default inferred from the environment.

    • _http (Session) – (Optional) HTTP object to make requests. Can be any object that defines request() with the same interface as request(). If not passed, an _http object is created that is bound to the credentials for the current object. This parameter should be considered private, and could change in the future.

  • Raises

    ValueError if the project is neither passed in nor set in the environment.