繁体   English   中英

无法从 .net 应用访问 Bigquery 数据集

[英]Not able to access Bigquery dataset from .net app

我是 GCP 的新手,在 GCP 中创建了一个项目,该项目有一个服务帐户和一个与之关联的主体。主体具有编辑、所有者和查看者的角色。 我创建了一个数据集,其中包含一个我无法从 .net 应用程序访问的表。

用于连接以从表中读取数据的步骤:

1.创建服务账号验证Api请求

2.创建密钥,json 文件,.net 应用程序将使用该文件连接到数据集(gcloud iam service-accounts keys create ~/key.json)

3.

using Google.Apis.Auth.OAuth2;
using Google.Cloud.BigQuery.V2;

Console.WriteLine("Hello, World!");
string dir = Directory.GetParent(Directory.GetCurrentDirectory()).Parent.Parent.FullName + "\\"+"currency-342912-7c734b3fad06.json";
GoogleCredential credential = GoogleCredential.FromFile(dir);
var client = BigQueryClient.Create("currency-342912", credential);
var table = client.GetTable("bigquery-public-data", "austin_311", "311_service_requests");
var sql = $"SELECT * FROM {table} LIMIT 10";
var results = client.ExecuteQuery(sql,parameters:null);

收到以下错误:

Google.GoogleApiException:'Google.Apis.Requests.RequestError 访问被拒绝:项目 bigquery-public-data:用户在项目 bigquery-public-data 中没有 bigquery.jobs.create 权限

但是用户拥有浏览器、编辑器、所有者、查看器的所有权限

根据上述问题中的错误 -“访问被拒绝:项目 bigquery-public-data:用户在项目 bigquery-public-data 中没有 bigquery.jobs.create 权限”

提到它具有角色“bigquery.jobs.create”,所以我在项目级别应用了这个角色,唯一剩下的区域是服务帐户,我将这个角色应用到服务帐户,这开始工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM