You need to enable JavaScript to run this app. 启动AWS Transcribe任务时报超时、无法连接实例元数据服务错误怎么办?
优惠活动
大模型
产品
解决方案
定价
更多

启动AWS Transcribe任务时报超时、无法连接实例元数据服务错误怎么办?

解决方案

错误根因

报错核心是AWS SDK在本地运行时找不到有效的身份验证凭证,会按默认凭证链依次检索,最后尝试调用仅AWS EC2实例才有的实例元数据服务(IMDS)获取凭证,本地环境没有该服务,因此触发连接超时、无法连接元数据服务的错误。

修复步骤

  • 第一步:补充.env配置项
    在你的.env文件中除已有的AWS_REGION外,新增AWS访问凭证参数,凭证可在AWS IAM控制台创建,需要为该凭证授予transcribe:StartTranscriptionJob权限以及对应S3资源的读取权限:
AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
AWS_SECRET_ACCESS_KEY=你的AWS秘密访问密钥
  • 第二步:修正Transcribe客户端初始化逻辑
    显式将.env中的凭证传入客户端,避免SDK走默认凭证链检索:
const dotenv = require('dotenv')
const result = dotenv.config({path: __dirname + '/../.env'})
 
if (result.error) {
  throw result.error
}

const { TranscribeClient } = require("@aws-sdk/client-transcribe");
const REGION = result.parsed.AWS_REGION
const ACCESS_KEY = result.parsed.AWS_ACCESS_KEY_ID
const SECRET_KEY = result.parsed.AWS_SECRET_ACCESS_KEY

const transcribeClient = new TranscribeClient({ 
  region: REGION,
  credentials: {
    accessKeyId: ACCESS_KEY,
    secretAccessKey: SECRET_KEY
  }
});
module.exports = transcribeClient
  • 第三步:修正转录任务命名格式
    Transcribe任务名称不允许包含空格,仅支持Unicode字母、数字、下划线、连字符,且每次创建新任务必须使用唯一名称,修改参数如下:
const params = {
  TranscriptionJobName: "Transcription_Test_20240501", // 替换为无空格的唯一名称
  LanguageCode: "en-US",
  MediaFormat: "webm", 
  Media: {
    MediaFileUri: "https://speech-recognition.s3.eu-central-1.amazonaws.com/djoqiipn.webm",
  },
};

完成以上修改后重新运行代码即可正常发起转录任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 20:24:05