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 asrequests.Session.request()
. If not passed, an_http
object is created that is bound to thecredentials
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 definesrequest()
with the same interface asrequest()
. If not passed, an_http
object is created that is bound to thecredentials
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.