"" Я хочу получить сведения о владельце объекта для объектов облачного хранилища Google, но в качестве результата я получаю None ""
«Я нашел это где-то в документе:
Тип возврата: dict или NoneType
Возвращает: сопоставление роли / идентификатора владельца или None, если ресурс BLOB-объекта не был загружен с сервера ""
import argparse
import datetime
import pprint
import time
from google.cloud import storage
from google.cloud import iam
import json
def listBlobObjects(bucketName):
"""Lists all the blobs in the bucket."""
storageClient = storage.Client()
bucket = storageClient.get_bucket(bucketName)
blobs = bucket.list_blobs()
for blob in blobs:
print('Owner: {}'.format(blob.owner))
currentTime = datetime.datetime.utcnow()
blobCreatedTime = (str(blob.time_created)[:-6:1])
blobCreatedTimeFormat = datetime.datetime.strptime(blobCreatedTime, "%Y-%m-%d %H:%M:%S.%f")
blobAge = str(currentTime - blobCreatedTimeFormat)
if 'day' in blobAge:
#print "hello"
print " Object name is : " + blob.name + " and " + " Age is : " + blobAge
#deleteBlobObjects(bucketName, blob.name)
def deleteBlobObjects(bucketName, blobName):
"""Deletes a blob from the bucket."""
storageClient = storage.Client()
bucket = storageClient.get_bucket(bucketName)
blob = bucket.blob(blobName)
blob.delete()
print('Blob {} deleted.'.format(blobName))
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('--envName',dest='envName',choices={"dev", "qa","stage"})
args = parser.parse_args()
print("envName: %r" % args.envName)
with open('../etc/bucket_list.json') as inputJSON:
jsonRecord = json.load(inputJSON)
for records in jsonRecord :
if records ['envName'] == args.envName:
bucketList = ((records ['bucketList']))
for bucketName in bucketList:
listBlobObjects(bucketName)