![](/img/trans.png)
[英]How to upload a file to Google Cloud Storage on Python 3?
[英]Upload large csv file to cloud storage using Python
您好,我正在嘗試上傳一個大的 csv 文件,但出現以下錯誤:
HTTPSConnectionPool(host='storage.googleapis.com', port=443): Max retries exceeded with url: /upload/storage/v1/b/de-bucket-my-stg/o?uploadType=resumable&upload_id=ADPycdsyu6gSlyfklixvDgL7RLpAQAg6REm9j1ICarKvmdif3tASOl9MaqjQIZ5dHWpTeWqs2HCsL4hoqfrtVQAH1WpfYrp4sFRn (Caused by SSLError(SSLWantWriteError(3, '操作未完成(寫入)(_ssl.c:2396)')))
有人可以幫我嗎?
下面是我的代碼:
import os
import pandas as pd
import io
import requests
from google.cloud import storage
try:
url = "https://cb-test-dataset.s3.ap-south-1.amazonaws.com/analytics/analytics.csv"
cont = requests.get(url).content
file_to_upload = pd.read_csv(io.StringIO(cont.decode('utf-8')))
except Exception as e:
print('Error getting file: ' + str(e))
try:
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'C:/Users/haris/Desktop/de-project/xxx.json' --xxx is replaced here.
storage_client = storage.Client()
bucket_name = storage_client.get_bucket('de-bucket-my-stg')
blob = bucket_name.blob('analytics.csv')
blob.upload_from_string(file_to_upload.to_csv(),'text/csv')
except Exception as e:
print('Error uploading file: ' + str(e))
如文檔中所述,
我的建議是在發送文件之前對文件進行 gzip 壓縮。 文本文件具有高壓縮率(高達 100 倍),您可以將gzip 文件直接提取到 BigQuery 中而無需解壓縮它們
上傳到 Cloud Storage 最快的方法是使用compose API 和復合對象。
有關詳細信息,您可以參考 OP 面臨類似錯誤的stackoverflow 線程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.