跳转到主要内容

一个极简的Google Storage客户端

项目描述

gs 是一个命令行界面(CLI)和Python库,提供了一组基本的命令用于 Google Cloud Storage。它模仿了AWS CLI的 aws s3 命令。其功能包括

  • Python 3兼容性

  • 最小化依赖集

  • 小体积

  • 直观的约定驱动的API凭据配置,无需浏览器登录提示

  • 校验和验证以确保上传和下载的端到端数据完整性

  • 进度条,用于长时间运行的上传和下载操作

  • 可恢复的上传和下载

  • 多线程目录同步和批量删除,可处理大量对象

  • 吸引人的分页和表格布局界面

  • JSON对象元数据输出模式,用于将数据馈送到其他实用程序

安装

pip install gs

概要

用法

gs [OPTIONS] COMMAND [ARGS]...

选项
--version

显示版本并退出。

--help

显示此信息并退出。

命令

gs configure

设置gs配置选项,包括API密钥。

gs ls

列出存储桶或存储桶/前缀中的对象。

gs cp

在存储桶之间复制文件。

gs mv

在存储桶之间移动文件。

gs mb

创建一个新的Google Storage存储桶。

gs rb

永久删除空存储桶。

gs rm

从存储桶中删除对象(文件)。

gs sync

将文件目录与存储桶/前缀同步。

gs api

使用httpie执行原始HTTP API请求。

gs presign

获取访问对象的预签名URL。

运行 gs configure 以配置将被 gs 命令使用的 Google 服务帐户访问凭证。您可以在 https://console.cloud.google.com/iam-admin/serviceaccounts 创建新的服务帐户密钥。

凭证

在调用 API 之前,gs 会按照以下优先级顺序获取 API 凭证

  • 首先,gs 检查是否设置了 GOOGLE_APPLICATION_CREDENTIALS 环境变量。如果是,它将尝试加载并使用该变量引用的服务帐户凭证文件名中的凭证。

  • 如果该变量未设置,gs 将尝试加载先前使用 gs configure 配置的服务帐户凭证(存储在 ~/.config/gs/config.json 中)。

  • 如果失败,gs 将尝试从 Google 实例元数据 加载服务帐户 API 令牌。

  • 如果失败,gs 将显示警告并尝试匿名进行 API 请求 anonymously

使用 Python 库接口

from gs import GSClient
client = GSClient()
object_meta = client.get("b/my-bucket/o/my-object")
with client.get("b/my-bucket/o/my-object", params=dict(alt="media"), stream=True) as res:
    object_bytes = res.raw.read()
presigned_url = client.get_presigned_url("my-bucket", "my-object", expires_at=time.time()+3600)

作者

  • Andrey Kislyuk

错误

请在 GitHub 上报告错误、问题、功能请求等。

许可证

根据 MIT 许可证条款许可。

https://travis-ci.cn/kislyuk/gs.png https://img.shields.io/pypi/v/gs.svg https://img.shields.io/pypi/l/gs.svg https://codecov.io/gh/kislyuk/gs/branch/master/graph/badge.svg

项目详情


下载文件

下载适合您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。

源分发

gs-1.1.1.tar.gz (26.6 kB 查看哈希值)

上传时间

构建分发

gs-1.1.1-py2.py3-none-any.whl (27.4 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者