我尝试了多种方式来签署 Cloud Storage URL。不断获得:
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源 '#####'。
kod 应该可以工作,因为我已经测试了多个库:
from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket(app_identity.get_default_gcs_bucket_name())
latest_blob = None
for blob in bucket.list_blobs():
bn = blob.name
if not latest_blob or bn > latest_blob.name:
latest_blob = blob
signed_url = latest_blob.generate_signed_url(
int(time.time()) + 3600,
method='GET',
content_type="text/csv")
self.redirect(signed_url)
Run Code Online (Sandbox Code Playgroud)
我认为可能需要一些云控制台设置向导。
我已通过 IAM 和存储桶授予服务帐户对存储的完全访问权限。我认为重定向可能是问题所在,但复制粘贴也不起作用;签名不匹配。
python google-app-engine acl google-cloud-storage google-cloud-platform