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();
我正在尝试将 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();