2017-08-09 3 views
2

j'ai gardé fichier d'exemple à l'emplacement GCS pour par exemple: gs://MyBucket/Folder1/sampleData.csvImpossible d'accéder au fichier conservé dans le chemin seau de stockage google par script python

Maintenant, je suis en train d'accéder à ce fichier via mon script python, mais je suis incapable de fais-le.

Le script python:

import argparse 
import json 
import time 
import uuid 
import csv 
from google.cloud import bigquery 
from google.cloud.bigquery import SchemaField 
from google.cloud import storage 
import os 
import sys 
import googleapiclient.discovery 


bigquery = googleapiclient.discovery.build('bigquery', 'v2') 

client = storage.Client() 
bucket = client.get_bucket('MyBucket') 
print bucket 

blob = bucket.get_blob('gs://MyBucket/Folder1/sampleData.csv') 
print(blob.download_as_string()) 

Répondre

1

Vous essayez d'accéder au stockage en nuage Google, mais une portée vous a donné BigQuery.

Veuillez voir l'exemple de script python pour lister les fichiers et accéder à l'objet. Remplacez le nom du compartiment et le nom de l'objet et exécutez le code. Ça devrait marcher.

import argparse 
import json 

import googleapiclient.discovery 

service = googleapiclient.discovery.build('storage', 'v1') 


#### List Bucket 
fields_to_return = \ 
     'nextPageToken,items(name,size,contentType,metadata(my-key))' 
req = service.objects().list(bucket='XYZ', fields=fields_to_return) 
resp = req.execute() 
print resp 

### Get Object 
req = service.objects().get_media(bucket='XYZ', object='ad_list04_08_2017.csv') 
result=req.execute() 
print result 
+0

Merci de votre aide. J'avais du mal à avoir accès aux objets du seau. ça a marché pour moi. – GaurangR