Tôi đã tạo tài khoản dịch vụ bằng Bảng điều khiển API của Google và muốn sử dụng tài khoản dịch vụ này bằng công cụ Google BigQuery CLI (bq).Tôi làm cách nào để định cấu hình công cụ dòng lệnh Google BigQuery để sử dụng Tài khoản dịch vụ?
Tôi đã sử dụng công cụ dòng lệnh để truy cập thành công dịch vụ BigQuery bằng thông tin đăng nhập OAuth2 hợp lệ của tôi trong ~/.bigquery.v2.token, tuy nhiên tôi dường như không tìm thấy bất kỳ tài liệu nào về cách sửa đổi tệp này (hoặc cấu hình công cụ khác) để sử dụng tài khoản dịch vụ thay thế.
Đây là tập tin .bigquery.v2.token hiện tại của tôi
{
"_module": "oauth2client.client",
"_class": "OAuth2Credentials",
"access_token": "--my-access-token--",
"token_uri": "https://accounts.google.com/o/oauth2/token",
"invalid": false,
"client_id": "--my-client-id--.apps.googleusercontent.com",
"id_token": null,
"client_secret": "--my-client-secret--",
"token_expiry": "2012-11-06T15:57:12Z",
"refresh_token": "--my-refresh-token--",
"user_agent": "bq/2.0"
}
tập tin khác của tôi: ~/.bigqueryrc thường trông như thế này:
project_id = --my-project-id--
credential_file = ~/.bigquery.v2.token
Tôi đã thử đặt paramater credential_file vào tệp khóa riêng tư .p12 cho tài khoản dịch vụ của tôi nhưng không có may mắn, nó mang lại cho tôi lỗi sau
******************************************************************
** No OAuth2 credentials found, beginning authorization process **
******************************************************************
Và yêu cầu tôi truy cập liên kết trong trình duyệt của tôi để thiết lập lại thông tin đăng nhập OAuth2 của tôi.
tùy chọn Các công cụ dòng lệnh ban đầu cấu hình 'init':
bq help init
hiển thị không có thông tin hữu ích về cách thiết lập công cụ này để sử dụng một tài khoản dịch vụ.
Thực hiện theo các hướng dẫn để thực hiện tài khoản dịch vụ bằng hình ảnh docker dễ dàng hơn trên OS X ít nhất: https://hub.docker.com/r/google/cloud-sdk/ – mentat
Cách đúng để sử dụng bằng chứng xác thực tài khoản dịch vụ trên bq cli là kích hoạt nó bằng cách sử dụng lệnh "gcloud auth activate-service-account" và sau đó chạy bq mà không có bất kỳ cờ auth nào. Những lá cờ bq chỉ dành cho việc sử dụng nội bộ gcloud. Xin vui lòng không đặt chúng, nó can thiệp vào gcloud và dẫn đến kết quả không lường trước. – Daria