Carga directa a S3 usando Python / Boto / Django para construir la política

He pasado por muchas iteraciones de este problema hasta ahora, busqué muchos ejemplos diferentes y he revisado toda la documentación.

Estoy tratando de combinar Plupload http: //www.plupload.com) con el método de publicación directa AWS S3 http: //aws.amazon.com/articles/143). Sin embargo, creo que hay algo mal con la forma en que estoy construyendo mi política y firma para la transmisión. Cuando envío el formulario, no recibo una respuesta del servidor, sino que mi conexión al servidor se restablece.

He intentado usar el código de Python en el ejemplo:

import base64
import hmac, sha

policy = base64.b64encode(policy_document)

signature = base64.b64encode(
hmac.new(aws_secret_key, policy, sha).digest())

También he intentado utilizar la biblioteca hashlib más actualizada en python. Cualquiera sea el método que use para construir mi política y firma, siempre obtengo valores diferentes a los generados aquí:

http: //s3.amazonaws.com/doc/s3-example-code/post/post_sample.htm

He leído esta pregunta:

¿Cómo hago para cargar Plupload directamente a Amazon S3?

Pero encontré que los ejemplos proporcionados son demasiado complicados y no pude implementarlos con precisión.

Mis intentos más recientes han sido utilizar partes de la biblioteca boto:

http: //boto.cloudhackers.com/ref/s3.html#module-boto.s3.connectio

Pero usar el método S3Commection.build_post_form_args tampoco me ha funcionado.

Si alguien pudiera proporcionar un ejemplo adecuado de cómo crear el formulario de publicación usando python, lo agradecería mucho. Incluso algunas ideas simples sobre por qué la conexión siempre se restablece sería bueno.

Algunas advertencias:

Me gustaría usar hashlib si es posible. Quiero obtener una respuesta XML de Amazon (presumiblemente "success_action_status = '201'" hace esto) Necesito poder cargar archivos de tipo grande, tamaño máximo ~ 2GB.

Una nota final, cuando ejecuto esto en Chrome, proporciona el progreso de carga, y la carga generalmente falla alrededor del 37%.

Respuestas a la pregunta(4)

Su respuesta a la pregunta