AWS Transcribe 客户端不提供名为 'transcribeClient' 的导出

AWS Transcribe client does not provide an export named 'transcribeClient'

我正在尝试将 AWS Transcribe 集成到我的 Node.JS 应用程序中。 AWS S3 和 Polly 工作正常,但 AWS Transcribe 不行。我正在使用 AWS 的示例代码。

当我想通过 AWS example code 开始转录作业时,我收到 以下错误:请求的模块 './libs/transcribeClient.js' 确实不提供名为 'transcribeClient'

的导出

这也是我收到未定义所需错误的唯一文件。我想知道为什么它只发生在 AWS transcribe 而不是其他服务?我还可以通过 AWS CLI 开始转录工作。

AWS Transcribe 代码不起作用 - transcribeClient.js:

const AWS_BUCKET_NAME="X"
const AWS_REGION="eu-central-1"
const AWS_ACCESS_KEY="XXX"
const AWS_SECRET_KEY="XXX"

// snippet-start:[transcribe.JavaScript.createclientv3]
const { TranscribeClient } = require('@aws-sdk/client-transcribe');
// Create anAmazon EC2 service client object.
const transcribeClient = new TranscribeClient({ AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY });
module.exports = { transcribeClient };

AWS Polly 代码有效 - pollyClient.js:

const AWS_BUCKET_NAME="X"
const AWS_REGION="eu-central-1"
const AWS_ACCESS_KEY="XXX"
const AWS_SECRET_KEY="XXX"

// snippet-start:[polly.JavaScript.createclientv3]
const { PollyClient } =require( "@aws-sdk/client-polly");
// Create an Amazon S3 service client object.
const pollyClient = new PollyClient({ AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY});
module.exports = { pollyClient };

期待您的来信!谢谢!

我解决了。现在它可以在我的 Node.js 12 环境中使用。

package.json
我将 "type": "modules" 更改为 "type": "commonjs"

transcribeClient.js 需要看起来像这样:
这里我把export改为module.exports.

const { TranscribeClient } = require("@aws-sdk/client-transcribe");
const transcribeClient = new TranscribeClient({ AWS_REGION, AWS_ACCESS_KEY, AWS_SECRET_KEY});
module.exports = { transcribeClient };

transcribe_create_job.js 需要看起来像这样:
这里我把import语句改成了require.

const { StartTranscriptionJobCommand } = require("@aws-sdk/client-transcribe");
const { transcribeClient } = require("./libs/transcribeClient.js")

// Set the parameters
const params = {
  TranscriptionJobName: "test123",
  LanguageCode: "en-GB", // For example, 'en-US'
  MediaFormat: "webm", // For example, 'wav'
  Media: {
    MediaFileUri: "https://x.s3.eu-central-1.amazonaws.com/dlpasiddi.webm",
  },
};

const run = async () => {
  try {
    const data = await transcribeClient.send(
      new StartTranscriptionJobCommand(params)
    );
    console.log("Success - put", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();