GCS Collection Client

The GCSCollectionClient class provides an interface for collections, as resource servers. It should not be confused with globus_sdk.GCSClient, which provides an interface to GCS Endpoints.

class globus_sdk.experimental.gcs_collection_client.GCSCollectionClient(collection_id, collection_address, *, environment=None, app=None, app_scopes=None, authorizer=None, app_name=None, transport=None, retry_config=None)[source]

A client for interacting directly with a GCS Collection. Typically for HTTPS upload/download via HTTPS-enabled collections.

Parameters:
  • collection_id (str | uuid.UUID) – The ID of the collection.

  • collection_address (str) – The URL of the collection, as might be retrieved from the https_server field in Globus Transfer.

  • app (globus_sdk.GlobusApp | None) – A GlobusApp which will be used for handling authorization and storing and validating tokens. Passing an app will automatically include a client’s default scopes in the app’s scope requirements unless specific app_scopes are given. If app_name is not given, the app’s app_name will be used. Mutually exclusive with authorizer.

  • app_scopes (list[globus_sdk.scopes.Scope] | None) – Optional list of Scope objects to be added to app’s scope requirements instead of default_scope_requirements. Requires app.

  • authorizer (GlobusAuthorizer | None) – A GlobusAuthorizer which will generate Authorization headers. Mutually exclusive with app.

  • app_name (str | None) – Optional “nice name” for the application. Has no bearing on the semantics of client actions. It is just passed as part of the User-Agent string, and may be useful when debugging issues with the Globus Team. If both``app`` and app_name are given, this value takes priority.

  • base_url – The URL for the service. Most client types initialize this value intelligently by default. Set it when inheriting from BaseClient or communicating through a proxy. This value takes precedence over the class attribute of the same name.

  • transport (globus_sdk.transport.RequestsTransport | None) – A RequestsTransport object for sending and retrying requests. By default, one will be constructed by the client.

  • retry_config (globus_sdk.transport.RetryConfig | None) – A RetryConfig object with parameters to control request retry behavior. By default, one will be constructed by the client.

scopes: GCSCollectionScopes = <globus_sdk.experimental.gcs_collection_client._GCSCollectionScopesClassStub object>

the scopes for this client may be present as a ScopeCollection

property default_scope_requirements: list[Scope]

Scopes that will automatically be added to this client’s app’s scope_requirements during _finalize_app.

For clients with static scope requirements this can just be a static value. Clients with dynamic requirements should use @property and must return sane results while the Base Client is being initialized.