Nico Nisaw
Nico Nisaw

Reputation: 57

Does not have storage.buckets.list access to the Google Cloud project?

I wrote a Ruby script that will upload an audio file to a Google Cloud Storage.

def upload_to_Google_cloud(audio_file)

    project_id = "<project_id>"
    key_file = "<json_file>"

    storage = Google::Cloud::Storage.new project: project_id, keyfile: key_file

    bucket_name = storage.buckets.first.name 
    puts bucket_name
      
    bucket = storage.bucket bucket_name

    local_file_path = "/path/#{audio_file}"

    file = bucket.create_file local_file_path, "#{audio_file}.flac"
    return "Uploaded #{file.name}"
end

Though, everytime I run the command -> ruby video_dictation.rb, it returns me an error which is xxxxxxxxx does not have storage.buckets.list access to the Google Cloud project. (Google::Cloud::PermissionDeniedError).

Any help, suggestions? Thanks!

Upvotes: 2

Views: 10939

Answers (1)

Eddy Goh
Eddy Goh

Reputation: 286

Should be permission issue.

  1. Try to create a service account. It looks like this "[email protected]"
  2. Go to IAM & Admin -> Permission
  3. Assign that service account with "Storage Object Admin" role.
  4. Try your code again. If is working, please scope down your permission to the below list based on your needs.

Storage Object Admin permission analysis

5. Remember to download the json key file for that particular service account.

Upvotes: 4

Related Questions