首页 > 解决方案 > 如何防止 Google Cloud Storage 两次执行请求?

问题描述

我有以下代码来检索一个 GCS“文件夹”中所有文件的签名 URL:

def generate_signed_url_from_account(account):
    """ Takes account and creates signed URLS from GCS Pictures """
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = 'Google_cloud.json'
    signed_urls = []
    client = storage.Client()
    for blob in client.list_blobs(BUCKET_NAME, prefix=("images/" + account)):
        url = blob.generate_signed_url(
            version="v4",
            # This URL is valid for 30 minutes
            expiration=datetime.timedelta(minutes=30),
            # Allow GET requests using this URL.
            method="GET",
        )
        signed_urls.append(url)
    signed_urls = natsorted(signed_urls)
    
    return signed_urls

但是当我执行它时,我得到了两次结果。这使整个操作的时间加倍,在这种情况下,时间对我来说至关重要

所以当我这样做时:

urls = generate_signed_url_from_account('test_account')
print(len(urls)) 

终端打印:

418
418

我怎样才能解决这个问题?

标签: pythongoogle-cloud-platformrequestgoogle-cloud-storage

解决方案


推荐阅读