Quando faccio per un singolo file funziona:Come copiare un'intera "cartella" in un altro percorso usando S3 con sdk?
aws_s3 = AWS::S3.new(S3_CONFIG)
bucket = aws_s3.buckets[S3_CONFIG["bucket"]]
object = bucket.objects["user/1/photos/image_1.jpg"]
new_object = bucket.objects["users/1/photos/image_1.jpg"]
object.copy_to new_object, {:acl => :public_read}
Ma voglio spostare l'intero "/ foto cartella" tiri No Such Key
. Probabilmente le chiavi s3 sono solo il percorso completo per ogni file. Come farlo?
aws_s3 = AWS::S3.new(S3_CONFIG)
bucket = aws_s3.buckets[S3_CONFIG["bucket"]]
object = bucket.objects["user/1/photos"]
new_object = bucket.objects["users/1/photos"]
object.copy_to new_object, {:acl => :public_read}
Grazie!
È meglio fornire una spiegazione per la risposta anziché fornire semplicemente il codice. Ciò fornisce ulteriori informazioni nel caso in cui altri utenti abbiano un problema simile ma non identico. – Guvante
la spiegazione è usare aws con_prefix ... – Luccas
Ottenuto automaticamente contrassegnato come post di bassa qualità, non si è notato che si stava rispondendo alla propria domanda. Un modo è di fornire una citazione dell'uso with_prefix da un documento API o simile (con un collegamento). Ma se credi che il codice sia sufficiente per rispondere alla domanda, è la tua domanda in questo caso. – Guvante