我已将 openstack 集成到我的 .net 解决方案中。我正在使用 CloudFilesProvider 创建和删除容器。是否有任何规定可以使用 C# 检查容器是否存在。
我知道可以通过获取 ObjectStore 并找到 ContainerExists 属性进行检查。但我不知道如何填充这个属性。
任何帮助将不胜感激。
我已将 openstack 集成到我的 .net 解决方案中。我正在使用 CloudFilesProvider 创建和删除容器。是否有任何规定可以使用 C# 检查容器是否存在。
我知道可以通过获取 ObjectStore 并找到 ContainerExists 属性进行检查。但我不知道如何填充这个属性。
任何帮助将不胜感激。
ObjectStore
是一个枚举,它定义了调用返回的可能值,例如IObjectStorageProvider.CreateContainer
. 例如,您可以ObjectStore
通过尝试创建您正在检查的容器来获得一个,并且返回值将是ContainerExists
该容器是否已经存在。不幸的是,你总是会ContainerCreated
被那个调用返回,即如果你CreateContainer
用来检查容器的存在,那么即使容器在“检查”之前不存在,它也会在之后。
虽然它绝对不干净,但一种选择是调用GetContainerMetadata
. ItemNotFoundException
如果容器不存在,调用将抛出一个。
您是否偶然将这个 Container 用作 CDN?
删除CDN时,还必须针对 Container 调用方法“DisableCDNOnContainer”。此外,如果您调用方法“ListCDNContainers”,则必须通过检查属性“CDNEnabled”来过滤掉已删除的 CDN 容器。
这是因为已删除的容器“徘徊”直到它们的 ttl 过期。