Google cloud storage 如何为最新的gcloud存储设置存储类
我们习惯于听从指示!要设置bucket生命周期策略,但在最新的gcloud组件更新中,我们会遇到如下错误: 失败:不支持的标记SetStorageClass。 搜索gcs存储生命周期文档未资助任何更新。 我们使用的命令是Google cloud storage 如何为最新的gcloud存储设置存储类,google-cloud-storage,lifecycle,gsutil,Google Cloud Storage,Lifecycle,Gsutil,我们习惯于听从指示!要设置bucket生命周期策略,但在最新的gcloud组件更新中,我们会遇到如下错误: 失败:不支持的标记SetStorageClass。 搜索gcs存储生命周期文档未资助任何更新。 我们使用的命令是gsutil lifecycle set gs:// 和gsutil版本:4.25 { "lifecycle":{ "rule":[ { "action":{ "type":"SetStor
gsutil lifecycle set gs://
和gsutil版本:4.25
{
"lifecycle":{
"rule":[
{
"action":{
"type":"SetStorageClass",
"storageClass":"NEARLINE"
},
"condition":{
"age":30,
"matchesStorageClass":[
"REGIONAL",
"STANDARD",
"DURABLE_REDUCED_AVAILABILITY"
]
}
}
]
}
}
编辑2 这是在中修复的,已包含在gsutil的最新版本(v4.26)中 编辑 看起来您实际上发现了一个在使用XMLAPI时发生的错误。我已经打开了一个GitHub问题,并将尽快解决此问题: 谢谢你的报道
查看Boto库中的代码,您可能试图指定一个JSON键:
{
...
"SetStorageClass": ...
...
}
而不是使其成为操作
的类型
属性的值。下面是一个使用问题注释中的(固定)示例的示例:
{
"lifecycle": {
"rule": [
{
"action": {
"type": "SetStorageClass",
"storageClass": "NEARLINE"
},
"condition": {
"age":30,
"matchesStorageClass": ["STANDARD", "DURABLE_REDUCED_AVAILABILITY"]
}
}
]
}
}
你能粘贴你得到的确切的命令、输入和响应吗?规则json是这样的:
{“lifecycle”:{“rule”:[{“action”:{“type”:“SetStorageClass”,“storageClass”:“NEARLINE”},“condition”:{“age”:30,“matchesStorageClass”:[“区域”、“标准”、“持久性”\u可用性”]}}}}我们使用的命令如下:gsutil lifecycle set gs:///
API不允许将区域类转换为固有的多区域类,如NEARLINE;我在尝试应用您提供的生命周期JSON时收到此错误:BadRequestException:400项目不支持您提供的locationConstraint和storageClass的组合“感谢您的建议,我尝试了建议的更改,现在得到了一个不同的错误:失败:无法连接'str'和'NoneType'对象。我无法使用gsutil v4.25重现此错误。如果您使用的是较旧的版本,您可能需要尝试升级。另外,如果您使用的是XML API,您是否可以尝试使用JSON API并查看它是否有效?这可以通过“gsutil-o'gsutil:preference_api=json”来完成。我更新到了gsutil 4.25,并得到了以下错误:Failure:Unsupported tag SetStorageClass。
我编辑了上面的答案,以包含您在使用XML api时看到的错误。在修复之前,您应该能够使用JSON API。