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

时间:2019-03-05 17:06:53

标签: amazon-web-services aws-transcribe

我在aws转录中有数百个转录结果,我想获取所有转录的文本并将其存储在一个文件中。 有什么方法可以不用单击每个转录结果并复制和粘贴文本吗?

2 个答案:

答案 0 :(得分:0)

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

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

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

看看你如何去做。如果遇到任何特定的困难,请发布一个新的带有代码和问题说明的问题。

答案 1 :(得分:0)

我在GitHub上举了一个示例,展示了如何:

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

如果您可以轻松地为自己的目的进行改装。这是一些代码,但是如果您签出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'])