使用 boto3 提取所有 aws 转录结果

extract all aws transcribe results using boto3

我在 aws transcribe 中有几百个转录结果,我想获取所有转录文本并将其存储在一个文件中。 有什么方法可以在不单击每个转录结果并复制和粘贴文本的情况下执行此操作?

您可以通过 AWS API 执行此操作。

例如,如果您使用的是 Python,则可以使用 Python boto3 SDK:

  • list_transcription_jobs() 将 return 转录作业名称列表
  • 对于每个作业,您可以调用 get_transcription_job(),这将提供 TranscriptFileUri,即转录的存储位置。
  • 然后您可以使用 get_object() 从 Amazon S3 下载文件
  • 然后您的程序需要将每个文件的内容合并到一个文件中。

看看你是怎么处理的。如果您 运行 遇到任何具体困难,post 一个带有代码的新问题和对问题的解释。

我在 GitHub 上举了一个例子来说明如何:

  • 运行 一个 AWS Transcribe 作业,
  • 使用请求包获取输出,
  • 将输出写入控制台。

如果很容易满足您的需要,您应该能够改装。这是一些代码,但如果您查看 full example:

会更有意义
job_name_simple = f'Jabber-{time.time_ns()}'
print(f"Starting transcription job {job_name_simple}.")
start_job(
    job_name_simple, f's3://{bucket_name}/{media_object_key}', 'mp3', 'en-US',
    transcribe_client)
transcribe_waiter = TranscribeCompleteWaiter(transcribe_client)
transcribe_waiter.wait(job_name_simple)
job_simple = get_job(job_name_simple, transcribe_client)
transcript_simple = requests.get(
    job_simple['Transcript']['TranscriptFileUri']).json()
print(f"Transcript for job {transcript_simple['jobName']}:")
print(transcript_simple['results']['transcripts'][0]['transcript'])