title: Uploading a JSON to google cloud storage via python
body: <p>I am trying to upload a JSON I have to google cloud storage. I can do it manually so I know it works but now want to write a python script that will do it automatically. </p>
  
  <pre><code>import boto
  import gcs_oauth2_boto_plugin
  import os
  import shutil
  import StringIO
  import tempfile
  import time
  
  from google.cloud import storage
  from google.cloud.storage import blob
  
  client = storage.Client(project='dataworks-356fa')
  bucket = client.get_bucket('dataworks-356fa-backups')
  blob = bucket.blob('t.json')
  with open('t.json', 'rb') as f:
    blob.upload_from_file('f')
  </code></pre>
  
  <p>is the code I have so far and this is the error I am getting. </p>
  
  <pre><code>Traceback (most recent call last):
    File "uploadcloud.py", line 16, in &lt;module&gt;
      blob.upload_from_file('f')
    File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 891, in upload_from_file
      client, file_obj, content_type, size, num_retries)
    File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 815, in _do_upload
      client, stream, content_type, size, num_retries)
    File "/Library/Python/2.7/site-packages/google/cloud/storage/blob.py", line 634, in _do_multipart_upload
      data = stream.read()
  AttributeError: 'str' object has no attribute 'read'
  </code></pre>