![](/img/trans.png)
[英]Google Cloud Function Not able to delete Bigquery Dataset
[英]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.