java中的Bigtable身份验证

java中的Bigtable身份验证,java,authentication,bigtable,google-cloud-bigtable,Java,Authentication,Bigtable,Google Cloud Bigtable,我正在寻找一种在Bigable中进行身份验证的替代方法。 默认方法涉及环境变量,这与我有关 我找到了职业。它可以使用fromStream读取json密钥文件,但是如何使用GoogleCredential的新实例。 没有方法设置ApplicationDefault()。我需要以某种方式覆盖它 HBase代码不知道任何关于GoogleCredential编辑2016年6月12日 默认身份验证现在需要gcloud Auth应用程序默认登录名才能使用您的用户帐户进行API调用。您还可以执行以下操作:

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

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

HBase代码不知道任何关于
GoogleCredential

编辑2016年6月12日 默认身份验证现在需要
gcloud Auth应用程序默认登录名
才能使用您的用户帐户进行API调用。您还可以执行以下操作:


$gcloud iam服务帐户创建我的帐户
$gcloud iam服务帐户密钥create key.json
--iam帐户=我的-account@my-project.iam.gserviceaccount.com
$export GOOGLE\u APPLICATION\u CREDENTIALS=key.json
美元/我的应用程序。sh

旧文本 对于大多数情况,默认的身份验证就足够了。如果您已经完成了
gcloud init
或它的前身
gcloud auth login
,通常就足够了。(编辑-
gcloud beta auth应用程序默认登录现在用于API访问)。
在某些特殊情况下不会出现这种情况,例如,如果您在Docker容器中本地运行。然后,您的默认身份验证将无法正确设置,您需要设置
GOOGLE\u应用程序\u凭据


为了完整性,如果您正在进行一些跨项目活动,也可以在
hbase site.xml
文件中设置
google.bigtable.auth.json.keyfile
键,但这应该非常罕见。

CBT code确实知道凭据。不要设置配置变量。我们使用applicationDefault作为获取凭据(即通过gcloud auth命令设置的凭据)的主要方法。请参阅,快速入门将强制您使用环境变量,但我有一个Pull请求来删除该检查:hbase-site.xml属性正是我想要的。它的值是feed right to FileInputStream,因此可以使用相对路径。