无法使用服务帐户的 gdrive api 将文件上传到 gdrive

问题描述 投票:0回答:1

我正在使用在 Google 云平台中创建的服务帐户,使用 python 脚本将 csv 文件上传到 gdrive。该脚本直到昨天为止都是工作文件,但现在我遇到了以下错误。

脚本:

scopes = ['https://www.googleapis.com/auth/drive']
gdrive = 'D:/common-modules/gdrive.json'
folder_id = "1IxxxxyYxxxx"


def upload_option_strike_data(save_location, file_name):
    try:
        creds = service_account.Credentials.from_service_account_file(gdrive, scopes=scopes)
        service = build('drive', 'v3', credentials=creds, cache_discovery=False)
        file_metadata = {
            'name': file_name,
            'parents': [folder_id]
        }
        file_path = f"{save_location}/{file_name}"
        media = MediaFileUpload(file_path, mimetype='text/csv')

        service.files().create(
            body=file_metadata,
            media_body=media
        ).execute()
        print(f"Successfully uploaded historical data collected for to Gdrive")
    except Exception as e:
        print(
            f"Failed to upload historical data collected for .Function - upload_option_strike_data.Exception: {str(e)}")



upload_option_strike_data("D:/daily-data/output", "FINNIFTY_OptionData_20240514.csv")

错误信息:

Failed to upload historical data collected for .Function - upload_option_strike_data.Exception: <HttpError 403 when requesting https://www.googleapis.com/upload/drive/v3/files?alt=json&uploadType=multipart returned "The user's Drive storage quota has been exceeded.". Details: "[{'message': "The user's Drive storage quota has been exceeded.", 'domain': 'usageLimits', 'reason': 'storageQuotaExceeded'}]">

我正在使用 200GB 存储计划,目前已使用 143GB。 我的每个 csv 文件大小约为 7MB。当我上传大小约为 100KB 的小文件时,文件上传没有任何问题。错误指示有关 storageQuotaExceeded,但无法识别此配额设置(从 GCP 控制台看不到任何内容)

如何解决这个问题?

python google-cloud-platform google-drive-api
1个回答
0
投票

尝试执行 about.get 它会显示有多少可用空间。

如果您将文件存储在服务帐户驱动器帐户上,则其空间非常有限,并且您无法升级它

© www.soinside.com 2019 - 2024. All rights reserved.