我有一个场景,我需要在Google大查询中连接Azure Data Factory(v2(,以将数据移至我的Azure Data Lake,但我不起作用。
创建链接服务时,我选择大查询作为源,我将有关BigQuery的所有信息,作为项目名称,连接类型等,但是当我单击有效的按钮时,请向我显示消息:景象(...
USERERROR:错误[28000] [Microsoft] [BigQuery](80(身份验证 失败:Invalid_grant错误[28000] [Microsoft] [BigQuery](80( 身份验证失败:Invalid_grant'type =,消息=错误[28000] [Microsoft] [BigQuery](80(身份验证失败:Invalid_grant错误 [28000] [Microsoft] [BigQuery](80(身份验证失败: Invalid_grant,source =,',activityId: 05FF5CE1-5262-4794-853C-C9E39B7F4B71
有什么想法吗?有人已经测试了此连接器?
tks。Peeter Bonomo
BigQuery的ADF连接器的文档解释了参数的含义,但它没有提供有关如何获得这些参数值的任何指导。
我花了几天的时间来工作。我使用"用户身份验证",因为我想使用基于云的IR。可以通过在GCP控制台中创建新的凭据来获得"客户ID"one_answers" Client Secret"。但是要获得"刷新令牌",您必须与Google进行OAuth2舞蹈并拦截令牌。
我整理了一个PowerShell脚本,为您完成此操作,并在Github上写了一篇文章,该帖子带您完成了将ADF V2验证到Google BigQuery的过程:
https://github.com/analyticjeremy/adf_bigquery
这是您不幸的任何访问问题的错误。当您的刷新令牌过期时,您会遇到的错误,这总是在60分钟后遇到的错误。令人难以置信的好奇。...这像ADF上的许多有关ADF身份验证的指令类似,从未提及所有这些工作是要获得60分钟内到期的代码。每当您连接时,就没有某种刷新的方法是毫无价值的。至少以下链接提到了此错误,您会因为代币过期而获得此错误...它是唯一一篇博客文章(或Microsoft文档(,它困扰着这一超大问题。https://medium.com/@varunck/data-transfer-from-google-bigquery-bigquery-to-ozure-blob-storage--s- usis-data-factory-data-factory-adf-80659c0783
这是我将尝试的一种不同的方法...它使用服务帐户和ir https://www.youtube.com/watch?v=orqrt7ya_dm
根据https://learn.microsoft.com/en-us/azure/data-factory/connector-google-bigquery,通过云IR连接到Google bigquery,您需要提供以下信息:
{
"name": "GoogleBigQueryLinkedService",
"properties": {
"type": "GoogleBigQuery",
"typeProperties": {
"project" : "<project ID>",
"additionalProjects" : "<additional project IDs>",
"requestGoogleDriveScope" : true,
"authenticationType" : "UserAuthentication",
"clientId": "<id of the application used to generate the refresh token>",
"clientSecret": {
"type": "SecureString",
"value":"<secret of the application used to generate the refresh token>"
},
"refreshToken": {
"type": "SecureString",
"value": "<refresh token>"
}
}
}
}
,您用来授予应用程序许可的用户应该可以访问您要查询的项目。
谢谢eva