Installieren des Google Cloud SDK ~ Initialisieren
Erstellen Sie ein Projekt mit Google Cloud SDK
$ gsutil ist ein Befehl zum Betreiben des Speichers.
$ gsutil mb -l us-central1 gs://Eimername
$gsutil cp lokaler Dateipfad gs://Eimername/Verzeichnisname/Dateiname
Erstellen Sie ein Dienstkonto / einen Dienstkontoschlüssel, damit Sie von Python aus auf GCS zugreifen können.
gcloud iam service-Konten erstellen den Namen des Dienstkontos\
--display-Name Anzeigename des Dienstkontos\
gcloud projects get-iam-policy mypj-id
# bindings:
# - members:
# - user:[email protected]
# role: roles/owner
# etag: BwWeTrntoao=
# version: 1
Gewähren Sie Speicheradministratorrechte
gcloud projects add-iam-policy-verbindliche Projekt-ID\
--member serviceAccount:Name des [email protected] \
--role roles/storage.admin
https://cloud.google.com/iam/docs/understanding-roles?hl=ja#predefined_roles
gcloud projects get-iam-policy mypj-id
# bindings:
# - members:
# - user:[email protected]
# role: roles/owner
# - members:
# - serviceAccount:[email protected]
# role: roles/storage.admin
# etag: BwWeTz6vIBY=
# version: 1
$ gcloud iam service-accounts keys create ./service_account_keys/anata_no_key.json \
--iam-Kontodienst [email protected]
.
├── .env
├── service_account_keys/
│ └── anata_no_key.json
└── working/
└── main.py
.env
Verwenden Sie diese Beschreibung, um den Pfad des Dienstkontoschlüssels festzulegen, den Sie zuvor in der Umgebungsvariablen erstellt haben. ** * Relativer Pfad aus der Ladequelldatei (Datei load_dotenv ()) **
.env
GOOGLE_APPLICATION_CREDENTIALS=./service_account_keys/anata_no_key.json
Installieren Sie google-cloud-storage`` python-dotenv`` pandas
mit pip
$ pip install google-cloud-storage python-dotenv pandas
main.py
import os
from io import BytesIO
from dotenv import load_dotenv
from google.cloud import storage
import pandas as pd
# .Setzen Sie den Inhalt von env auf Umgebungsvariablen
load_dotenv('./.env')
PROJECT_NAME = 'anata_no_project'
BUCKET_NAME = 'anata_no_bucket'
FILE_NAME = 'path/to/dir/train.csv' # gs://Eimername/~Der folgende Pfad
client = storage.Client(PROJECT_NAME)
bucket = client.get_bucket(BUCKET_NAME)
blob = storage.Blob(FILE_NAME, bucket)
data = blob.download_as_string()
df = pd.read_csv(BytesIO(data))
print(df)
Es ist in Ordnung, wenn es als df angezeigt wird.
Recommended Posts