1
我正在使用OpenStack SDK .NET在云备份客户端上工作。在我的previous question中,我遇到了识别问题,并且解决了问题。现在我测试了我需要的几乎所有功能,但有一件事似乎并不正确。 我需要在对象存储swift中创建对象版本控制的功能。我正式OpenStack的文件,我需要一个头添加到安息阅读:Openstackdotnet SDK对象存储对象版本
X-Versions-Location: myversionlocation
在我的图书馆我修改我的方法从创建容器:
public void CreateContainer(string _containerName)
{
filesProvider.CreateContainer(_containerName, null, null, false, null);
}
到:
public void CreateContainer(string _containerName)
{
Dictionary<string, string> versioningHeader = new Dictionary<string, string>();
versioningHeader.Add("X-Versions-Location", "versions");
filesProvider.CreateContainer(_containerName, versioningHeader, null, false, null);
}
当我在容器中上传文件时没有问题,但是当我第二次上载文件时,我的应用程序会在此行中引发ResponseException:{“Unexpected HTTP error:PreconditionFailed”}:
public void UploadFile(string _containerName, string _fileName, ThrottledStream _stream)
{
filesProvider.CreateObject(_containerName, _stream, _fileName, null, 4096, null, "RegionOne");
}
这是创建具有启用版本控制的容器的正确方法吗?