如何在 google 云存储中获取 GS_SECRET_ACCESS_KEY 和 GS_ACCESS_KEY_ID
How to get GS_SECRET_ACCESS_KEY and GS_ACCESS_KEY_ID in google cloud storage
我尝试使用 Landsat 图像从 public google 云存储 (https://console.cloud.google.com/storage/browser/gcp-public-data-landsat) 中读取数据。
我在 GDAL 中使用 Python3。
但是我有一个错误
ERROR 15: GS_SECRET_ACCESS_KEY+GS_ACCESS_KEY_ID, GS_OAUTH2_REFRESH_TOKEN or GOOGLE_APPLICATION_CREDENTIALS or GS_OAUTH2_PRIVATE_KEY+GS_OAUTH2_CLIENT_EMAIL configuration options and /home/qwerty/.boto not defined
如何获得 GS_SECRET_ACCESS_KEY 和 GS_ACCESS_KEY_ID?
gs_access_key_id
和 gs_secret_access_key
可以由
生成
1.navigating 到您的 Google 云存储控制台并单击 Settings
。
2.on Settings
页面,导航到 Interoperability
选项卡。
3.on 此页面您现在可以选择一个服务帐户并单击 Create a new key
以生成访问密钥和匹配的秘密。
输出:
New service account HMAC key
service-account@project.iam.gserviceaccount.com
Access key
xxxxxxxxxxxxxxxxxxx
Secret
xxxxxxxxxxxxxxxxxxx
Copy this key's secret if you'll need it in the future. Once you close this dialog, the secret can't be recovered.
在 GCS 中读取和可选写入 GeoTIF 的替代身份验证方法。
在 CGP 控制台中
- 创建服务帐户并下载 JSON 密钥文件。保持安全。
- 在存储桶浏览器的权限选项卡上,为以下对象提供新的服务帐户角色:
- Storage Legacy Bucket Owner 和
- 存储旧存储桶Reader
- path_to_credentials 指向您的密钥文件
GEOTIF_PATH = "/vsigs/<my-bucket>/<objectname>"
with rasterio.Env(GOOGLE_APPLICATION_CREDENTIALS=path_to_credentials):
with rasterio.open('{}'.format(GEOTIF_PATH)) as src:
print(src.width, src.height)
profile = src.profile
print(profile)
但是,有时我无法打开我认为应该可以打开的文件。此外,如果路径不正确,例如包含“gs://”或缺少 /vsigs,我会收到此错误:
CPLE_NotSupportedError: CPLRSASHA256Sign() not implemented: GDAL must be built against libcrypto++ or libcrypto (openssl)
但这不对,或者根本行不通?不过,重启jupyter notebook似乎就解决了。
我是 运行 GDAL 2.3.3,发布于 2018/12/14,Python 3.7.11 Windows。
我尝试使用 Landsat 图像从 public google 云存储 (https://console.cloud.google.com/storage/browser/gcp-public-data-landsat) 中读取数据。
我在 GDAL 中使用 Python3。 但是我有一个错误
ERROR 15: GS_SECRET_ACCESS_KEY+GS_ACCESS_KEY_ID, GS_OAUTH2_REFRESH_TOKEN or GOOGLE_APPLICATION_CREDENTIALS or GS_OAUTH2_PRIVATE_KEY+GS_OAUTH2_CLIENT_EMAIL configuration options and /home/qwerty/.boto not defined
如何获得 GS_SECRET_ACCESS_KEY 和 GS_ACCESS_KEY_ID?
gs_access_key_id
和 gs_secret_access_key
可以由
1.navigating 到您的 Google 云存储控制台并单击 Settings
。
2.on Settings
页面,导航到 Interoperability
选项卡。
3.on 此页面您现在可以选择一个服务帐户并单击 Create a new key
以生成访问密钥和匹配的秘密。
输出:
New service account HMAC key
service-account@project.iam.gserviceaccount.com
Access key
xxxxxxxxxxxxxxxxxxx
Secret
xxxxxxxxxxxxxxxxxxx
Copy this key's secret if you'll need it in the future. Once you close this dialog, the secret can't be recovered.
在 GCS 中读取和可选写入 GeoTIF 的替代身份验证方法。
在 CGP 控制台中
- 创建服务帐户并下载 JSON 密钥文件。保持安全。
- 在存储桶浏览器的权限选项卡上,为以下对象提供新的服务帐户角色:
- Storage Legacy Bucket Owner 和
- 存储旧存储桶Reader
- path_to_credentials 指向您的密钥文件
GEOTIF_PATH = "/vsigs/<my-bucket>/<objectname>"
with rasterio.Env(GOOGLE_APPLICATION_CREDENTIALS=path_to_credentials):
with rasterio.open('{}'.format(GEOTIF_PATH)) as src:
print(src.width, src.height)
profile = src.profile
print(profile)
但是,有时我无法打开我认为应该可以打开的文件。此外,如果路径不正确,例如包含“gs://”或缺少 /vsigs,我会收到此错误:
CPLE_NotSupportedError: CPLRSASHA256Sign() not implemented: GDAL must be built against libcrypto++ or libcrypto (openssl)
但这不对,或者根本行不通?不过,重启jupyter notebook似乎就解决了。
我是 运行 GDAL 2.3.3,发布于 2018/12/14,Python 3.7.11 Windows。