GCP: blob.owner api возвращает "none" для объектов облачного хранилища Google - PullRequest
0 голосов
/ 04 сентября 2018

"" Я хочу получить сведения о владельце объекта для объектов облачного хранилища 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...