Я пытаюсь прочитать файл в корзине Google Cloud Storage с кодом Python, но получаю сообщение об ошибке

Я пытаюсь прочитать файл, хранящийся в Python корзины Google Cloud Storage:

textfile = open("${gcs_bucket}mdm/OFF-B/test.txt", 'r') 
times = textfile.read().splitlines() 
textfile.close() 
print(getcwd()) 
print(times)

Файл присутствует в этом месте, но я получаю следующую ошибку:

File "/var/cache/tomcat/temp/interpreter-9196592956267519250.tmp", line 3, in <module>
  textfile = open("gs://tp-bi-datalake-mft-landing-dev/mdm/OFF-B/test.txt", 'r')
IOError: [Errno 2] No such file or directory: 'gs://tp-bi-datalake-mft-landing-dev/mdm/OFF-B/test.txt'

1 ответ

Это потому, что вы пытаетесь прочитать его как локальный файл.

Для чтения из облачного хранилища необходимо импортировать библиотеку и использовать клиент.

Проверьте этот похожий вопрос Stackru.

В вашем случае это будет что-то вроде:

from google.cloud import storage

# Instantiates a client
client = storage.Client()

bucket_name = 'tp-bi-datalake-mft-landing-dev'

bucket = client.get_bucket(bucket_name)

blob = bucket.get_blob('mdm/OFF-B/test.txt')

downloaded_blob = blob.download_as_string()

print(downloaded_blob)

Также вам нужно будет установить библиотеку, вы можете сделать это просто запустив:

pip install google-cloud-storage прежде чем запустить свой код.

Также здесь вы можете найти еще несколько примеров Python для облачного хранилища Google.

Другие вопросы по тегам