我使用AWS PHP SDK將文件上傳到S3,然後使用Elastic Transcoder對其進行轉碼。aws代碼轉換器覆蓋s3上的文件
第一遍一切正常,該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
轉碼器角色具有完整的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')
],
]);