Google cloud platform GCP BigQuery消息“;未找到:连接“;当我在脚本中使用连接时

Google cloud platform GCP BigQuery消息“;未找到:连接“;当我在脚本中使用连接时,google-cloud-platform,google-bigquery,google-cloud-sql,Google Cloud Platform,Google Bigquery,Google Cloud Sql,我使用的是GCP bigquery。我定义了一个外部连接“myconnectionid”。此连接属于连接类型“cloudsql-MySQL”,对于从bigquery到cloudsqlmysql实例的运行fedarated查询(如下所示)来说,它工作得很好 SELECT * FROM EXTERNAL_QUERY("myconnectionid","SELECT CURDATE() from Dual;") 然而,当我试图声明一个SQL变量并将联邦查询的

我使用的是GCP bigquery。我定义了一个外部连接“myconnectionid”。此连接属于连接类型“cloudsql-MySQL”,对于从bigquery到cloudsqlmysql实例的运行fedarated查询(如下所示)来说,它工作得很好

SELECT * FROM 
EXTERNAL_QUERY("myconnectionid","SELECT CURDATE() from Dual;")
然而,当我试图声明一个SQL变量并将联邦查询的返回值分配给该变量时(我认为这相当于bigquery脚本),我得到一条消息“Not found:Connection myconnectionid”。 请参阅下面导致错误的代码片段示例

DECLARE MYDATE DATE;
SET MYDATE = (SELECT * FROM 
EXTERNAL_QUERY("myconnectionid","SELECT CURDATE() from Dual;"))
这段代码给了我一个错误“找不到:连接myconnectionid位于[2:14]”

gcp bigquery外部连接在脚本编写中是否需要特殊处理? 或者更简单地说;你知道我怎样才能克服这个错误吗

我正在阅读有关连接的谷歌文档 还有关于大查询脚本的google文档 还没有运气

非常感谢你的帮助


谢谢

我觉得您可能遇到了一个错误,您的查询没有被路由到正确的区域(您定义了连接的地方)

解决办法可以是:

  • 在用户界面:查询设置->附加设置->处理位置,选择定义连接的位置/区域
  • 或者,在查询中,引用与连接位于同一位置的数据集中的实体,例如,添加一个查询,如
    selectdataset\u in\u that\u location.f()

您是否尝试输入连接的完整id(格式为project id:location id:instance id),如中的示例所示?这两种情况对我都非常有效-短连接id和完整id。同时(这与您当前的问题无关,但很可能是下一个问题)将限制1添加到查询的末尾-否则您将得到生成多个元素的标量子查询