我有一个需求:上传文件到 google-cloud-storage ,使用了谷歌提供的 python client sdk: google-cloud-storage
但是我发现很严重的问题:
使用 aliyun 的 oss ,我们只要简单的使用 ACCESS_KEY_ID、 ACCESS_KEY_SECRET 就可以连上,然后上传文件。
oss:
ALI_OSS_ACCESS_KEY_ID: xxx
ALI_OSS_ACCESS_KEY_SECRET: xxx
ALI_OSS_END_POINT: xxx
ALI_OSS_BUCKET: xxx
但是在 google-cloud-storage 貌似没有 ACCESS_KEY_ID、 ACCESS_KEY_SECRET 吗?
貌似需要通过 json 文件来做鉴权?有什么简单的 example 可以参考吗?
没有,谷歌的云存储非常的奇葩,没有正常 oss、minio 那种 access_key、secret_key 来做身份验证,而是把事情搞得极其复杂,复杂到你不看一整个下午的文档,根本无法入手!
解决方案是什么呢?
方案有超级多!
但是我只介绍一个超级简单的、符合云原生需要的:
以服务帐号身份进行身份验证
大概思路就是:
这个凭证(也就是 json 文件)大概长成下面这样:
然后使用相关的 sdk 库,连接到 gcs
下面以 python 举例子:
需求:判断 gcs 中是否存在指定对象