Ich konfiguriere das Amazon API Gateway als Proxy für einen S3-Bucket. Im Idealfall möchte ich, dass der Client eine Datei an einen Bucket senden kann, dass S3 ihm einen Dateinamen zuweisen und diesen Namen dann in der Antwort zurückgeben kann. Ich möchte dem Client nicht die Möglichkeit geben, den Dateinamen anzugeben. Ist das möglich? In der Dokumentation zum Einrichten des Proxys wird POST überhaupt nicht erwähnt, und bei anderen POST-Beispielen, die ich gefunden habe, muss der Client den Schlüsselnamen angeben.Kann ein S3-Bucket eigene Objektschlüsselnamen generieren?
Antwort
Nein, die automatische Dateinamenerstellung wird in S3 nicht unterstützt.
Wenn Sie Lambda durchlaufen haben, können Sie jede gewünschte benutzerdefinierte Logik einfügen, einschließlich der Generierung des Dateinamens. Die Lambda-Funktion könnte dann den Dateinamen zurückliefern und Sie könnten ihn Ihrer API-Gateway-Antwort zuordnen.
S3 kann den Namen nicht zuweisen, aber in der API-Gateway-Zuordnungsvorlage können Sie beliebige Daten aus dem $ context-Objekt verwenden, um einen Namen zu erstellen.
z.B. $ context.requestId würde einen eindeutigen Schlüsselnamen für Ihren S3-Schlüssel erstellen.
Dies ist eine interessante Idee. Wie groß ist die Anfrage-ID? Wird es wahrscheinlich über lange Zeiträume einzigartig sein? – Ishka
- 1. AmazonS3Client.listObjects() Problem mit großen s3bucket
- 2. Kann ich meine eigene Keytab programmatisch in Java generieren?
- 3. Wie listet man Objektschlüsselnamen mit jsonpath auf?
- 4. kann meine eigene Schriftart
- 5. Kann ein C# -Programm irgendwie seine eigene CPU-Auslastung messen?
- 6. Wie kann ich ein Icon für meine eigene Dateierweiterung setzen
- 7. Kann ich meine eigene DLL zurückentwickeln?
- 8. Kann ich meine eigene Einstiegspunktmethode für C#
- 9. Wie kann ich meine eigene UITabBar erstellen?
- 10. Kann pydoc Unterverzeichnisse generieren?
- 11. Kann QueryDsl nicht generieren
- 12. Wie kann ich meine eigene Klasse initialisieren?
- 13. Kann eigene Stimme zu TTS Stimme hinzufügen
- 14. Wie kann ich meine eigene Klasse verbinden?
- 15. Wie kann ich ein .torrent in Java generieren?
- 16. Kann ich ein Bereitstellungsskript von einem Dacpac generieren
- 17. Wie Emmet ein benutzerdefiniertes JSX-Attribut ohne Anführungszeichen generieren kann
- 18. Generieren Sie ein LTPA-Token?
- 19. ein Modell generieren Selbstspaltenname Fehler
- 20. Kann Shim für System.Data.SqlClient.SqlDataReaderSmi generieren
- 21. Eigene SwitchCompat Preference erstellen
- 22. Kann Alembic Spaltenänderungen automatisch generieren?
- 23. Kendo Grid - eigene Ladeanzeige
- 24. Eigene "SeekBar" erstellen
- 25. Eigene Plugins initialisieren
- 26. Gibt es ein ORM, das dynamisch eine DAL aus einer .Net WinForms App generieren kann?
- 27. Eigene Druckvorschau implementieren?
- 28. Eigene Realloc implementieren
- 29. C++ Eigene Observer Pattern
- 30. meine eigene Programmiersprache
Dies ist in diesem Fall nicht anwendbar, da Ishka das AWS-Gateway nur als Proxy verwendet. –
Ich dachte darüber nach, aber es gibt eine 6 MB Grenze für die Anfragegröße in Lambda, und ich würde gerne Dateien hochladen können, die größer sind. – Ishka