我正在尝试将我为之启用生命周期规则的文件还原到Glacier深度存档中。当我试图在AWS上用下面的命令恢复到另一个目录时,它会在下载几个文件后抛出一个错误。
用于恢复目录的命令:aws s3 cp s3://xxxxxxx/cf-ant-prod/放年=2020/s3://xxxxxxx/atest/-force-transfer-存储级标准-递归-配置文件mfa
错误:当调用InvalidObjectState操作:操作对源对象的存储clas无效时发生错误( CopyObject )
发布于 2020-11-27 21:29:40
正如约翰·罗滕斯坦所提到的,从冰川上对一个物体的简单恢复必须“就位”,并且一旦恢复,就可以根据需要进行操作(复制)。
我试图通过Lambda做一些类似于问题主题的事情,我挣扎了一段时间,因为我发现文档对于restoreObject()请求是一个Select恢复或是一个简单的单一对象恢复这一事实来说是模糊的.最重要的是,哪些参数适用于哪种操作模式。
我的目标是将一个对象从冰川恢复到同一个桶中的一个新位置/文件名。文档强烈地表明,这是可能的,因为OutputLocation中有允许指定BucketName和Prefix的参数.正如情况所示,这些参数只适用于Select还原。
让我感到困惑的部分是与restoreObject()方法的参数有关--没有足够的差别来知道,例如,在使用GlacierJobParameters参数发出简单的恢复请求时,不能提供Description参数.令我沮丧的是,我会犯这样的错误:
MalformedXML: The XML you provided was not well-formed or did not validate against our published schema
没有迹象表明发布的模式位于何处,对已发布的模式进行谷歌搜索不会产生似乎适用于S3 API的结果。我希望我能走出API文档,直接引用“已发布的模式”.(出版地点/如何出版?)
我的建议是改进restoreObject()方法的文档,并/或将restoreObject()方法拆分为simpleRestoreObject()和sqlRestoreObject()对象,以便参数模式清晰地区分开来。
https://stackoverflow.com/questions/63878940
复制相似问题