File: index.rst

package info (click to toggle)
python-globus-sdk 3.54.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,032 kB
  • sloc: python: 34,226; sh: 44; makefile: 31
file content (60 lines) | stat: -rw-r--r-- 2,668 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Creating a Guest Collection
===========================

Within the Globus Ecosystem, data is managed through the abstraction of *Collections*.
The example included on this page demonstrate how to create specifically a
*Guest Collection* using the Globus Python SDK. Guest collections, formerly known as
"Shares", are collections which provide access to a subdirectory of an existing
collection through a particular user or client's local permissions.

Guest collections are a great way to set up data automation. They may be scoped down
to a particular directory within an existing "Mapped Collection" and don't implicitly
inherit the same authorization timeout requirements as their parent Mapped Collection.
Once created, they can be shared to other users/entities, in effect giving another
entity access, through you, to some underlying data.

.. Warning::

    While guest collections don't implicitly inherit their parent mapped collection's
    authorization timeout in some cases they do or alternatively may be disabled
    entirely. This is a decision made by the endpoint owner, not Globus.

    Because requirements can vary so drastically between endpoints, we recommend
    consulting with the particular endpoint's documentation and/or owner to determine
    whether guest collections provide the desired level of access with the desired
    minimization of authorization.

.. Note::

    The scripts reference a globus hosted "tutorial" mapped collection. This is just
    to provide as simple of a functioning example out of the box as possible.

    For actual application, replace the IDs with the relevant collection and
    storage gateway IDs.


.. tab-set::

    .. tab-item:: User-owned Collection

        This script demonstrates how to create a guest collection owned by a human.

        It will prompt the user to authenticate through a browser and authorize the
        script to act on their behalf.

        .. literalinclude:: create_guest_collection_user_owned.py
            :caption: ``create_guest_collection_user_owned.py`` [:download:`download <create_guest_collection_user_owned.py>`]
            :language: python


    .. tab-item:: Client-owned Collection

        This script demonstrates how to create a guest collection owned by a client
        (i.e. a service account).

        It will automatically request and use client access tokens based on the supplied
        client ID and secret.

        .. literalinclude:: create_guest_collection_client_owned.py
            :caption: ``create_guest_collection_client_owned.py`` [:download:`download <create_guest_collection_client_owned.py>`]
            :language: python