小编use*_*284的帖子

如何让gcloud auth activate-service-account保持不变

我正在使用bq命令行工具从Bigquery表中进行查询.当我登录并开箱即运行查询过程时,有没有办法让服务帐户身份验证保持不变?

我做的步骤:

  1. 我登录了linux框
  2. 运行以下命令验证服务帐户:

    gcloud auth activate-service-account --key-file /somekeyFile.p12 someServiceAccount.gserviceaccount.com 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 从bigquery表查询,这很好用:

    bq --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
    
    Run Code Online (Sandbox Code Playgroud)

但后来我从框中退出,然后重新登录.当我再次查询Bigquery表时:

bq --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
Run Code Online (Sandbox Code Playgroud)

它给了我错误:

您当前的有效帐户[someServiceAccount.gserviceaccount.com]没有任何有效凭据.

即使我传入私钥文件:

bq --service_account=someServiceAccount.gserviceaccount.com --service_account_credential_file=~/clok_cred.txt --service_account_private_key_file=/somekeyFile.p12 --project_id=formal-cascade-571 query "select * from dw_test.clokTest"
Run Code Online (Sandbox Code Playgroud)

它给出了同样的错误:

您当前的有效帐户[someServiceAccount.gserviceaccount.com]没有任何有效凭据.

因此,每次我需要通过以下方式重新验证我的服务帐户:

gcloud auth activate-service-account
Run Code Online (Sandbox Code Playgroud)

有没有办法让经过身份验证的服务帐户凭据保持不变?

谢谢您的帮助.

google-bigquery gcloud

12
推荐指数
1
解决办法
5622
查看次数

Bigquery命令行工具从文件中读取长查询字符串

我正在使用Bigquery命令行工具来查询Bigquery表中的数据.

我的查询语句很长.

有没有办法将长查询语句保存在文件中并将文件名传递给Bigquery命令行工具?

谢谢.

google-bigquery

7
推荐指数
2
解决办法
1883
查看次数

无法将重复记录类型的输入字段传递给Bigquery UDF

当我将重复记录类型的输入字段传递给Bigquery UDF时,它会一直说未找到输入字段.

这是我的2行数据:

{"name":"cynthia", "Persons":[ { "name":"john","age":1},{"name":"jane","age":2}  ]}
{"name":"jim","Persons":[ { "name":"mary","age":1},{"name":"joe","age":2}  ]}
Run Code Online (Sandbox Code Playgroud)

这是数据的架构:

[{"name":"name","type":"string"},

{"name":"Persons","mode":"repeated","type":"RECORD",
    "fields":
    [
        {"name": "name","type": "STRING"},
        {"name": "age","type": "INTEGER"}
    ]
}
Run Code Online (Sandbox Code Playgroud)

]

这是查询:

SELECT
  name,maxts

FROM
js
(
  //input table
  [dw_test.clokTest_bag],

  //input columns
  name, Persons,

  //output schema
  "[
    {name: 'name', type:'string'},
    {name: 'maxts', type:'string'}
  ]",

  //function
  "function(r, emit)
  {
    emit({name: r.name, maxts: '2'});
  }"
)
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

尝试运行查询时遇到错误:

错误:5.3 - 15.6:未定义的输入字段人员作业ID:ord2-us-dc:job_IPGQQEOo6NHGUsoVvhqLZ8pVLMQ

有人请帮忙吗?

谢谢.

google-bigquery

1
推荐指数
1
解决办法
829
查看次数

标签 统计

google-bigquery ×3

gcloud ×1