プロジェクトの API キーを GLAC_API_KEY に設定し、glac か Python SDK をインストールしておく必要があります。方法ははじめににあります。
コマンドラインで
最大 1 GiB のドライブ(無料プランでは最大 10 GiB、有料プランでは最大 1 TiB まで作れます)と、それを /data にマウントするサンドボックスを作成します。--region na|eu|ap で場所を指定でき、指定しなければ、呼び出す API のリージョンに作られます。
glac drives create --name data --size-bytes 1GiB
glac sandboxes create --name first --drive data:/data
glac sandboxes exec first -- sh -c 'echo kept > /data/note'そのサンドボックスから外し、実行中の別のサンドボックスに渡します。
glac drives detach data first
glac sandboxes create --name second
glac drives attach data second:/data
glac sandboxes exec second -- cat /data/note # kept確認して、後片付けをします。
glac drives ls # each Drive: its size, what is written, its region, who has it
glac drives get data # and the machine that writes it now
glac sandboxes rm first second # the Drive stays
glac drives rm dataドライブは一度に 1 つのサンドボックスのものです。ほかのサンドボックスが持っているドライブのアタッチは拒否されます(409 drive_attached)。サンドボックスを削除するとドライブはデタッチされ、中身は保持されます。マウント中のドライブは削除されません。
Python SDK で
from glac import DriveMount, Glac
glac = Glac() # GLAC_API_KEY and GLAC_API_URL
drive = glac.drives.create(name="data", size_bytes=1 << 30) # region="eu" to choose where
first = glac.sandboxes.create(drives=[DriveMount("/data", drive)])
first.run("echo kept > /data/note")
glac.drives.detach(first, drive)
second = glac.sandboxes.create()
glac.drives.attach(second, drive, "/data")
print(second.run("cat /data/note").stdout) # kept
print(glac.drives.get("data").used_bytes) # what it is billed by
first.delete()
second.delete() # detaches it
drive.delete()最後に別のマシンが持っていたドライブは、先にサンドボックスのマシンに運ばれます。それがまだできない間、呼び出しは retryable の 503 copy_behind か drive_not_brought を返します。SDK は retries の指定どおりに再試行し、それでも失敗すれば例外を送出するので、少し後に再度要求してください。
コンソールで
[コンソール](https://console.glac.ai/console/)を開き、プロジェクトを選んで、Storage の下の Drives を選びます。このページには、プロジェクトのドライブが一覧表示されます。名前、種類(ドライブ、またはキーのドライブ)、サイズ、書き込まれた量、持っているサンドボックス、リージョン、ステータス、作成日時です。ドライブの作成、マウント、削除はコマンドラインか API で行います。
次のステップ
- ドライブの仕組み:ドライブを持つキューブ、唯一の書き込み元、リージョン、課金。
- スナップショットとフォーク:ドライブの現在の状態の保持、復元、フォーク、読み取り専用のマウント。
- 共有ボリュームとバックアップ