极简谷歌存储客户端

gs的Python项目详细描述


gs是一个命令行界面(cli)和python库,它为 Google Cloud Storage。它是按照AWS CLI的aws s3命令建模的它的 特点是:

  • python 3兼容性
  • 最小依赖集
  • 小小的脚印
  • 没有浏览器登录提示的API凭据的直观约定驱动配置
  • 校验和验证,以确保上传和下载时端到端数据的完整性
  • 用于长期上载和下载操作的进度条
  • 可恢复的上载和下载
  • 多线程目录同步和批量删除,能够处理大量对象
  • 一个吸引人的分页和表格布局界面
  • 一种json对象元数据输出模式,用于向其他实用程序提供数据

安装

pip install gs

概要

用法:
gs [OPTIONS] COMMAND [ARGS]...
选项:
--versionShow the version and exit.
--helpShow 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)

作者

  • 安德烈·基斯利克

错误

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

许可证

根据麻省理工学院的许可条款授权。

https://travis-ci.com/chanzuckerberg/gs.pnghttps://img.shields.io/pypi/v/gs.svghttps://img.shields.io/pypi/l/gs.svghttps://codecov.io/gh/chanzuckerberg/gs/branch/master/graph/badge.svg

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ws-consumer服务地址中的java动态属性   java如何比较整数列表,然后按升序排序?   javascript我正在使用java脚本调用一个函数,但它没有调用代码下面的方法,也没有调用secretitnames()函数   在文本窗格中多次使用Java insertIcon图标   JavaMSAL安卓。AuthenticationActivity完成,但用于身份验证请求的线程池线程仍处于等待状态   if语句中的java多范围比较   java toString()表示输出   java如何在jcstrest测试中生成指令重新排序   java我怎样才能运行它?   web应用程序中使用Hibernate和Spring的java问题   如何将字符串数据写入Java文本文件   如何在java命令提示符下运行已签名的jar文件?   java从我的菜单调用RCP应用程序   java如何等待Canvas/GraphicsContext完成任务,然后再继续执行代码块?