Я пытаюсь прочитать файл в корзине 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.