You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python Boto3的AWS Transcribe作业无报错删除及成本咨询

解决方案:AWS Transcribe 作业删除逻辑优化与费用说明

一、实现“存在则删除,不存在则无操作”的逻辑

原代码在作业不存在时会直接抛出异常,核心优化点是捕获特定错误码而非笼统的客户端异常。Transcribe服务中,作业不存在对应的错误码为NotFound,修改后的代码如下:

import boto3
from botocore.exceptions import ClientError

# 初始化客户端(建议用IAM角色或环境变量替代硬编码密钥,提升安全性)
transcribe_client = boto3.client(
    'transcribe',
    aws_access_key_id=AWS_ACCESS_KEY_ID,
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
    region_name=AWS_DEFAULT_REGION
)
JOB_NAME = "Example-job"

try:
    transcribe_client.delete_transcription_job(TranscriptionJobName=JOB_NAME)
    print(f"已成功删除转录作业: {JOB_NAME}")
except ClientError as e:
    error_code = e.response['Error']['Code']
    if error_code == 'NotFound':
        # 作业不存在,无需执行任何操作
        print(f"转录作业 {JOB_NAME} 不存在,跳过删除步骤")
    else:
        # 其他客户端错误,正常抛出异常
        raise Exception(f"删除作业时出现客户端错误: {e}")
except Exception as e:
    # 非客户端类的意外错误
    raise Exception(f"删除作业时出现意外错误: {e}")

关键说明:

  • 仅在捕获到NotFound错误时跳过操作,其他异常仍正常抛出,避免隐藏真实问题
  • 硬编码AWS密钥存在安全风险,建议在EC2/EKS等AWS环境中使用IAM角色,本地开发用环境变量管理密钥

二、AWS Transcribe 费用说明

Transcribe的收费逻辑清晰,无需过度担忧已完成作业的持续扣费:

  • 核心计费项:按实际转录的音频时长收费(不同语言、音频类型、高级功能费率不同),作业完成后停止计费
  • 附加费用:若将转录结果存储到S3,会产生S3存储费用;使用自定义词汇表、说话人识别等高级功能会额外收费
  • 已完成作业:仅占用Transcribe的作业列表条目,不会产生持续费用,即使不删除也不会生成账单

三、生成唯一作业名规避异常的方案

如果无需删除历史作业,直接生成唯一作业名可彻底避免“作业不存在”的异常,同时防止重复创建作业导致的重复计费。使用Python内置uuid模块生成唯一标识:

import uuid
import boto3

transcribe_client = boto3.client('transcribe', region_name=AWS_DEFAULT_REGION)

# 生成唯一作业名:自定义前缀 + 32位随机UUID字符串
JOB_NAME = f"Transcribe-Job-{uuid.uuid4().hex}"

# 创建转录作业示例
transcribe_client.start_transcription_job(
    TranscriptionJobName=JOB_NAME,
    Media={'MediaFileUri': 's3://your-bucket/audio-file.mp3'},
    MediaFormat='mp3',
    LanguageCode='zh-CN'
)
print(f"已创建唯一转录作业: {JOB_NAME}")

优势:

  • uuid.uuid4().hex生成的字符串全局唯一,不会出现作业名重复的情况
  • 无需处理删除作业的异常逻辑,简化代码结构,适合无需复用作业名的场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 06:12:10