Getting the uploaded time of files in Google Cloud Storage using Python
Prerequisites
To follow along with this guide, please make sure to have:
created a service account and downloaded the private key (JSON file) for authentication (please check out my detailed guide)
installed the Python client library for Google Cloud Storage:
pip install --upgrade google-cloud-storage
Getting the uploaded time of files in Google Cloud Storage
To get the uploaded time of a file (e.g. cat.png
) in Google Cloud Storage (GCS), use the property time_created
:
from google.cloud import storage
# The private key of our service account for authenticationpath_to_private_key = './gcs-project-354207-099ef6796af6.json'client = storage.Client.from_service_account_json(json_credentials_path=path_to_private_key)
bucket = storage.Bucket(client, 'example-bucket-skytowner')blob = bucket.get_blob('cat.png')print(blob.time_created)
2022-06-25 12:05:45.911000+00:00
Note the following:
the Bucket's method
get_blob(~)
must be used instead ofblob(~)
becauseget_blob(~)
fetches the meta-information from GCS whereasblob(~)
does not. This means that theblob
object returned byblob(~)
would always returnNone
when accessing thetime_created
property.the property
time_created
is of typedatetime.datetime
.time_created
represents the time (in UTC) when the file was uploaded on GCS instead of the time when the file was locally created
If you wanted to convert UTC time to your local time zone, we can use the built-in tz
module:
from dateutil import tz# Convert timezone of datetime from UTC to localdt_local = blob.time_created.astimezone(tz.tzlocal())print('Datetime in Local Time zone: ', dt_local)
Datetime in Local Time zone: 2022-06-25 20:05:45.911000+08:00