Client Options¶
Client options class.
Client options provide a consistent interface for user options to be defined across clients.
You can pass a client options object to a client.
from google.api_core.client_options import ClientOptions
from google.cloud.vision_v1 import ImageAnnotatorClient
def get_client_cert():
# code to load client certificate and private key.
return client_cert_bytes, client_private_key_bytes
options = ClientOptions(api_endpoint="foo.googleapis.com",
client_cert_source=get_client_cert)
client = ImageAnnotatorClient(client_options=options)
You can also pass a mapping object.
from google.cloud.vision_v1 import ImageAnnotatorClient
client = ImageAnnotatorClient(
client_options={
"api_endpoint": "foo.googleapis.com",
"client_cert_source" : get_client_cert
})
- class google.api_core.client_options.ClientOptions(api_endpoint: Optional[str] = None, client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, client_encrypted_cert_source: Optional[Callable[[], Tuple[str, str, bytes]]] = None, quota_project_id: Optional[str] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, api_key: Optional[str] = None, api_audience: Optional[str] = None, universe_domain: Optional[str] = None)[source]¶
Bases:
object
Client Options used to set options on clients.
- Parameters
api_endpoint (Optional[str]) – The desired API endpoint, e.g., compute.googleapis.com
client_cert_source (Optional[Callable[[], Tuple[bytes, bytes]]]) – A callback which returns client certificate bytes and private key bytes both in PEM format.
client_cert_source
andclient_encrypted_cert_source
are mutually exclusive.client_encrypted_cert_source (Optional[Callable[[], Tuple[str, str, bytes]]]) – A callback which returns client certificate file path, encrypted private key file path, and the passphrase bytes.``client_cert_source`` and
client_encrypted_cert_source
are mutually exclusive.quota_project_id (Optional[str]) – A project name that a client’s quota belongs to.
credentials_file (Optional[str]) –
A path to a file storing credentials.
credentials_file` and ``api_key
are mutually exclusive.Warning
Important: If you accept a credential configuration (credential JSON/File/Stream) from an external source for authentication to Google Cloud Platform, you must validate it before providing it to any Google API or client library. Providing an unvalidated credential configuration to Google APIs or libraries can compromise the security of your systems and data. For more information, refer to Validate credential configurations from external sources.
https://cloud.google.com/docs/authentication/external/externally-sourced-credentials
scopes (Optional[Sequence[str]]) – OAuth access token override scopes.
api_key (Optional[str]) – Google API key.
credentials_file
andapi_key
are mutually exclusive.api_audience (Optional[str]) – The intended audience for the API calls to the service that will be set when using certain 3rd party authentication flows. Audience is typically a resource identifier. If not set, the service endpoint value will be used as a default. An example of a valid
api_audience
is: “https://language.googleapis.com”.universe_domain (Optional[str]) – The desired universe domain. This must match the one in credentials. If not set, the default universe domain is googleapis.com. If both api_endpoint and universe_domain are set, then api_endpoint is used as the service endpoint. If api_endpoint is not specified, the format will be {service}.{universe_domain}.
- Raises
ValueError – If both
client_cert_source
andclient_encrypted_cert_source
are provided, or bothcredentials_file
andapi_key
are provided.
- google.api_core.client_options.from_dict(options: Mapping[str, object]) google.api_core.client_options.ClientOptions [source]¶
Construct a client options object from a mapping object.
- Parameters
options (collections.abc.Mapping) – A mapping object with client options. See the docstring for ClientOptions for details on valid arguments.