Package: gcloud_storage_api
Descrizione del Servizio gCloud StorageIntroduzione a gCloudgCloudè il servizio 100% italiano diStorage & Retrievalche consente di memorizzare i dati in qualsiasi formato, in qualsiasi momento, da qualsiasi posizione, assicurandone la disponibilità sempre e da qualunque piattaforma.La soluzionegCloudsi caratterizza per l’uso di tecnologie e infrastrutture totalmente italiane.Il codice a filiera controllata è prodotto e gestito internamente daSchema31, società ICT italiana fra le prime ad ottenere l’iscrizione all’Albo dei Conservatori Accreditati.Per sua costituzione, quindi,gCloudgarantisce 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 laConservazione Sostitutiva a Norma.gCloudmette a disposizione per i developers una piattaforma diStorage as a Service(SaaS) ed un nutrito corredo diApplication 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 diWebServices.È possibile visualizzare la videoguida al servizio di gCloud:e i due videotutorial per scoprire, invece, come utilizzare il pannello di amministrazione:Inizia subito ad utilizzare gCloud con la versione gratuita disponibile aquesto indirizzo.Installazione e Utilizzo di baseInstallazioneLinuxInstallazione di pipSe non è già presente, è necessario installare il sistema di packaging PIP:Distribuzioni basate su DEB (Debian, Ubuntu, ecc.)sudo apt-get install python-pipDistribuzioni basate su RPM (RedHat, CentOS, Fedora, ecc.)sudo yum -y install python-pipAltre distribuzioni:seguire:https://pip.pypa.io/en/latest/installing.htmlInstallazione di gcloud_storage_apisudo pip install gcloud_storage_apiMacOsXsudo easy_install pip
sudo pip install gcloud_storage_apiMicrosoft WindowsScarica ed installaPythondal sito ufficiale, il sistema di packaging PIP è incluso nell’installazione base a partire dalla versione 2.7.9C:\Users\robota>cd \Python27\Scripts
C:\Python27\Scripts>pip.exe install gcloud_storage_apiCome utilizzare un repository gGcloud StorageRegistrazionePer poter utilizzare le funzionalità di gCloud occorre effettuare la registrazione.La registrazione si effettua accedendo allaHome Page di gCloude cliccando suRegistrati.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à.LoginPer poter accedere alPannello di amministrazione di gCloudè necessario effettuare il login utilizzando uno dei provider di autenticazione disponibili.Una volta autenticati, è possibile accedere allaDashboarde al menu laterale sinistro che consente di utilizzare le diverse funzionalità di gCloud.LaBreadcrumb(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.Creazione di un repositoryUnrepositoryè il contenitore in cui vengono salvati i file sugCloud.
Cliccando sul tastoStorageè possibile accedere alla sezione relativa al Livello di Servizio sottoscritto.
Dal livello di servizio dipende anche il numero di repository che è possibile creare.La sezioneStoragemostra tutti i repository già definiti e le statistiche di utilizzo complessive (spazio occupato e conteggio di upload / download effettuati).Cliccando suCrea un nuovo repositorysi accede al pannello di settaggio delle caratteristiche del nuovorepository: nome, stato di abilitazione (unrepositorydisabilitato è accessibile dal solo pannello di controllo) e privilegi di accesso (un repositorypubblicoè accessibile da chiunque, mentre un repositoryprivatoè accessibile solo tramite autenticazione).Una volta completato il settaggio, cliccando sul tastoSalvail nostro repository viene creato.Salvataggio di un fileUna volta creato, il nuovo repository è subito pronto all’uso.
E’ possibile quindi visualizzare la pagina di dettaglio dove vengono riportate:statistiche di utilizzo del repositoryla configurazione attuale del repositoryl’elenco delle chiavi di autenticazione associatel’elenco delle condivisioni effettuate.Cliccando suEsplorafile si accede alla pagina di elenco dei file salvati nel repository.Cliccando sul tastoApri gestore uploadsi 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ùAzioniposto alla destra di ciascuna risorsa.Gestione dei fileLa gestione delle risorse è possibile accedendo alla sezioneEsplora file.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, suDownload fileviene avviata la procedura di download e cliccando suCancella fileil file viene spostato nel cestino.Gestione di un repositoryNella pagina di dettaglio delrepositoryè possibile visualizzare le sue caratteristiche e accedere a tutte le funzionalità di gestione, tra cui:modificare le proprietà di un repository e le sue opzioni avanzateeliminare il repositorycancellare tutti i file contenuti all’interno del repositorye altre ancora.Utilizzo della command line InterfaceHelpifebi@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 ugualiAutenticazione: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=Tb4vjY0f3mV0HRyo4F0LyOQql87vxguROKK5Jz3HWhat 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 Risorsasend => 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_storageAl 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 noMetodo lsQuesto metodo viene usato per ottenere informazioni sulle risorse contenute nel repository di riferimento.gcloud_storage -r $REPONAME -k $REPOKEY -w lsIl 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'}]Metodo sendPer effettuare l’upload di un file direttamente su gCloud usando la riga di comando si utilizza il metodosend.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.jpgPer 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.jpgIn 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 comandogcloud_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.jpgIn questo modo il file sarà salvato su gCloud con il nome pubblico che si è specificato e non con il suo nome originale.Metodo detailIl metododetailconsente 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.Metodo getIl metodogetviene 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.Metodo deletePer cancellare una risorsa contenuta nel repository si può usare il metododelete.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.Metodo versionIl metodoversionconsente 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.CreditsSchema31 è 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.gCloudIl cloud 100% italiano aderente alle normative vigenti e certificato AgID per ospitare la conservazione a norma dei documenti.L’unico Cloud 100% italianogCLoud 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 datiIl 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.