java 中的 Bigtable 身份验证

Bigtable authentication in java

我正在寻找一种在 Bigable 中进行身份验证的替代方法。 默认方法涉及到环境变量,这与我有关。

我找到了 GoogleCredential class。它可以使用 fromStream 读取 json 密钥文件,但是如何使用 GoogleCredential 的新实例。 setApplicationDefault() 没有方法。我需要以某种方式覆盖它。

HBase 代码对 GoogleCredential.

一无所知

编辑 2016 年 12 月 6 日

默认身份验证现在需要 gcloud auth application-default login 使用您的用户帐户进行 API 调用。您还可以这样做:

$ gcloud iam service-accounts create my-account $ gcloud iam service-accounts keys create key.json --iam-account=my-account@my-project.iam.gserviceaccount.com $ export GOOGLE_APPLICATION_CREDENTIALS=key.json $ ./my_applicaiton.sh

旧文本

对于大多数情况,默认身份验证就足够了。如果您已经完成 gcloud init 或其前身 gcloud auth login,通常应该就足够了。 (编辑 - gcloud beta auth application-default login 现在用于 API 访问)。 在某些特殊情况下它不会,例如如果您在 Docker 容器中本地 运行。那么您的默认身份验证将无法正确设置,您需要设置 GOOGLE_APPLICATION_CREDENTIALS.

为了完整起见,如果您正在进行一些跨项目活动,也可以在 hbase-site.xml 文件中设置 google.bigtable.auth.json.keyfile 键,但这种情况应该很少见。