Google Cloud Platform友好型飞行员
项目描述
Google Cloud Pilot
安装
pip安装gcp-pilot
某些API需要额外的包,因此您必须使用extras
来添加它们
- Cloud Tasks:
pip install gcp-pilot[tasks]
- Cloud Build:
pip install gcp-pilot[build]
- Cloud Storage:
pip install gcp-pilot[storage]
- Big Query:
pip install gcp-pilot[bigquery]
- 语音:
pip install gcp-pilot[speech]
- 电子表格:
pip install gcp-pilot[sheets]
- Pub/Sub:
pip install gcp-pilot[pubsub]
- Datastore:
pip install gcp-pilot[datastore]
- Cloud DNS:
pip install gcp-pilot[dns]
- Secret Manager:
pip install gcp-pilot[secret]
- Healthcare Engine:
pip install gcp-pilot[healthcare]
- IAM:
pip install gcp-pilot[iam]
用法
from gcp_pilot.resource import ResourceManager
grm = ResourceManager()
默认值
凭证
gcp-pilot
使用 ADC 来检测凭证。这意味着您必须有以下配置之一
- 环境变量
GOOGLE_APPLICATION_CREDENTIALS
指向包含凭证的 JSON 文件 - 在 GCP 内运行(计算引擎、Cloud Run、GKE、AppEngine),将使用机器的凭证
- 在执行
gcloud auth application-default login
登录后本地运行
您还可以使用环境变量 DEFAULT_SERVICE_ACCOUNT
全局设置服务帐户,这将需要模拟。
项目
创建客户端时,将使用凭证所属的项目定义默认项目。
支持管理其他项目的资源的客户端可以按调用进行覆盖。
示例:您使用来自
project_a
的凭证创建一个BigQuery
客户端。所有调用都将查询project_a
的数据集,除非在调用时传递另一个项目作为参数。
您还可以使用环境变量 DEFAULT_PROJECT
全局设置项目
位置
与默认项目非常相似,默认位置是通过使用项目的位置来定义的。如果您曾经启用过 AppEngine,则项目位置将存在,因此您当时必须设置位置。否则,将不设置默认位置。
您还可以使用环境变量 DEFAULT_LOCATION
全局设置位置,并在创建客户端时减少 API 调用的数量。
为什么使用 gcp-pilot
“既然 Google 已经有一个 通用 API 客户端 和这么多 特定客户端,为什么我还要使用这个库?”
Google 有两种类型的客户端
- 专用:为 API 定制制作。它们非常出色:它们使用友好的方法实现了与 API 的高级交互。《gcp-pilot》通过处理身份验证、友好的错误和参数回退增加了其价值。
- 通用:一个可以动态调用任何 REST API 的单一客户端。它们很难使用:非常具体的调用必须从文档中转换。在所有上述优点之上,《gcp-pilot》很有用,可以添加高级交互,例如
Calendar.create_event
。
参数回退
大多数 API 端点都需要 project_id
(有时甚至需要 project_number
)和 location
。
因此,《gcp-pilot》会自动为您检测这些值,基于您的凭证(尽管它将需要额外的权限和 API 调用)。
如果您使用多个项目,并且您的凭证访问其他项目,您仍然可以自定义每个调用的参数,以避免默认回退。
友好的错误
大多数 API 返回一个通用的 HttpException
,它包含一个嵌入的错误输出负载,并且这些负载有几个不同的结构。
因此,《gcp-pilot》尽其所能将这些异常转换为更友好的异常,例如 NotFound
、AlreadyExists
和 NotAllowed
。
这将更容易捕获这些异常并按其类型进行处理。
识别功能
- 身份验证:每个客户端使用 ADC,它包括尝试检测具有回退的服务帐户:SDK > 环境变量 > 元数据
- 模拟:可以创建具有
impersonate_account
参数的客户端,该参数可以 模拟 另一个帐户。 - 委托:需要特定主题的服务(例如 Google Workspace)会自动委托,有时甚至执行额外的凭证签名。
- 区域:大多数 GCP 服务需要在特定位置工作(一些甚至需要特定位置)。如果未提供,客户端将使用项目默认位置,该位置由 App Engine 定义。
- 授权:为需要身份验证才能使用的服务(例如 CloudRun)自动生成 OIDC 授权。
自动授权
一些服务需要特定的授权,应在使用前进行设置,以下是一些示例
- [发布/订阅] 使用认证推送订阅主题;
- [云调度器] 安排作业以触发 Cloud Run 服务;
- [云任务] 将任务排队以触发 Cloud Run 服务;
在这些情况下,gcp-pilot
尽力确保在实际请求之前正确设置所需权限。
集成
一些服务可以进行集成,gcp-pilot
通过添加辅助方法以无缝的方式完成此操作。
示例:您可以为 Google Cloud Build 的每个构建步骤接收通知而订阅其事件。
使用 CloudBuild.subscribe
,gcp-pilot
在 Google Pub/Sub 服务中创建订阅(如果需要,还包括主题)。
支持 API
- IAM
- 管理服务账户
- 管理权限
- 编码和解码 JWT 令牌
- 身份平台
- 用户登录
- 用户注册
- 密码重置流程
- 邮箱验证流程
- 生成认证魔法链接(OOB 令牌)
- 管理授权域名
- 凭证
- 管理 API 密钥
- 资源管理器
- 管理项目
- 管理权限
- 秘密管理器
- 管理秘密
- 身份感知代理
- 生成 OIDC 令牌
- 源存储库
- 管理存储库
- 目录
- 管理用户
- 管理组
- 人员
- 获取人员
- 云 SQL
- 管理实例
- 管理数据库
- 管理用户
- 云存储
- 管理存储桶
- 管理文件
- 云构建
- 管理触发器
- 云函数
- 管理函数
- 管理权限
- 云调度器
- 管理计划
- 云任务
- 管理任务和队列
- 云运行
- 读取服务
- 管理域名映射 [1]
- API 网关
- 管理 API
- 管理 API 配置
- 管理网关
- 服务使用
- 启用/禁用 API 和服务
- 大查询
- 管理数据集
- 执行查询
- 日历
- 管理事件
- Google Chats
- 构建复杂消息
- 调用 webhook
- 以机器人交互
- 云目录
- 管理组
- 云 DNS
- 管理 DNS 区域
- 管理区域记录
- 表格
- 管理电子表格(由 gspread 提供动力)
- 语音
- 从音频中识别语音
- 数据存储
- 对象映射(类似 ORM 的文档管理)
- 监控
- 报告错误
- 记录
- 管理自定义服务
- 医疗保健
- 管理数据集
- 管理存储
- 管理 FHIR 资源:由 fhir-resources 提供
- 数据流
- 读取/删除流
- 读取流的对象
- 启动/停止对象回填
项目详情
下载文件
下载适合您平台的应用程序文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
gcp_pilot-1.29.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | db9b49ab538c01c288e05bc914456c8889b1a408aed2db9d9891532a21e2afe4 |
|
MD5 | 9351a1e33fa4b09cb500f62d7454b376 |
|
BLAKE2b-256 | bf179d9803772571285a00be196ba8e1cb91de1b27a35ac4d6e285e3688c34f7 |