繁体   English   中英

尝试连接到 nodejs 中的 BigQuery 时出现问题

[英]Issue while trying to connect to BigQuery in nodejs

节点版本:v18.12.1 @google-cloud/bigquery 版本:v6.0.3

我正在使用服务帐户连接到 bigQuery,然后尝试运行一个简单的查询。 查询在谷歌控制台上运行良好但由于某种原因我在使用 nodejs 运行它时遇到问题

const authFile = require("./enums/authFile.json");
const { BigQuery } = require("@google-cloud/bigquery");

const queryDb = new BigQuery({
    keyFilename: authFile,
    projectId: "projectId"
  });

  const result = await queryDb.createDataset("new_1datasetId", { location: "US" });

我尝试运行的每种查询都会收到此错误。 即使当我尝试创建一个 queryJob 时

const [job] = await bigquery.createQueryJob(options);
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received an instance of Object
    at new NodeError (node:internal/errors:393:5)
    at validateString (node:internal/validators:163:11)
    at Object.resolve (node:path:1098:7)
    at GoogleAuth.getClient (/usr/src/app/node_modules/google-auth-library/build/src/auth/googleauth.js:633:39)
    at GoogleAuth.authorizeRequest (/usr/src/app/node_modules/google-auth-library/build/src/auth/googleauth.js:679:35)
    at authorizeRequest (/usr/src/app/node_modules/@google-cloud/common/build/src/util.js:439:47)
    at prepareRequest (/usr/src/app/node_modules/@google-cloud/common/build/src/util.js:444:25)
    at BigQuery.makeAuthenticatedRequest (/usr/src/app/node_modules/@google-cloud/common/build/src/util.js:455:13)
    at BigQuery.request_ (/usr/src/app/node_modules/@google-cloud/common/build/src/service.js:148:18)
    at BigQuery.request (/usr/src/app/node_modules/@google-cloud/common/build/src/service.js:159:36)
    at BigQuery.createDataset (/usr/src/app/node_modules/@google-cloud/bigquery/build/src/bigquery.js:902:14)
    at /usr/src/app/node_modules/@google-cloud/promisify/build/src/index.js:57:28
    at new Promise (<anonymous>)
    at BigQuery.wrapper (/usr/src/app/node_modules/@google-cloud/promisify/build/src/index.js:42:16)
    at checkAlert (/usr/src/app/src/helpers/echo.js:131:34)
    at /usr/src/app/src/helpers/echo.js:118:9 {
  code: 'ERR_INVALID_ARG_TYPE'

您的authFile是一个模块。 构造函数需要一个文件本身的路径

const queryDb = new BigQuery({
  keyFilename: "./enums/authFile.json",
  projectId: "projectId"
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM