我正在使用 AWS PHP SDK 将文件上传到 S3,然后使用 Elastic Transcoder 对其进行转码。
首先通过一切正常,putobject命令覆盖s3上的旧文件(始终命名相同):
$s3->putObject([
'Bucket' => Config::get('app.aws.S3.bucket'),
'Key' => $key,
'SourceFile' => $path,
'Metadata' => [
'title' => Input::get('title')
]
]);
但是,在创建第二个转码作业时,出现错误:
The specified object could not be saved in the specified bucket because an object by that name already exists
transcoder 角色具有完整的 s3 访问权限。有没有办法解决这个问题,或者我每次在转码之前都必须使用 sdk 删除文件?
我的创作工作:
$result = $transcoder->createJob([
'PipelineId' => Config::get('app.aws.ElasticTranscoder.PipelineId'),
'Input' => [
'Key' => $key
],
'Output' => [
'Key' => 'videos/'.$user.'/'.$output_key,
'ThumbnailPattern' => 'videos/'.$user.'/thumb-{count}',
'Rotate' => '0',
'PresetId' => Config::get('app.aws.ElasticTranscoder.PresetId')
],
]);