You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用@google-cloud/bigquery-storage时无法导入adapt的问题求助

问题解决:@google-cloud/bigquery-storage中adapt模块无法获取的问题

原因分析

你遇到的问题是因为新版本的@google-cloud/bigquery-storage库调整了模块结构,adapt不再作为顶层导出对象,直接解构顶层导出会得到undefined。

正确的导入方式

方式1:直接导入adapt子模块的目标方法

修改导入代码,单独引入需要的转换方法:

const { v1 } = require('@google-cloud/bigquery-storage');
const { BigQueryWriteClient } = v1;
const { BigQuery } = require('@google-cloud/bigquery');
// 直接导入转换方法
const { convertBigQuerySchemaToStorageTableSchema } = require('@google-cloud/bigquery-storage/build/src/adapt');

方式2:导入完整的adapt对象

如果需要使用adapt中的多个方法,也可以导入整个adapt对象:

const { v1 } = require('@google-cloud/bigquery-storage');
const { BigQueryWriteClient } = v1;
const { BigQuery } = require('@google-cloud/bigquery');
// 导入adapt对象
const adapt = require('@google-cloud/bigquery-storage').adapt;

修正后的代码示例

const { v1 } = require('@google-cloud/bigquery-storage');
const { BigQueryWriteClient } = v1;
const { BigQuery } = require('@google-cloud/bigquery');
const { convertBigQuerySchemaToStorageTableSchema } = require('@google-cloud/bigquery-storage/build/src/adapt');

async function BQStorageWrite() {
    const bigquery = new BigQuery({ projectId: bqProjectId });
    const dataset = bigquery.dataset(bqDataSetId);
    const table = await dataset.table(bqTableId);
    const [metadata] = await table.getMetadata();
    
    const storageSchema = convertBigQuerySchemaToStorageTableSchema(metadata.schema);

    // 后续写入数据的逻辑
}

内容的提问来源于stack exchange,提问作者DbxD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:45:00