[PR #5054] Fix: google storage init with sa and download #24754

Closed
opened 2026-02-21 20:23:37 -05:00 by yindo · 0 comments
Owner

Original Pull Request: https://github.com/langgenius/dify/pull/5054

State: closed
Merged: Yes


Description

Fixed two problems when using Google Storage (STORAGE_TYPE=google-storage).

  • When Service Account is specified, an error occurs when invoking init.
  • Error occurs when worker calls download when uploading files, etc.

Fixes # (issue)

  • none

Type of Change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

  • manual test
  1. Create a Google Storage bucket
  2. Create Service Account
  3. Set a key to the created Service Account
  4. Download and Base64 encode the key
  5. Specify STORAGE_TYPE, GOOGLE_STORAGE_BUCKET_NAME, GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64 in environment variables

Suggested Checklist:

  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods
  • optional I have made corresponding changes to the documentation
  • optional I have added tests that prove my fix is effective or that my feature works
  • optional New and existing unit tests pass locally with my changes
**Original Pull Request:** https://github.com/langgenius/dify/pull/5054 **State:** closed **Merged:** Yes --- # Description Fixed two problems when using Google Storage (STORAGE_TYPE=google-storage). - When Service Account is specified, an error occurs when invoking init. - [from_service_account_info()](https://cloud.google.com/python/docs/reference/bigquery/latest/google.cloud.bigquery.client.Client#google_cloud_bigquery_client_Client_from_service_account_info) needs to specify a JSON object, not a JSON string - Change to pass after changing to a JSON object - Error occurs when worker calls download when uploading files, etc. - Before the change, download_blob() does not exist. - Changed to use [download_to_filename()](https://cloud.google.com/python/docs/reference/storage/latest/google.cloud.storage.blob.Blob#google_cloud_storage_blob_Blob_download_to_filename) Fixes # (issue) - none ## Type of Change Please delete options that are not relevant. - [x] Bug fix (non-breaking change which fixes an issue) # How Has This Been Tested? - [x] manual test 1. Create a Google Storage bucket 2. Create Service Account 3. Set a key to the created Service Account 4. Download and Base64 encode the key 5. Specify STORAGE_TYPE, GOOGLE_STORAGE_BUCKET_NAME, GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64 in environment variables # Suggested Checklist: - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [x] My changes generate no new warnings - [x] I ran `dev/reformat`(backend) and `cd web && npx lint-staged`(frontend) to appease the lint gods - [ ] `optional` I have made corresponding changes to the documentation - [ ] `optional` I have added tests that prove my fix is effective or that my feature works - [ ] `optional` New and existing unit tests pass locally with my changes
yindo added the pull-request label 2026-02-21 20:23:37 -05:00
yindo closed this issue 2026-02-21 20:23:37 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify#24754