Site icon Learning & Doing

App Dev: Storing Image and Video Files in Cloud Storage – Python

storing

“App Dev: Storing Image and Video Files in Cloud Storage – Python”

Pengantar

Cloud Storage memungkinkan penyimpanan dan pengambilan data dalam jumlah berapa pun kapan saja di seluruh dunia. Anda dapat menggunakan Cloud Storage untuk berbagai skenario termasuk menyajikan konten situs web, menyimpan data untuk pengarsipan dan pemulihan bencana, atau mendistribusikan objek data berukuran besar ke pengguna melalui unduhan langsung.

Praktikum

Task 1. Prepare the quiz application

Clone source code in Cloud Shell

git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Configure and run the quiz application

cd ~/training-data-analyst/courses/developingapps/python/cloudstorage/start
. prepare_environment.sh
python run_server.py

Review the quiz application

Task 2. Examine the quiz application code

Examine the application code

Task 3. Create a Cloud Storage Bucket

gsutil mb gs://$DEVSHELL_PROJECT_ID-media
export GCLOUD_BUCKET=$DEVSHELL_PROJECT_ID-media

Task 4. Adding objects to Cloud Storage

Import and use the Python Cloud Storage module

quiz/gcp/storage.py

# TODO: Get the Bucket name from the
# GCLOUD_BUCKET environment variable
bucket_name = os.getenv('GCLOUD_BUCKET')
# END TODO
# TODO: Import the storage module
from google.cloud import storage
# END TODO
# TODO: Create a client for Cloud Storage
storage_client = storage.Client()
# END TODO
# TODO: Use the client to get the Cloud Storage bucket
bucket = storage_client.get_bucket(bucket_name)
# END TODO

Write code to send a file to Cloud Storage

quiz/gcp/storage.py – upload)file(...) function

"""
Uploads a file to a given Cloud Storage bucket and returns the public url
to the new object.
"""
def upload_file(image_file, public):
    # TODO: Use the bucket to get a blob object
    blob = bucket.blob(image_file.filename)
    # END TODO
    # TODO: Use the blob to upload the file
    blob.upload_from_string(
        image_file.read(),
        content_type=image_file.content_type)
    # END TODO
    # TODO: Make the object public
    if public:
        blob.make_public()
    # END TODO
    # TODO: Modify to return the blob's Public URL
    return blob.public_url
    # END TODO

Write code to use the Cloud Storage functionality

quiz/webapp/questions.py

# TODO: Import the storage module
from quiz.gcp import storage, datastore
# END TODO
"""
uploads file into google cloud storage
- upload file
- return public_url
"""
def upload_file(image_file, public):
    if not image_file:
        return None
    # TODO: Use the storage client to Upload the file
    # The second argument is a boolean
    public_url = storage.upload_file(
       image_file,
       public
    )
    # END TODO
    # TODO: Return the public URL
    # for the object
    return public_url
    # END TODO
"""
uploads file into google cloud storage
- call method to upload file (public=true)
- call datastore helper method to save question
"""
def save_question(data, image_file):
    # TODO: If there is an image file, then upload it
    # And assign the result to a new Datastore
    # property imageUrl
    # If there isn't, assign an empty string
    if image_file:
        data['imageUrl'] = str(
                  upload_file(image_file, True))
    else:
        data['imageUrl'] = u''
    # END TODO
    data['correctAnswer'] = int(data['correctAnswer'])
    datastore.save_question(data)
    return

Run the application and create a Cloud Storage object

python run_server.py

Run the client application and test the Cloud Storage public URL

Pentup

Sahabat Blog Learning & Doing demikianlah penjelasan mengenai App Dev: Storing Image and Video Files in Cloud Storage – Python. Semoga Bermanfaat . Sampai ketemu lagi di postingan berikut nya.

Exit mobile version