aws transcoder überschreibt Dateien auf s3

9

Ich verwende das AWS PHP SDK, um eine Datei nach S3 hochzuladen und dann mit Elastic Transcoder zu transkodieren.

Erster Durchlauf alles funktioniert, der Befehl putobject überschreibt die alte Datei (immer gleich benannt) auf s3:

%Vor%

Wenn ich jedoch einen zweiten Transkodierungsjob erstelle, erhalte ich den Fehler:

%Vor%

Die Transcoder-Rolle hat vollen s3-Zugriff. Gibt es einen Weg um dies oder muss ich die Dateien mit dem SDK immer vor dem Transcodieren löschen?

Mein Create Job:

%Vor%     
Kudos 01.04.2014, 10:42
quelle

2 Antworten

4

Der Amazon Elastic Transcoder-Dienst dokumentiert, dass dies das erwartete Verhalten ist: Ссылка .

Wenn Ihr Workflow erfordert, dass Sie den gleichen Schlüssel überschreiben, dann klingt es so, als sollten Sie den Job irgendwo anders ausgeben lassen und dann einen S3 CopyObject-Vorgang ausführen, um die ältere Datei zu überschreiben.

    
Jeremy Lindblom 01.04.2014 16:50
quelle
-1

Ich kann mir zwei Möglichkeiten vorstellen, es zu implementieren:

  1. Erstellen Sie zwei Buckets, eines für den temporären Dateispeicher (wo es hochgeladen wurde) und ein anderes, wo die transcodierte Datei abgelegt wird. Nach der Umcodierung, wenn eine neue Datei erstellt wurde, können Sie die temporäre Datei löschen.
  2. Verwenden Sie einen einzelnen Bucket und laden Sie die Datei mit einem Suffix / Präfix hoch. Erstellen Sie eine transkodierte Datei in demselben Bucket und entfernen Sie prefex / suffix (das Sie für den temporären Namen verwendet haben).

In beiden Fällen können Sie hochgeladene Dateien automatisch löschen, indem Sie die Lambda-Funktion mit S3-Benachrichtigungen verwenden.

    
vikrant sundriyal 05.10.2015 07:09
quelle