Google cloud storage GDAL:从私有google云存储桶读取光栅

Google cloud storage GDAL:从私有google云存储桶读取光栅,google-cloud-storage,gdal,Google Cloud Storage,Gdal,我想使用GDAL通过gs://uri从私有的谷歌云存储桶读取光栅数据集。根据这一点,身份验证的一种方法是GS\u SECRET\u ACCESS\u KEY和GS\u ACCESS\u KEY\u ID 我拥有访问目标bucket的服务帐户的这些凭据,但是当将它们设置为环境变量时,我得到了403响应 此外,尝试访问公共数据集,如 gdalinfo/vsigs/gcp-public-data-sentinel-2/tiles/32/V/LQ/S2B_MSIL1C_20181108T111249_N

我想使用
GDAL
通过
gs://
uri从私有的谷歌云存储桶读取光栅数据集。根据这一点,身份验证的一种方法是
GS\u SECRET\u ACCESS\u KEY
GS\u ACCESS\u KEY\u ID

我拥有访问目标bucket的服务帐户的这些凭据,但是当将它们设置为环境变量时,我得到了
403
响应

此外,尝试访问公共数据集,如

gdalinfo/vsigs/gcp-public-data-sentinel-2/tiles/32/V/LQ/S2B_MSIL1C_20181108T111249_N0207_R137_T32VLQ_20181108T113514.SAFE/MTD_MSIL1C.xml
还返回一个
403
错误,凭证设置如下

当使用
gsutil config-a
浏览运动时,我需要指定
项目id
,而这些凭据没有该id

我尝试过使用不同的凭证,其中我知道
项目id
,但一切似乎突然都正常了

我发现的唯一相关讨论(,)没有提到关于
项目id的任何内容

所以,我的问题是

  • 使用这样的凭证设置,是否必须指定相应的
    项目id

  • 有没有办法在
    env
    而不是
    .boto
    中设置这些凭据


看起来这些凭证有误。如果没有(有效)凭据,也无法读取公共数据集

身份验证的一种方法是对具有足够权限的服务帐户使用有效的
GS\u访问权\u密钥\u ID
+
GS\u机密\u访问权\u密钥
组合

这些可以设置为环境变量或存储在
.boto
文件中

如果存储在
.boto
文件中,则可以手动执行此操作

[凭证]
gs\u访问\u密钥\u id=
gs\U密码\u访问\u密钥=
或者运行
gsutil config-a
ich,在这种情况下,您将被要求提供
项目id
。但至少出于这个目的,只要一个人输入了一个东西,这个id是否正确似乎没有什么区别