2012-02-11 148 views
8

Confirme amablemente si esto correcto:Amazon S3: ¿Qué se considera solicitud PUT/COPY/POST/LIST?

  • PUT es, probablemente, la carga de archivos a S3?
  • COPY probablemente está copiando archivos dentro de S3?

¿Qué hay de la POST y LISTA?

Pregunta adicional, ¿get_bucket_filesize() y get_object_filesize() (desde PHP SDK) se consideran una solicitud LIST?

Respuesta

5

Desde mi experiencia en el uso de S3 (y también de los conceptos básicos de protocolo HTTP y REST), POST es la creación de un nuevo objeto (en S3, sería la carga de un nuevo archivo), y PUT es una creación de un nuevo objeto o actualización de un objeto existente (es decir, creación o actualización de un archivo). Cada vez que, por ejemplo, obtiene el contenido de un segmento S3 determinado, se está ejecutando una operación LIST. No ha preguntado, pero un GET es la descarga de un archivo desde S3 y DELETE obviamente sería la eliminación de un archivo. Por supuesto, estas suposiciones dependen de qué SDK está utilizando (parece que está utilizando el de PHP) y su implementación subyacente. Mi argumento es que es posible implementar una descarga usando un GET, una carga usando un PUT o un POST, y así sucesivamente.

Echando un vistazo a S3 REST API, supongo que get_bucket_filesize() se implementa como una LISTA (una operación GET en un depósito trae, junto con algunos datos más, el tamaño de cada objeto en la respuesta) y get_object_filesize() se implementa como un GET (el uso de la operación HEAD en un solo archivo también trae su tamaño incluido en los metadatos).

-1

Sí, tienes razón. PUT está cargando (específicamente, un archivo es uno PUT). Estaba viendo si PUT era por archivo o por tamaño de paquete, lo que dificultaría el precio. Está poniendo un archivo (sin referencia al tamaño).

TAMBIÉN, COPIA de hecho está copiando archivos dentro de S3, pero hay más. Vea abajo. También encontré referencias a POST y LIST; vea abajo.

Así que lo que aprendí sobre PUT/COPY/POST/LIST y GET Solicitudes durante la búsqueda para evaluar nuestros costos. También incluyo DONDE lo descubrí (quería obtenerlo todo de Amazon). Todas las correcciones son bienvenidas

La pregunta frecuente de Amazon está aquí: https://aws.amazon.com/s3/faqs/ y la haré referencia a continuación.

COPY pueden ser varias cosas, una de las cuales es copiar entre regiones lo que no cuesta. Por ejemplo, si almacena en West VA y COPY en la región norte de CA, eso implica un costo. La copia de EC2 a S3 (dentro de la misma región que presumo) no incurre en costos de transferencia. Consulte las preguntas frecuentes de Amazon en la sección P: ¿Cuánto cuesta Amazon S3?

NOTA: Escribir un archivo, luego volver a escribir el mismo archivo almacena ambas versiones (a menos que elimine algo). Supongo que no se le cobrará más si los archivos son exactamente iguales, pero no me envíe la factura si me equivoco. :-) Parece que el tamaño promedio (por un mes) es lo que se factura. Consulte las preguntas más frecuentes (enlace de arriba)

Para PUT, GET y DELETE, parece que un archivo es una transacción. Eso responde una gran pregunta para mí (no quería que su tamaño mínimo de 128k sea un PUT por cada paquete de 128k ... sí, estoy paranoico).Consulte la sección Pregunta de esta manera:

P: ¿Cómo se me cobrará y facturará mi uso de Amazon S3?

Solicitud Ejemplo:

Supongamos que transfiera 10.000 archivos en Amazon S3 y transferir 20.000 archivos de Amazon S3 cada día durante el mes de marzo. Luego, eliminas 5,000 archivos el 31 de marzo.

Total de solicitudes PUT = 10.000 solicitudes x 31 días = 310.000 solicitudes

Total solicitudes GET = 20.000 solicitudes x 31 días = 620.000 solicitudes

DELETE Total solicitudes = 5.000 × 1 día = 5.000 solicitudes

LISTA se menciona bajo la pregunta: P: ¿Puedo usar las API de Amazon S3 o la Consola de administración para enumerar los objetos que he archivado en Amazon Glacier? Básicamente se trata de obtener una lista de archivos ... un directorio, si se quiere.

POST se menciona en el RESTObjectPost.html aquí: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

Yo espero que ayude. Sin duda me hizo sentir más cómodo con lo que nos cobrarían.

1

No hay mucha diferencia entre PUT y POST. Lo siguiente fue copiado de la documentación de AWS S3.

Post es una forma alternativa de PUT que permite subir vídeos basados ​​en el navegador como una forma de poner los objetos en cubos. Los parámetros que se pasan a PUT a través de encabezados HTTP se pasan en su lugar como campos de formulario a POST en el cuerpo de mensaje codificado multipart/form-data.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html

Como otros ha especificado lista es para la inclusión de objetos. Puede encontrar todas las operaciones en el siguiente enlace.

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketOps.html