Google Cloud Storage (GCS) este o ofertă de stocare de obiecte foarte simplă și puternică de la Google, ca parte a platformei Google Cloud Platform (GC). Acesta oferă o soluție de stocare extrem de durabilă, scalabilă, consistentă și disponibilă pentru dezvoltatori și este aceeași tehnologie pe care Google o folosește pentru alimentarea propriului depozit de obiecte.
Este facturată cu a plătiți pentru ceea ce utilizați modelul și GCP vin cu o perioadă de probă de 60 de zile, deci puteți încerca să vedeți dacă se potrivește nevoilor organizației dvs. GCS are diferite niveluri de servicii (numite și clase de stocare) care pot fi alese după cum este necesar (discuțiile detaliate despre acestea sunt în afara acestui tutorial). GCS poate fi utilizată într-o varietate de scopuri, cum ar fi difuzarea conținutului site-urilor statice / dinamice, stocarea fișierelor de aplicații specifice utilizatorilor, recuperarea în caz de dezastru sau realizarea de către utilizatori a obiectelor mari de date.
Cei care au lucrat pe GCP vor ști că totul din GCP se învârte în jurul proiectelor. Fiecare proiect poate avea multe găleți în jurul căruia este structurată arhitectura Google Cloud Storage. Piesele sunt containerele de bază de pe GCS care conțin datele stocate. Acestea sunt folosite ca blocuri de bază pentru a vă organiza datele și pentru a arăta ca și folderele dintr-un sistem de operare, dar ele nu pot fi imbricate.
Fiecare cupă poate conține orice număr de obiecte, care pot fi dosare și / sau fișiere. La crearea unei găleți este atribuită o clasă de stocare și o locație geografică. Aceste setări pot fi specificate în timpul creării găleții, dar nu pot fi modificate mai târziu.
Piesele au convenții specifice de numire care trebuie respectate cu strictețe, altfel GCP nu vă va permite să creați o găleată. Numele cupetelor sunt unice la nivel global, deci ele trebuie alese într-un mod care să prevină conflictele. Cu toate acestea, un nume utilizat de o cuvă ștearsă poate fi reutilizat.
De asemenea, numele nu poate fi schimbat după ce a fost atribuit unei găleți. Singura soluție dacă doriți să o schimbați este să creați o nouă găleată cu numele dorit, să mutați conținutul din galeta precedentă la cel nou și apoi să ștergeți galeria anterioară.
În acest tutorial, vă vom prezenta cum să gestionați buchetele din Google Cloud Console. Acesta este urmat de un script Python, unde voi demonstra că efectuează aceleași operații programat.
Mai întâi, să vedem cum să gestionăm cupele folosind interfața de utilizator web furnizată de GCP, cunoscută sub numele de Google Cloud Console.
Deschideți browserul de stocare într-un browser web la alegere. Dacă sunteți utilizator pentru prima dată, vi se va solicita să creați mai întâi un proiect. De asemenea, se va afișa o opțiune de înscriere pentru o încercare gratuită. Continuați cu înregistrarea gratuită, altfel nu vi se va permite să creați o găleată nouă singură. În mod prestabilit, GCP oferă numai o găleată liberă pentru fiecare instanță a aplicației Engine Engine.
După ce ați terminat toate aceste procese formale, navigarea la această pagină ar trebui să deschidă pagina prezentată mai jos.
Pentru a crea o nouă găleată, faceți clic pe Creați Bucket butonul evidențiat mai sus. Creați o găleată completând numele dorit, după cum se arată mai jos. Numele trebuie să urmeze convențiile de denumire a cupei.
După ce ați creat o găleată, browserul GCS îl va afișa. Piesele pot fi șterse selectându-le din listă și făcând clic pe butonul de ștergere.
Dacă faceți clic pe butonul de reîmprospătare, se va umple interfața de utilizare cu orice modificări ale listei de coșuri, fără a reîmprospăta întreaga pagină.
Mai întâi, să creăm o instanță Google Compute Engine, care va permite demonstrarea rapidă a conceptelor vizate, mai degrabă decât să se ocupe de pașii suplimentari de autentificare pe mașinile locale. Pentru a crea o instanță GCE, deschideți linkul și faceți clic pe Creați instanță , după cum se arată mai jos.
Va apărea un formular care vă solicită detalii relevante, care pot fi completate la dispoziția dumneavoastră. Odată ce instanța GCE este creată, deschideți clientul SSH după cum se arată mai jos, care se deschide în mod implicit într-o fereastră nouă a browserului.
Ecranul clientului SSH va arăta exact așa cum se arată mai jos. Toate operațiile ulterioare din acest tutorial se vor face direct pe clientul SSH.
Mai jos sunt comenzile de care aveți nevoie pentru a configura noul server creat pentru un mediu de dezvoltare Python.
$ sudo apt-get actualizare $ sudo apt-get instalare python-dev python-setuptools $ sudo easy_install pip
Mai jos este dependența care trebuie instalată pentru scrierea acestui script.
$ sudo pip instalează google-api-python-client
La sistemele de producție, nu este recomandabil să instalați bibliotecile folosind "sudo". Vă rugăm să urmați cele mai bune practici Python virtualenv pentru acest lucru.
sys import de la pprint import pprint de la googleapiclient import de descoperire de la googleapiclient import http din import oauth2client.client GoogleCredentials def create_service (): credentials = GoogleCredentials.get_application_default () retur discovery.build ('storage', 'v1', credentials = (project), execute_bucket (project, name_name): service = create_service () res = service.buckets () () = .exercițiu (project = project, body = "nume": bucket_name) .execute () pprint (res) def delete_bucket (bucket_name) (bucket_name) .execute () pprint (res) def get_bucket (bucket_name): service = create_service () res = service.buckets "" Utilizare: python gcs_bucket.pyComanda poate fi: help: Imprimă această listă de ajutor: Listează toate gălețile din crearea de proiect specificată: Creați numele bușetului furnizat în ștergerea specificată a proiectului: Ștergeți numele cupa furnizat primiți: Obțineți detalii despre numele cuponului furnizat "" "dacă __name__ = = "__main__": dacă len (sys.argv) < 2 or sys.argv[1] == "help" or \ sys.argv[1] not in ['list', 'create', 'delete', 'get']: print_help() sys.exit() if sys.argv[1] == 'list': if len(sys.argv) == 3: list_buckets(sys.argv[2]) sys.exit() else: print_help() sys.exit() if sys.argv[1] == 'create': if len(sys.argv) == 4: create_bucket(sys.argv[2], sys.argv[3]) sys.exit() else: print_help() sys.exit() if sys.argv[1] == 'delete': if len(sys.argv) == 3: delete_bucket(sys.argv[2]) sys.exit() else: print_help() sys.exit() if sys.argv[1] == 'get': if len(sys.argv) == 3: get_bucket(sys.argv[2]) sys.exit() else: print_help() sys.exit()
Scriptul Python de mai sus demonstrează operațiile majore care pot fi efectuate pe o găleată. Acestea includ:
Să vedem cum arată aceste operații atunci când scriptul este rulat.
$ python gcs_bucket.py Utilizare: python gcs_bucket.pyComanda poate fi: help: Imprimă această listă de ajutor: Listează toate gălețile în crearea de proiecte specificate: Creați numele găleții furnizate în ștergerea specificată a proiectului: Ștergeți numele bușelor oferite primiți: Obțineți detalii despre numele cuponului furnizat $ python gcs_bucket.py list tutsplus-demo u'items ': [u'etag': u'CAE = ', u'id': u'tutsplus-demo.appspot.com ', u'kind': u'storage # bucket ', u'location ': u'US', u'metageneration ': u'1', u'name ': u'tutsplus-demo.appspot.com', u'projectNumber ': u'1234567890', u'selfLink ' : u'https: //www.googleapis.com/storage/v1/b/tutsplus-demo.appspot.com ', u'storageClass': u'STANDARD ', u'timeCreated': u'2016-10-05T15 : 30: 52.237Z ', u'updated': u'2016-10-05T15: 30: 52.237Z '], u'kind': u'storage # găleți ' $ python gcs_bucket.py crea tutsplus-demo tutsplus -demo-test u'etag ': u'CAE =', u'id ': u'tutsplus-demo-test', u'kind ': u'storage # bucket', u'location ': u'US 'u'metageneration': u'1 ', u'name': u'tutsplus-demo-test ', u'projectNumber': u'1234567890 ', u'selfLink': u'https: //www.goog leapis.com/storage/v1/b/tutsplus-demo-test ', u'storageClass': u'STANDARD ', u'timeCreated': u'2016-10-07T05: 55: 29.638Z ', u'updated' : u'2016-10-07T05: 55: 29.638Z ' $ python gcs_bucket.py obține tutsplus-demo-test u'etag': u'CAE = ', u'id': u'tutsplus-demo-test 'u'kind': u'storage # bucket ', u'location': u'US ', u'metageneration': u'1 ', u'name': u'tutsplus-demo-test ' ProjectNumber ': u'1234567890', u'selfLink ': u'https: //www.googleapis.com/storage/v1/b/tutsplus-demo-test', u'storageClass ': u'STANDARD', u ' timeCreated ': u'2016-10-07T05: 55: 29.638Z', u'updated ': u'2016-10-07T05: 55: 29.638Z' $ python gcs_bucket.py șterge tutsplus-demo-test "
În acest tutorial, ați văzut cum să gestionați buchete în Google Cloud Storage. Acest lucru a fost, de asemenea, însoțit de o mică introducere în crearea unei instanțe Google Compute Engine și utilizarea acesteia printr-un client SSH.
În tutorialul următor, voi detalia modul de gestionare a obiectelor, adică dosarelor și fișierelor din interiorul unei găleți.