极简谷歌存储客户端
gs的Python项目详细描述
gs是一个命令行界面(cli)和python库,它为 Google Cloud Storage。它是按照AWS CLI的aws s3命令建模的它的 特点是:
- python 3兼容性
- 最小依赖集
- 小小的脚印
- 没有浏览器登录提示的API凭据的直观约定驱动配置
- 校验和验证,以确保上传和下载时端到端数据的完整性
- 用于长期上载和下载操作的进度条
- 可恢复的上载和下载
- 多线程目录同步和批量删除,能够处理大量对象
- 一个吸引人的分页和表格布局界面
- 一种json对象元数据输出模式,用于向其他实用程序提供数据
安装
pip install gs
概要
- 用法:
- gs [OPTIONS] COMMAND [ARGS]...
- 选项:
--version Show the version and exit. --help Show this message and exit. - 命令:
^{tt3}$ Set gs config options, including the API key. ^{tt4}$ List buckets or objects in a bucket/prefix. ^{tt5}$ Copy files to, from, or between buckets. ^{tt6}$ Move files to, from, or between buckets. ^{tt7}$ Create a new Google Storage bucket. ^{tt8}$ Permanently delete an empty bucket. ^{tt9}$ Delete objects (files) from buckets. ^{tt10}$ Sync a directory of files with bucket/prefix. ^{tt11}$ Use httpie to perform a raw HTTP API request. ^{tt12}$ Get a pre-signed URL for accessing an object.
运行gs configure配置将由 gs命令。您可以在https://console.cloud.google.com/iam-admin/serviceaccounts处创建新的服务帐户密钥。
凭证
在进行api调用之前,gs按以下优先级顺序接收api凭据:
- 首先,gs检查是否设置了GOOGLE_APPLICATION_CREDENTIALS环境变量如果是,它会尝试加载和使用 来自该变量引用的服务帐户凭据文件名的凭据。
- 如果未设置该变量,gs将尝试加载以前使用^{tt3}配置的服务帐户凭据$ (存储在~/.config/gs/config.json中)。
- 如果失败,gs尝试从 Google instance metadata
- 如果失败,gs放弃并打印错误。
使用python库接口
fromgsimportGSClientclient=GSClient()object_meta=client.get("b/my-bucket/o/my-object")withclient.get("b/my-bucket/o/my-object",params=dict(alt="media"),stream=True)asres:object_bytes=res.raw.read()presigned_url=client.get_presigned_url("my-bucket","my-object",expires_at=time.time()+3600)