Creo documenti PDF in memoria come OutputStream
s. Questi dovrebbero essere caricati su S3. Il mio problema è che non è possibile creare uno PutObjectRequest
da un OutputStream
direttamente (secondo this thread in the AWS dev forum). Io uso aws-java-sdk-s3
v1.10.8 in un'app Dropwizard.Come caricare un OutputStream Java in AWS S3
Le due soluzioni posso vedere finora sono:
- Copiare il
OutputStream
a unInputStream
e accettano che il doppio della quantità di RAM viene utilizzato. - tubo del
OutputStream
a unInputStream
ed accettare il sovraccarico di un thread aggiuntivo (vedi this answer)
Se non trovo una soluzione migliore Vengo con 1 #, perché sembra come se io potrebbe permettermi la memoria extra più facilmente di thread/CPU nella mia configurazione.
C'è qualche altro, forse un modo più efficace per raggiungere questo che ho trascurato finora?
Modifica: mie OutputStream
s sono ByteArrayOutputStream
s
"Ho creare documenti PDF in memoria come OutputStreams" - ?? un 'OutputStream' non memorizza i dati (possibilmente ad eccezione di' ByteArrayOutputStream', ma poi si direbbe che è stato creato in memoria come * array di byte *) – immibis
Uso ByteArrayOutputStream. Dispiace per la confusione. – EagleBeak
Ho una domanda simile - http://stackoverflow.com/questions/40268320/how-to-store-object-on-s3-using-outputstream. Sei riuscito a trovare una soluzione per questo? Se no, come hai fatto a fare il numero 1 nel tuo caso? – Omnipresent