Metadata-Version: 1.1
Name: gcloud_storage_api
Version: 0.0.65
Summary: gCloud - The Cloud made in Italy Python API
Home-page: http://gcloud.schema31.it
Author: Ilario Febi
Author-email: ifebi@schema31.it
License: BSD
Description: Descrizione del Servizio gCloud Storage
        =======================================
        
        Introduzione a gCloud
        ---------------------
        
        **gCloud** è il servizio 100% italiano di *Storage & Retrieval* che consente di memorizzare i dati in qualsiasi formato, in qualsiasi momento, da qualsiasi posizione, assicurandone la disponibilità sempre e da qualunque piattaforma.
        
        La soluzione **gCloud** si caratterizza per l’uso di tecnologie e infrastrutture totalmente italiane. 
        
        Il codice a filiera controllata è prodotto e gestito internamente da Schema31_, società ICT italiana fra le prime ad ottenere l’iscrizione all’**Albo dei Conservatori Accreditati**. 
        
        
            .. image:: http://storage.gcloud.schema31.it/obj/9bc45749-e211-445f-9519-0fc77d0ef5bb
                :target: http://www.schema31.it/
                :alt: Schema31
        
        
        Per sua costituzione, quindi, **gCloud** garantisce totale aderenza alle normative vigenti italiane, il che lo rende fondamentale per lo sviluppo di servizi pensati specificamente per la realtà italiana, quali ad esempio la **Conservazione Sostitutiva a Norma**.
        
        **gCloud** mette a disposizione per i developers una piattaforma di **Storage as a Service** (SaaS) ed un nutrito corredo di **Application Programming Interfaces** (API) cui far riferimento nelle proprie attività di sviluppo.
        
        Ciò rende possibile la gestione di documenti e dati in sicurezza ed affidabilità, attraverso comode interfacce accedibili sotto forma di *WebServices*.
        
        
        È possibile visualizzare la videoguida al servizio di gCloud:
         
        
            .. image:: http://storage.gcloud.schema31.it/obj/49003e17-4149-4871-9631-bb3111224ea1
                :target: https://www.youtube.com/watch?v=4JA-ZugZkFE
                :alt: Upload
        
        
        e i due videotutorial per scoprire, invece, come utilizzare il pannello di amministrazione:
        
        
            .. image:: http://storage.gcloud.schema31.it/obj/b4bc4883-7551-4135-a557-e09817f25616
                :target: https://www.youtube.com/watch?v=SPBby-z1m6I
                :alt: Upload
        
        
            .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
            .. image:: http://storage.gcloud.schema31.it/obj/0a361b9d-af85-47fc-a545-87b5aa5ad10a
                :target: https://www.youtube.com/watch?v=SPBby-z1m6I
                :alt: Upload
        
        
        Inizia subito ad utilizzare gCloud con la versione gratuita disponibile a `questo indirizzo <http://gcloud.schema31.it/#prezzo>`_.
        
        
            .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        
        
        
        .. _Schema31: http://www.schema31.it/
        
        
        
        
        
        ------------
        
        Installazione e Utilizzo di base
        ================================
        
        Installazione
        -------------
        
        Linux
        ''''''
        Installazione di pip
        ^^^^^^^^^^^^^^^^^^^^
        Se non è già presente, è necessario installare il sistema di packaging PIP:
        
        Distribuzioni basate su DEB (Debian, Ubuntu, ecc.)
        __________________________________________________
        
        ::
        
         sudo apt-get install python-pip
        
        Distribuzioni basate su RPM (RedHat, CentOS, Fedora, ecc.)
        __________________________________________________________
        
        ::
        
         sudo yum -y install python-pip
        
        Altre distribuzioni:
        ____________________
        seguire:
        https://pip.pypa.io/en/latest/installing.html
        
        
        Installazione di gcloud_storage_api
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        
        ::
        
         sudo pip install gcloud_storage_api
        
        
        MacOsX
        ''''''
        
        ::
        
         sudo easy_install pip
         sudo pip install gcloud_storage_api
        
        
        Microsoft Windows
        ''''''''''''''''''
        Scarica ed installa Python_ dal sito ufficiale, il sistema di packaging PIP è incluso nell'installazione base a partire dalla versione 2.7.9
        
        .. _Python: http://www.python.org/dowload/
        
        ::
        
         C:\Users\robota>cd \Python27\Scripts
         C:\Python27\Scripts>pip.exe install gcloud_storage_api
        
        
        
        
        
        
        
        
        ------------
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Come utilizzare un repository gGcloud Storage
        =============================================
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Registrazione
        -------------
        
        Per poter utilizzare le funzionalità di gCloud occorre effettuare la registrazione.
        
        La registrazione si effettua accedendo alla `Home Page di gCloud <http://gcloud.schema31.it>`_ e cliccando su **Registrati**.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/1402ba0a-99f7-417e-b57b-e85410547563
        		:target: http://gcloud.schema31.it
        		:alt: gCloud
        
        
        Sarà quindi possibile creare un account utilizzando uno dei provider di autenticazione disponibili.
        
        Una volta completate tutte le fasi della registrazione a gCloud, sarà possibile effettuare il Login e cominciare ad utilizzare tutte le sue funzionalità.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Login
        -----
        
        Per poter accedere al `Pannello di amministrazione di gCloud <http://admin.gcloud.schema31.it>`_ è necessario effettuare il login utilizzando uno dei provider di autenticazione disponibili.
        
        Una volta autenticati, è possibile accedere alla **Dashboard** e al menu laterale sinistro che consente di utilizzare le diverse funzionalità di gCloud. 
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/302f4b5b-c65f-4dc9-b000-6c2da0b0b0c4
        	   :alt: dashboard
        
        
        La **Breadcrumb** (o barra superiore) indica la posizione della pagina attuale rispetto alla struttura dell’applicativo e permette di tornare ai livelli superiori cliccando sulle rispettive voci.  
        
        
        	.. image::  http://storage.gcloud.schema31.it/obj/f6770f5a-e922-4a8e-bffd-4956bcafa5ba
        
        
        Creazione di un repository
        --------------------------
        
        Un **repository** è il contenitore in cui vengono salvati i file su **gCloud**.
        Cliccando sul tasto **Storage** è possibile accedere alla sezione relativa al Livello di Servizio sottoscritto.
        Dal livello di servizio dipende anche il numero di repository che è possibile creare.
        
        La sezione **Storage** mostra tutti i repository già definiti e le statistiche di utilizzo complessive (spazio occupato e conteggio di upload / download effettuati).
        
        Cliccando su **Crea un nuovo repository** si accede al pannello di settaggio delle caratteristiche del nuovo *repository*: nome, stato di abilitazione (un *repository* disabilitato è accessibile dal solo pannello di controllo) e privilegi di accesso (un repository **pubblico** è accessibile da chiunque, mentre un repository **privato** è accessibile solo tramite autenticazione).
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/6a604c10-7873-4a5a-9d47-ebdf937b6caf
        	   :alt: newRepository
        
        
        Una volta completato il settaggio, cliccando sul tasto **Salva** il nostro repository viene creato.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/f6770f5a-e922-4a8e-bffd-4956bcafa5ba
        
        
        Salvataggio di un file
        ----------------------
        
        Una volta creato, il nuovo repository è subito pronto all’uso.
        E’ possibile quindi visualizzare la pagina di dettaglio dove vengono riportate:
        
        1. statistiche di utilizzo del repository
        2. la configurazione attuale del repository
        3. l’elenco delle chiavi di autenticazione associate
        4. l’elenco delle condivisioni effettuate. 
        
        
        Cliccando su **Esplora** file si accede alla pagina di elenco dei file salvati nel repository.
        
        Cliccando sul tasto **Apri gestore upload** si accede alla sezione relativa all’upload dei file.
        
        Si apre una nuova finestra per la selezione dei file da aggiungere al repository.
        
        Selezioniamo tutti i file che intendiamo aggiungere, tramite il tasto Aggiungi file e clicchiamo su Inizia Upload per procedere al loro salvataggio.
        
        Terminata la procedura di salvataggio, i file sono subito pronti all’uso e gestibili tramite il menù **Azioni** posto alla destra di ciascuna risorsa.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/f6770f5a-e922-4a8e-bffd-4956bcafa5ba
        
        
        Gestione dei file
        -----------------
        
        La gestione delle risorse è possibile accedendo alla sezione **Esplora file**.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/3ab189a6-9202-46d8-9ca7-30f1222da913
        	    :alt: Upload
        
        
        Sul lato destro di ogni risorsa è possibile visualizzare il menu di gestione dei file.
        
        Oltre a visualizzare i dettagli completi del singolo file, è possibile modificarlo, sostituirlo, oltre a generare una shortUrl per la condivisione, in caso di repository privato. Cliccando, ad esempio, su **Download file** viene avviata la procedura di download e cliccando su **Cancella file** il file viene spostato nel cestino.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/f6770f5a-e922-4a8e-bffd-4956bcafa5ba
        
        
        Gestione di un repository
        --------------------------
        
        Nella pagina di dettaglio del *repository* è possibile visualizzare le sue caratteristiche e accedere a tutte le funzionalità di gestione, tra cui:
        
        1. modificare le proprietà di un repository e le sue opzioni avanzate
        2. eliminare il repository
        3. cancellare tutti i file contenuti all’interno del repository
        
        e altre ancora.
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/88993db0-73f8-4190-9379-92226ef23b83
        	   :alt: repository
        
        
        
        
        
        ------------
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Utilizzo della command line Interface
        --------------------------------------
        
        Help
        ''''
        ::
        
         ifebi@qui ~ $ gcloud_storage --help
         usage: gcloud_storage [-h] -w {detail,send,get,delete,ls,version} -r
                              REPOSITORYNAME -k AUTHKEY [-f FILEKEY] [-l LOCAL_FILE]
                              [-p PUBLIC_NAME] [-d]
        
         gCloud Info test
        
         optional arguments:
          -h, --help            show this help message and exit
          -w {detail,send,get,delete,ls,version}, --what {detail,send,get,delete,ls,version}
                                What??
          -r REPOSITORYNAME, --repositoryname REPOSITORYNAME
                                Nome del repository
          -k AUTHKEY, --authkey AUTHKEY
                                Authentication key
          -f FILEKEY, --filekey FILEKEY
                                FileKey
          -l LOCAL_FILE, --local-file LOCAL_FILE
                                File locale da inviare o dove scaricare
          -p PUBLIC_NAME, --public-name PUBLIC_NAME
                                Nome del file sul repository
          -d, --is-different    verifica se il file locale e remoto sono uguali
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Autenticazione:
        ---------------
        
        Per utilizzare cgloud_storage via command line è necessario specificare sempre i parametri di autenticazione che identificano il repository sul quale si intende lavorare.
        
        In questo esempi, al fine di evitare inutili ripetizioni, verranno impostate le due seguenti variabili bash:
        
        ::
        
         REPONAME=api_python
         REPOKEY=Tb4vjY0f3mV0HRyo4F0LyOQql87vxguROKK5Jz3H
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        What should I do:
        -----------------
        
        Un altro parametro indispensabile al funzionamento di gcloud_storage è *"what"* abbreviazione di *"What should I do"* ovvero *"cosa devo fare"*. 
        
        ::
        
         gcloud_storage [-h] -w {detail,send,get,delete,ls,version} -r REPOSITORYNAME -k AUTHKEY [-f FILEKEY] [-l LOCAL_FILE] [-p PUBLIC_NAME] [-d]
        
        
        Con questo parametro indichiamo a gcloud_storage l'azione che vogliamo intraprendere.
        Le opzioni disponibili sono:
        
        Definizione di Risorsa
        
        
        * send => per inviare un file sul repository.
        * datail => per ottenere dettagli relativi ad una risorsa.
        * get => per scaricare un file dal repository.
        * delete => per eliminare una risorsa dal repository.
        
        * ls => per visualizzare l'elenco delle risorse disponibili sul repository.
        * version => per visualizzare la versione di gcloud_storage
        
        
        Al comando possono essere aggiunte ulteriori informazioni per rendere l'azione più specifica.
        Ad esempio:
        
        * -f FILEKEY => per indicare la fileKey della risorsa che si intende scaricare, aggiornare o di cui si vogliono ottenere i dettagli
        * -l LOCAL_FILE => per indicare il file locale che si intende inviare
        * -p PUBLIC_NAME => per indicare il nome pubblico con cui eventualmente salvare su gCloud la risorsa
        * -d => per indicare se la versione corrente di un file e la versione precedente debbano avere md5 diverso oppure no
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo ls
        ''''''''''''''''
        
        Questo metodo viene usato per ottenere informazioni sulle risorse contenute nel repository di riferimento.
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w ls
        
        
        Il risultato di questo comando è l'elenco delle risorse contenute nel repository e dei dettagli di ciascuna di esse.
        
        ::
        
         [{u'fileSHA256': u'4a22e51989663379723b4c32f7ce43bb40dcc5a815a3d4a997e9387467b1e98c'
         u'updateTime': u'2015-07-03 14:38:25'
         u'friendlyUrl': u'http://storage.gcloud.schema31.it/obj/51e6b534-56ed-4498-877c-866e71369fd1'
         u'fileVersion': u'1'
         u'fileMimeType': u'application/octet-stream'
         u'fileKey': u'51e6b534-56ed-4498-877c-866e71369fd1'
         u'creationTime': u'2015-07-03 14:38:25'
         u'fileMD5': u'22edda34bb4b56c23026b9250a1e71de'
         u'fileName': u'a.jpg'
         u'fileSize': u'225813'
         u'linkUrl': u'http://storage.gcloud.schema31.it/dispatch/51e6b534-56ed-4498-877c-866e71369fd1'
         u'isDeleted': u'0'}
        
         {u'fileSHA256': u'4a22e51989663379723b4c32f7ce43bb40dcc5a815a3d4a997e9387467b1e98c'
         u'updateTime': u'2015-07-03 12:50:04'
         u'friendlyUrl': u'http://storage.gcloud.schema31.it/obj/b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'fileVersion': u'2'
         u'fileMimeType': u'application/octet-stream'
         u'fileKey': u'b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'creationTime': u'2015-07-03 12:50:04'
         u'fileMD5': u'22edda34bb4b56c23026b9250a1e71de'
         u'fileName': u'a.jpg'
         u'fileSize': u'225813'
         u'linkUrl': u'http://storage.gcloud.schema31.it/dispatch/b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'isDeleted': u'0'}]
        
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo send
        ''''''''''''''''
        
        Per effettuare l'upload di un file direttamente su gCloud usando la riga di comando si utilizza il metodo **send**.
        
        
        Esistono diversi possibili utilizzi di questo metodo, a seconda se si voglia caricare un nuovo file, una nuova versione di un file esistente o caricare un file impostando un nome pubblico diverso da quello originale.
        
        Per caricare un file su gCloud si usa:
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w send -l a.jpg
        
        
        Per creare una nuova versione di un file preesistente si usa:
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w send -f 'b4c89b34-1b8b-4538-9301-1bc96476c461' -l a.jpg
        
        
        In questo caso occorre specificare la fileKey della risorsa che intendiamo aggiornare.
        Il file che viene inviato andrà a sostituire il file che possiede la fileKey indicata, diventandone così una nuova versione.
        
        Aggiungendo il comando
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w send -f 'b4c89b34-1b8b-4538-9301-1bc96476c461' -l a.jpg -d
        
        
        è possibile specificare che l'aggiornamento del file deve avvenire solo ed esclusivamente a patto che l'ultima versione online e quella locale siano diverse.
        
        
        Nel caso in cui si voglia inviare un file indicando un nome pubblico diverso da quello originale, si può usare il comando:
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w send -l a.jpg -p b.jpg
        
        
        In questo modo il file sarà salvato su gCloud con il nome pubblico che si è specificato e non con il suo nome originale.
        
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo detail
        ''''''''''''''''
        
        Il metodo **detail** consente di ottenere tutte le informazioni del file inviato:
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w detail [-f FILEKEY] [-l LOCAL_FILE] [-p PUBLIC_NAME]
        
        
        Per ottenere i dettagli del file occorre indicarne, a seconda delle preferenze, la fileKey, il nome del file o il nome pubblico con cui lo si è salvato nel repository.
        
        
        ::
        
         [{u'fileSHA256': u'4a22e51989663379723b4c32f7ce43bb40dcc5a815a3d4a997e9387467b1e98c'
         u'updateTime': u'2015-07-03 10:43:01'
         u'friendlyUrl': u'http://storage.gcloud.schema31.it/obj/b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'fileVersion': u'1'
         u'fileMimeType': u'application/octet-stream'
         u'fileKey': u'b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'creationTime': u'2015-07-03 10:43:01'
         u'fileMD5': u'22edda34bb4b56c23026b9250a1e71de'
         u'fileName': u'a.jpg'
         u'fileSize': u'225813'
         u'linkUrl': u'http://storage.gcloud.schema31.it/dispatch/b4c89b34-1b8b-4538-9301-1bc96476c461'
         u'isDeleted': u'0'}]
        
        
        Il risultato di questo metodo è l'elenco di tutte le caratteristiche del file.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo get
        ''''''''''''''''
            
        Il metodo **get** viene usato per scaricare un determinato file dal repository.
        
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w get -f 'b4c89b34-1b8b-4538-9301-1bc96476c461' [-l LOCAL_FILE] [-p PUBLIC_NAME]
        
        
        In questo caso occorre indicare obbligatoriamente la fileKey della risorsa che si intende scaricare e, a seconda delle preferenze, il nome oppure il nome pubblico.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo delete
        ''''''''''''''''
        
        Per cancellare una risorsa contenuta nel repository si può usare il metodo **delete**.
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w delete -f 'b4c89b34-1b8b-4538-9301-1bc96476c461'
        
        
        Questo metodo richiede che nel comando sia obbligatoriamente indicata del file che si intende eliminare.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Metodo version
        ''''''''''''''''
        
        Il metodo **version** consente di ottenere informazioni sulla versione corrente di un file.
        
        ::
        
         gcloud_storage -r $REPONAME -k $REPOKEY -w version [-l LOCAL_FILE] [-p PUBLIC_NAME]
        
        
        In questo caso occorre indicare obbligatoriamente la fileKey del file di cui si intende conoscere la versione e, in aggiunta a seconda delle preferenze, il nome del file oppure il suo nome pubblico.
        
        
        
          .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        
        
        
        
        
        
        ------------
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        Credits
        =======
        
        
        	.. image:: http://storage.gcloud.schema31.it/obj/9bc45749-e211-445f-9519-0fc77d0ef5bb
        			:target: http://www.schema31.it/
        			:alt: Schema31
        
        Schema31 è una dinamica azienda italiana in rapida crescita specializzata  nella consulenza in analisi di processo, lo sviluppo dei sistemi e l’ingegneria informatica.  
        
        La Società dispone di una speciale combinazione di competenze in ambito Process Analisys/Change Management ed Information/Communication Technology (ICT) che le consente di  assistere e supportare efficacemente Clienti Enterprise (sia pubblici che privati) a governare le proprie attività, e di realizzare per essi procedure e sistemi applicativi etici e sicuri.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        gCloud
        ------
        
        
        Il cloud 100% italiano aderente alle normative vigenti e certificato AgID per ospitare la conservazione a norma dei documenti.
        
        **L'unico Cloud 100% italiano**
            gCLoud si caraterizza univocamente per il suo affidamento su tecnologie e infrastrutture totalmente italiane, basate su una localizzazione dei dati specificatamente residente sul comprensorio geografico nazionale.
        
        **Inattacabilità dei dati**
            Il nostro codice a filiera controllata è prodotto e gestito internamente, e garantisce una totale aderenza alle normative vigenti italiane. Questa assoluta certificazione ne garantisce l'inattaccabilità per i tuoi dati.
        
        **Massima interoperabilità**
            L'utilizzo di protocolli standard per la realizzazione del software ne garantisce l'integrazione con tutte le più comuni piattaforme.
        
        
        .. image:: http://storage.gcloud.schema31.it/obj/ffac1141-26f6-4421-806b-02a68e8fde42
        
        
        
         
Keywords: gcloud,schema31,Schema 31
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: Italian
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Environment :: Console
