如何解决ValueError:存储桶名称必须以数字或字母开头和结尾
我正在尝试将SavedModel格式的张量流模型从我的Google云存储桶加载到我的云函数中。我正在使用本教程:https://cloud.google.com/blog/products/ai-machine-learning/how-to-serve-deep-learning-models-using-tensorflow-2-0-with-cloud-functions
云函数正确编译。但是,当我向云函数发送http请求时,会出现此错误:
回溯(最近通话最近一次):
在run_http_function结果= _function_handler.invoke_user_function(flask.request)中的文件“ /env/local/lib/python3.7/site-packages/google/cloud/functions/worker_v2.py”,第402行,文件“ / env /local/lib/python3.7/site-packages/google/cloud/functions/worker_v2.py“,行268,在invoke_user_function中返回call_user_function(request_or_event)文件” /env/local/lib/python3.7/site-packages /google/cloud/functions/worker_v2.py“,第261行,在call_user_function中返回self._user_function(request_or_event),文件“ /user_code/main.py”,第29行,位于预报download_blob('','firstModel / saved_model.pb ','/tmp/model/saved_model.pb')文件“ /user_code/main.py”,第17行,在download_blob存储桶= storage_client.get_bucket(bucket_name)文件“ /env/local/lib/python3.7/site -packages / google / cloud / storage / client.py“,第356行,位于get_bucket存储桶= self._bucket_arg_to_bucket(bucket_or_name)文件” /env/local/lib/python3.7/site-packages/google/cloud/storage/ client.py“,第225行,位于_bucket_arg_to_bucket存储桶=存储桶((自身,名称= bucket_or_name)文件“ /env/local/lib/python3.7/site-packages/google/cloud/storage/bucket.py”,第581行,位于 init name = _validate_name(name)文件“ /env/local/lib/python3.7/site-packages/google/cloud/storage/_helpers.py”,第67行,_validate_name中的提高ValueError(“桶名必须开始和结束带有数字或字母。“)ValueError:存储桶名称必须以数字或字母开头和结尾。
我很困惑,因为我的存储桶标题是一串字母,长度约20个字符,没有标点符号/特殊字符。
这是我正在运行的一些代码:
if model is None:
download_blob('<terminatorbucket>','firstModel/saved_model.pb','/tmp/model/saved_model.pb')
download_blob('<terminatorbucket>','firstModel/assets/tokens.txt','/tmp/model/assets/tokens.txt')
download_blob('<terminatorbucket>','firstModel/variables/variables.index','/tmp/model/variables/variables.index')
download_blob('<terminatorbucket>','firstModel/variables/variables.data-00000-of-00001','/tmp/model/variables/variables.data-00000-of-00001')
model = tf.keras.models.load_model('/tmp/model')
def download_blob(bucket_name,source_blob_name,destination_file_name):
"""Downloads a blob from the bucket."""
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)
解决方法
错误消息抱怨您的存储桶名称中包含尖括号,而不将其视为数字或字母。确保您的存储桶名称与您在云控制台中看到的名称完全相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。