【发布时间】:2021-10-01 10:50:26
【问题描述】:
我将 Amazon Elastic Transcoder 与 Lambda 和 Step Functions 结合使用,对 WAV 文件中的 MP3 进行转码。
我需要将转码后的 MP3 的 MD5 / S3 ETag 标头值存储在我的数据库中。
目前我不得不在一个单独的过程中使用这些来获取这些,这真的很慢:
s3_cli = boto3.client("s3",aws_access_key_id=ACCESS_KEY,aws_secret_access_key=SECRET_KEY)
s3_resp = s3_cli.head_object(Bucket=bucket, Key=mp3_key)
s3obj_etag = s3_resp['ETag'].replace('"', '')
在实施之前,我希望 Elastic Transcoder 会在作业响应中提供转码后的文件 MD5 哈希,但我在任何地方都看不到。
有没有人对如何更好地解决这个问题有任何提示,或者我在响应/文档中遗漏了什么?
【问题讨论】:
-
您是批量获取 ETag 吗?当 Elastic Transcoder 上传 S3 文件时,为什么不触发 Lambda 为您执行此操作?
-
是的,我已经通过我上面描述的单独过程来做到这一点。只是很慢。我现在也遇到了转码器将更大的文件作为多部分传送的问题,因此 etag 与 MD5 不匹配。
标签: python amazon-web-services aws-lambda aws-step-functions amazon-elastic-transcoder