Javascript URL 库无法在 bigquery UDF 中工作

问题描述 投票:0回答:1

使用bigquery,我需要提取URL的组成部分,例如主机名、查询参数、路径和片段。

由于bigquery UDF支持javascript,我发现了相同的URL库,它在浏览器和nodejs中原生可用。我使用这个库创建了 bigquery udf。

CREATE OR REPLACE FUNCTION dataset.parseURL(url STRING)
RETURNS JSON
LANGUAGE js AS
r"""
const uri = URL(url);

return {
    host: uri.host,
    path: uri.pathname,
    fragment: uri.hash,
    ...
};
"""

当我尝试在查询编辑器的查询中调用它时,出现错误:

ReferenceError: URL is not defined at UDF$1(STRING)

我知道我需要在GCS存储桶中加载外部js库并在

OPTIONS (library=['gs://bucket/URL.js'])
中提及。

该 URL 不是 bigquery javascript 中的本机类或模块。我在网上搜索了它的js文件,也厌倦了使用webpack构建一个bundle js,但它不起作用。有什么办法可以让这个URL模块js被bigquery识别吗?

javascript google-bigquery bigquery-udf
1个回答
0
投票
  • BigQuery UDFs don't support certain browser APIs
    由于 JavaScript 运行环境受到限制,因此类似于 URL。

  • BigQuery UDF 无法调用外部 API,因此即使“@google-cloud/storage”导入成功,它也无法运行和执行其他 API 调用。正如 @Mikhali 提到的,可以使用 BigQuery NET 函数 .

截至目前,BigQuery UDF 不支持 URL 等特定于浏览器的 API。如果您需要该功能,可以根据您在

公共问题跟踪器
上的要求打开一个新的 Feature request 来描述您的问题和投票 [ +1]并且工程团队将研究该功能以供将来实施

© www.soinside.com 2019 - 2024. All rights reserved.