Este es el comando pegasus-s3 que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
pegasus-s3: cargar, descargar y eliminar objetos en Amazon S3
SINOPSIS
pegaso-s3 ayuda
pegaso-s3 ls [opciones] Enlance
pegaso-s3 mkdir [opciones] URL ...
pegaso-s3 rmdir [opciones] URL ...
pegaso-s3 rm [opciones] [URL ...]
pegaso-s3 put [opciones] ARCHIVO Enlance
pegaso-s3 get [opciones] Enlance [ARCHIVO]
pegaso-s3 lsup [opciones] Enlance
pegaso-s3 montar [opciones] Enlance [Someter]
pegaso-s3 cp [opciones] SRC ... DEST
DESCRIPCIÓN
pegaso-s3 es un cliente para el servicio de almacenamiento de objetos de Amazon S3 y cualquier otro almacenamiento
servicios que cumplen con la API de Amazon S3, como Eucalyptus Walrus.
OPCIONES
Global De Seguros
-h, --ayuda
Mostrar mensaje de ayuda para el subcomando y salir
-d, --depurar
Activar la depuración
-v, --verboso
Mostrar mensajes de progreso
-C ARCHIVO, --conf=ARCHIVO
Ruta al archivo de configuración
rm De Seguros
-f, --fuerza
Si la URL no existe, ignore el error.
-F ARCHIVO, --expediente=ARCHIVO
Archivo que contiene una lista de URL para eliminar
put De Seguros
-c X, --tamaño de porción=X
Establezca el tamaño del fragmento para cargas de varias partes en X MB. Un valor de 0 desactiva multiparte
cargas. El valor predeterminado es 10 MB, el mínimo es 5 MB y el máximo es 1024 MB. Este parámetro
solo se aplica a sitios que admiten cargas multiparte (consulte multipart_uploads
parámetro de configuración en el CONFIGURACIÓN sección). El número máximo de fragmentos es
10,000, por lo que si está cargando un archivo grande, el tamaño del fragmento se
aumentado para permitir la carga. Elija valores más pequeños para reducir el impacto de
Fallos transitorios.
-p N, --paralelo=N
Usa N subprocesos para subir ARCHIVO en paralelo. El valor predeterminado es 4, que habilita
cargas paralelas con 4 hilos. Este parámetro solo es válido si el sitio admite
cargas múltiples y el --tamaño de porción el parámetro no es 0. De lo contrario, cargas paralelas
se desactivan.
-b, --crear-cubo
Cree el depósito de destino si aún no existe
get De Seguros
-c X, --tamaño de porción=X
Establezca el tamaño del fragmento para descargas paralelas en X megabytes. Un valor de 0 evitará
lecturas fragmentadas. Esta opción solo se aplica a los sitios que admiten descargas a distancia (consulte
parámetro de configuración ranged_downloads). El tamaño del fragmento predeterminado es de 10 MB, el mínimo es
1 MB y el máximo es 1024 MB. Elija valores más pequeños para reducir el impacto de transitorios
fallas
-p N, --paralelo=N
Utilice N subprocesos para cargar FILE en paralelo. El valor predeterminado es 4, que habilita
descargas paralelas con 4 hilos. Este parámetro solo es válido si el sitio admite
descargas a distancia y --tamaño de porción el parámetro no es 0. De lo contrario, descargas paralelas
se desactivan.
montar De Seguros
-a, --todas
Cancelar todas las cargas para el depósito especificado
cp De Seguros
-c, --crear-dest
Cree el depósito de destino si no existe.
-r, --recursivo
Si SRC es un depósito, copie todas las claves de ese depósito en DEST. En ese caso DEST
debe ser un cubo.
-f, --fuerza
Si DEST existe, sobrescríbalo.
SUBCOMANDAS
pegaso-s3 tiene varios subcomandos para diferentes operaciones de servicio de almacenamiento.
ayuda
El subcomando de ayuda enumera todos los subcomandos disponibles.
ls
El sistema ls El subcomando enumera el contenido de una URL. Si la URL no contiene un depósito,
a continuación, se enumeran todos los depósitos propiedad del usuario. Si la URL contiene un depósito, pero
sin clave, se enumeran todas las claves del depósito. Si la URL contiene un depósito y un
clave, se enumeran todas las claves del depósito que comienzan con la clave especificada.
mkdir
El sistema mkdir El subcomando crea uno o más depósitos.
rmdir
El sistema rmdir El subcomando elimina uno o más depósitos del servicio de almacenamiento. Con el fin de
eliminar un depósito, el depósito debe estar vacío.
rm
El sistema rm El subcomando elimina una o más claves del servicio de almacenamiento.
put
El sistema put El subcomando almacena el archivo especificado por FILE en el servicio de almacenamiento bajo el
depósito y clave especificados por URL. Si la URL contiene un depósito, pero no una clave, entonces el
El nombre del archivo se utiliza como clave.
Si ocurre una falla transitoria, la carga se reintentará varias veces antes
pegaso-s3 se rinde y falla.
El sistema put El subcomando puede realizar cargas tanto fragmentadas como paralelas si el servicio admite
cargas multiparte (ver cargas_multipart en la categoría Industrial. CONFIGURACIÓN sección). Actualmente solo
Amazon S3 admite cargas de varias partes.
Este subcomando comprobará el tamaño del archivo para asegurarse de que se pueda almacenar antes
intentando almacenarlo.
Las cargas fragmentadas son útiles para reducir la probabilidad de que falle una carga. Si una
la carga está fragmentada, luego pegaso-s3 emite solicitudes PUT separadas para cada parte del
expediente. Especificar trozos más pequeños (usando --tamaño de porción) reducirá las posibilidades de
la carga falla debido a un error transitorio. Los tamaños de fragmentos pueden oscilar entre 5 MB y 1 GB (fragmentos
los tamaños inferiores a 5 MB produjeron cargas incompletas en Amazon S3). El número máximo
de fragmentos para un solo archivo es 10,000, por lo que si se carga un archivo grande con un
tamaño de trozo pequeño, entonces el tamaño de trozo se incrementará para que quepa dentro del trozo de 10,000
límite. De forma predeterminada, el archivo se dividirá en trozos de 10 MB si el servicio de almacenamiento
admite cargas de varias partes. Las cargas fragmentadas se pueden deshabilitar especificando un tamaño de fragmento
de 0. Si la carga está fragmentada, cada fragmento se reintenta de forma independiente en
Fallos transitorios. Si algún fragmento falla de forma permanente, se cancela la carga.
Las cargas en paralelo pueden aumentar el rendimiento de los servicios que admiten cargas de varias partes.
En una carga paralela, el archivo se divide en N fragmentos y cada fragmento se carga
simultáneamente por uno de los subprocesos M por orden de llegada. Si el tamaño del trozo
se establece en 0, entonces las cargas paralelas están deshabilitadas. Si M> N, entonces el número real de
subprocesos utilizados se reducirá a N. El número de subprocesos se puede especificar utilizando el
- argumento paralelo. Si --parallel es 1, solo se usa un hilo. los
el valor predeterminado es 4. No hay un número máximo de subprocesos, pero es probable que el
El enlace estará saturado de 4 a 8 hilos.
En determinadas circunstancias, cuando una carga de varias partes falla, podría dejar datos
en el servidor. Cuando ocurre una falla put El subcomando intentará abortar el
subir. Si la carga no se puede abortar, entonces una carga parcial puede permanecer en el
servidor. Para comprobar si hay cargas parciales, ejecute el lsup subcomando. Si ves una carga
que falló en la salida de lsup, luego ejecute el montar subcomando para eliminarlo.
get
El sistema get El subcomando recupera un objeto del servicio de almacenamiento identificado por URL y
lo almacena en el archivo especificado por FILE. Si no se especifica FILE, entonces la clave es
utilizado como el nombre del archivo (Nota: si la clave tiene barras, entonces el nombre del archivo será un
subdirectorio relativo, pero pegaso-s3 no creará el subdirectorio si no
existe).
Si ocurre una falla transitoria, la descarga se reintentará varias veces antes
pegaso-s3 se rinde y falla.
El sistema get El subcomando puede realizar descargas tanto fragmentadas como paralelas si el servicio admite
descargas a distancia (ver Descargas a distancia en la categoría Industrial. CONFIGURACIÓN sección). Actualmente solo
Amazon S3 tiene un buen soporte para descargas a distancia. Eucalyptus Walrus soporta rangos
descargas, pero la versión actual, 1.6, es incompatible con la interfaz de Amazon y
tiene un error que hace que las descargas a distancia se bloqueen en algunos casos. Se recomienda que
Las descargas a distancia no se utilizarán con Eucalyptus hasta que se resuelvan estos problemas.
Las descargas fragmentadas se pueden utilizar para reducir la probabilidad de que falle una descarga. Cuando una
la descarga está fragmentada, pegaso-s3 emite solicitudes GET separadas para cada parte del
expediente. Especificar trozos más pequeños (usando --tamaño de porción) reducirá las posibilidades de que un
la descarga no realizará un error transitorio. Los tamaños de los fragmentos pueden oscilar entre 1 MB y 1 GB.
De forma predeterminada, una descarga se dividirá en trozos de 10 MB si el sitio admite rangos
descargas. Las descargas fragmentadas se pueden deshabilitar especificando un --tamaño de porción de 0. Si un
la descarga se fragmenta, luego cada fragmento se reintenta de forma independiente en transitorios
fracasos. Si algún fragmento falla permanentemente, se cancela la descarga.
Las descargas paralelas pueden aumentar el rendimiento de los servicios que admiten
descargas. En una descarga paralela, el archivo que se va a recuperar se divide en N fragmentos y
cada fragmento se descarga simultáneamente por uno de los subprocesos M por orden de llegada,
moda de primer servido. Si el tamaño del fragmento es 0, las descargas paralelas están deshabilitadas. Si
M> N, el número real de subprocesos utilizados se reducirá a N. El número de
Los subprocesos se pueden especificar usando el argumento --parallel. Si --parallel es 1, entonces solo
se utiliza un solo hilo. El valor predeterminado es 4. No hay un número máximo de
subprocesos, pero es probable que el enlace esté saturado por 4 a 8 subprocesos.
lsup
El sistema lsup El subcomando enumera las cargas multiparte activas. La URL especificada debe apuntar a
un balde. Este comando solo es válido si el sitio admite cargas de varias partes. los
El resultado de este comando es una lista de claves e ID de carga.
Este subcomando se usa con montar para ayudar a recuperarse de fallas de cargas de varias partes.
montar
El sistema montar el subcomando cancela y carga activa. La URL especificada debe apuntar a un
bucket, y UPLOAD es el ID de carga largo y complicado que muestra el lsup subcomando.
Este subcomando se usa con lsup para recuperarse de fallas de cargas de varias partes.
cp
El sistema cp El subcomando copia las claves en el servidor. Las claves no se pueden copiar entre cuentas.
Enlance FORMATO
Todas las URL de los objetos almacenados en S3 deben especificarse en el siguiente formato:
s3 [s]: // USUARIO @ SITIO [/ BUCKET [/ KEY]]
La parte del protocolo puede ser s3: // or s3s: //. Si s3s: // se usa, entonces pegaso-s3 obligará
la conexión para usar SSL y anular la configuración en el archivo de configuración. Si s3: // es
utilizado, entonces si la conexión utiliza SSL o no está determinado por el valor de la
punto final variable en la configuración del sitio.
El sistema USUARIO @ SITIO parte es necesaria, pero la CUBETA y VENTAJAS las piezas pueden ser opcionales dependiendo de
el contexto.
El sistema USUARIO @ SITIO parte se conoce como la "identidad", y la SITIO parte es referida
a como el "sitio". Tanto la identidad como el sitio se buscan en el archivo de configuración
(consulta: CONFIGURACIÓN) para determinar los parámetros que se utilizarán al establecer una conexión a
el servicio. La parte del sitio se usa para encontrar el host y el puerto, si se debe usar SSL y
otras cosas. La parte de identidad se utiliza para determinar qué tokens de autenticación
usar. Este formato está diseñado para permitir a los usuarios utilizar fácilmente múltiples servicios con múltiples
tokens de autenticación. Tenga en cuenta que ni el USUARIO ni la SITIO parte de la URL tiene alguna
significado fuera de pegaso-s3. No se refieren a nombres de usuario o nombres de host reales, pero son
en lugar de eso, se utilizan para buscar valores de configuración en el archivo de configuración.
La parte BUCKET de la URL es la parte entre la tercera y la cuarta barra. Los cubos son
parte de un espacio de nombres global que se comparte con otros usuarios del servicio de almacenamiento. Como
tales, deberían ser únicos.
La parte CLAVE de la URL es cualquier cosa después de la cuarta barra. Las claves pueden incluir barras, pero
Los servicios de almacenamiento similares a S3 no tienen el concepto de un directorio como los sistemas de archivos normales.
En cambio, las claves se tratan como identificadores opacos para objetos individuales. Así por ejemplo,
las llaves a / b y C.A tienen un prefijo común, pero no se puede decir que estén en el mismo directorio.
Algunos ejemplos de URL son:
s3: // ewa @ amazon
s3: //juve@skynet/gideon.isi.edu
s3://juve@magellan/pegasus-images/centos-5.5-x86_64-20101101.part.1
s3s: //ewa@amazon/pegasus-images/data.tar.gz
CONFIGURACIÓN
Cada usuario debe especificar un archivo de configuración que pegaso-s3 usará para mirar hacia arriba
parámetros de conexión y tokens de autenticación.
Buscar Path
Este cliente buscará en las siguientes ubicaciones, en orden, para localizar el usuario
archivo de configuración:
1. El argumento -C / - conf
2. La variable de entorno S3CFG
3. $ INICIO / .pegasus / s3cfg
4. $ INICIO / .s3cfg
Si no encuentra el archivo de configuración en una de estas ubicaciones, fallará con un
error. La ubicación $ HOME / .s3cfg solo se admite por compatibilidad con versiones anteriores.
En su lugar, debería usarse $ HOME / .pegasus / s3cfg.
Configuration Archive Formato
El archivo de configuración está en formato INI y contiene dos tipos de entradas.
El primer tipo de entrada es una entrada de sitio, que especifica la configuración para un almacenamiento
Servicio. Esta entrada especifica el punto final del servicio que pegaso-s3 debe conectarse a para
el sitio y algunas características opcionales que el sitio puede admitir. A continuación se muestra un ejemplo de
entrada de sitio para Amazon S3:
[Amazonas]
punto final = http://s3.amazonaws.com/
El otro tipo de entrada es una entrada de identidad, que especifica la autenticación
información para un usuario en un sitio en particular. A continuación, se muestra un ejemplo de una entrada de identidad:
[pegaso @ amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
Es importante tener en cuenta que los nombres de usuario y los nombres de sitios utilizados son solo lógicos, no
corresponden a nombres de host o nombres de usuario reales, pero simplemente se utilizan como una forma conveniente de
referirse a los servicios e identidades utilizados por el cliente.
El archivo de configuración debe guardarse con permisos limitados. Solo el dueño de la
archivo debe poder leer y escribir en él (es decir, debe tener permisos de
0600 o 0400). Si el archivo tiene permisos más liberales, entonces pegaso-s3 fallará con un
mensaje de error. El propósito de esto es evitar que los tokens de autenticación almacenados en el
archivo de configuración para que otros usuarios no accedan a él.
Configuration Variables
punto final (sitio)
La URL del punto final del servicio web. Si la URL comienza con https, entonces SSL será
usado.
tamaño_max_objeto (sitio)
El tamaño máximo de un objeto en GB (predeterminado: 5 GB)
cargas_multipart (sitio)
¿El servicio admite cargas de varias partes (verdadero / falso, predeterminado: falso)?
Descargas a distancia (sitio)
¿El servicio admite descargas a distancia? (Verdadero / Falso, predeterminado: Falso)
llave de acceso (identidad)
La clave de acceso a la identidad.
llave secreta (identidad)
La clave secreta de la identidad
Ejemplo Configuration
Esta es una configuración de ejemplo que especifica dos sitios (amazon y magellan) y
tres identidades (pegasus @ amazon, juve @ magellan y voeckler @ magellan). Por la amazonia
sitio, el tamaño máximo del objeto es 5TB, y el sitio admite cargas multiparte y
descargas a distancia, por lo que tanto las cargas como las descargas se pueden realizar en paralelo.
[Amazonas]
punto final = https://s3.amazonaws.com/
tamaño_objeto_máx = 5120
multipart_uploads = Verdadero
ranged_downloads = Verdadero
[pegaso @ amazon]
access_key = 90c4143642cb097c88fe2ec66ce4ad4e
secret_key = a0e3840e5baee6abb08be68e81674dca
[Magallanes]
# NERSC Magellan es un sitio de Eucalyptus. No admite cargas de varias partes,
# o descargas a distancia (los valores predeterminados), y el tamaño máximo del objeto es 5GB
# (también el predeterminado)
punto final = https://128.55.69.235:8773/services/Walrus
[juve @ magellan]
clave_acceso = quwefahsdpfwlkewqjsdoijldsdf
clave_secreta = asdfa9wejalsdjfljasldjfasdfa
[voeckler @ magellan]
# Cada sitio puede tener múltiples identidades asociadas
clave_acceso = asdkfaweasdfbaeiwhkjfbaqwhei
clave_secreta = asdhfuinakwjelfuhalsdflahsdl
EJEMPLO
Enumere todos los depósitos que pertenecen a la identidad usuario @ amazon:
$ pegasus-s3 ls s3: // usuario @ amazon
Enumere el contenido del depósito de caramelos para la identidad usuario @ amazon:
$ pegasus-s3 ls s3: // usuario @ amazon / bar
Lista de todos los objetos en el depósito de caramelos que empiezan con ¡Hola:
$ pegasus-s3 ls s3: // usuario @ amazon / bar / hola
Crea un depósito llamado micubo para la identidad usuario @ amazon:
$ pegasus-s3 mkdir s3: // usuario @ amazon / mybucket
Eliminar un depósito llamado micubo:
$ pegasus-s3 rmdir s3: // usuario @ amazon / mybucket
Subir un archivo foo al cubo de caramelos:
$ pegasus-s3 putfoo s3: // usuario @ amazon / bar / foo
Descarga un objeto foo en balde de caramelos:
$ pegasus-s3 obtener s3: // usuario @ amazon / bar / foo foo
Cargue un archivo en paralelo con 4 subprocesos y fragmentos de 100 MB:
$ pegasus-s3 put --parallel 4 --chunksize 100 foo s3: // usuario @ amazon / bar / foo
Descargue un objeto en paralelo con 4 subprocesos y fragmentos de 100 MB:
$ pegasus-s3 get --parallel 4 --chunksize 100 s3: // usuario @ amazon / bar / foo foo
Enumere todas las cargas parciales para el depósito de caramelos:
$ pegasus-s3 lsup s3: // usuario @ amazon / bar
Quitar todas las cargas parciales del depósito de caramelos:
$ pegasus-s3 rmup --todos los s3: // usuario @ amazon / bar
DEVOLUCION VALOR
pegaso-s3 devuelve un estado de existencia cero si la operación es exitosa. Una salida distinta de cero
El estado se devuelve en caso de falla.
Use pegasus-s3 en línea usando los servicios de onworks.net