Cannot select Google Big Query table as data source

Hello,

I am trying to use the new Big Query datasource.
I was able to add a dataset as source in my account but, when I want to create an application with this data source, I am not able to select the table I want: the table folder keeps loading.
image
This is the error I see in the console.

{“Message”:“An error has occurred.”,“ExceptionMessage”:“Job appsheet-api-281913/US/job_2ca2e16b_5dec_44d0_93ff_eb249dbdad08 contained errors”,“ExceptionType”:“Google.GoogleApiException”,“StackTrace”:" at Google.Cloud.BigQuery.V2.BigQueryJob.ThrowOnAnyError()\r\n at Google.Cloud.BigQuery.V2.BigQueryJob.GetQueryDestinationTable()\r\n at Google.Cloud.BigQuery.V2.BigQueryJob.GetQueryResults(GetQueryResultsOptions options)\r\n at Nirvana.Data.DatabaseProvider.BigQueryProvider.BqClient.ExecuteQuery(String sqlCommand, List1 parameters)\r\n at Nirvana.Data.SQLBasedProvider.ListTables(Boolean listViews)\r\n at Nirvana.Data.APIBasedProvider.GetEntries(Int32 userId, String userToken, String folderPath)\r\n at Nirvana.Data.DataLayer.GetFolderEntries(Int32 userId, String dataSourceName, String folderProviderName, String folderPath)\r\n at Nirvana.source.api.FSExplorerController.ListContents(String dataSourceName, String provider, String path, AcceptType accept, String ownerId) in T:\\tmp\\tmp2931.tmp\\jeenee\\Nirvana\\Controllers\\API\\FSExplorerController.cs:line 56\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_2.<GetExecutor>b__2(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary2 arguments, CancellationToken cancellationToken)\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Nirvana.Filters.SecurityHeadersFilter.d__2.MoveNext() in T:\tmp\tmp2931.tmp\jeenee\Nirvana\Controllers\_Shared\zsystemconfig\filters\SecurityHeadersFilter.cs:line 25\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at AutofacWebApiUtilities.WebApiRequestScopeBridgeFilter.d__2.MoveNext()\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at Nirvana.Filters.ValidateAntiForgeryAttribute.d__10.MoveNext() in T:\tmp\tmp2931.tmp\jeenee\Nirvana\Controllers\_Shared\zsystemconfig\filters\ValidateAntiForgeryAttribute.cs:line 108\r\n— End of stack trace from previous location where exception was thrown —\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()"}

Am I doing something wrong in the creation of the data source?

Kind regards,
Matteo

I was able to fix it by giving the service account the BigQuery Data Viewer role on the dataset.
If this is the right solution could you please update the documentation provided at this link? In the document you just tell to give the role “BigQuery Job User”.

@Scott_Haaland ^^

Hi @Matteo_Menghetti ,

I’m assuming you are accessing a Private Dataset. We are working on new instructions for that use case and it does require some extra permissions. I hope to get the doc updated soon. Thanks for your question and inputs.

Thanks,
Scottt

1 Like

Thank you for your reply! Indeed it is a private dataset, I missed the fact that the guide was only for accessing public datasets!

I am very happy of being able to use this new data source type! Thank you!!! :slight_smile:

1 Like

Hi @Matteo_Menghetti ,

It looks like your GCP account policies are letting you access your Private DataSet with the configuration you added (add role: bigquery viewer). In some other cases, Enterprises have very strict security policies which may require even more roles. I’ve added instructions for how to cover these cases to the original community announcement by re-uploading a new version of the PDF. If you do have any further issues accessing datasets, I just wanted to you know that these instructions are now available in this community post.

Thanks,
Scott

1 Like