2013-08-02 4 views
2

J'ai intégré openstack à ma solution .net. J'utilise CloudFilesProvider pour créer et supprimer un conteneur. Est-il possible de vérifier l'existence d'un conteneur en utilisant C#.OpenStack - Vérifier la disponibilité du conteneur C# .NET

Je sais qu'il est possible de vérifier en obtenant ObjectStore et trouver la propriété ContainerExists. Mais je ne suis pas sûr de savoir comment obtenir cette propriété remplie.

Toute aide sera grandement appréciée.

+0

J'ai utilisé la deuxième option que vous avez fournie, vérifiez createContainer et vérifiez par l'option –

Répondre

3

ObjectStore est une énumération qui définit les valeurs possibles renvoyées par des appels tels que IObjectStorageProvider.CreateContainer. Par exemple, vous pouvez obtenir un ObjectStore en essayant de créer le conteneur que vous vérifiez, et la valeur de retour serait ContainerExists si le conteneur existe déjà. Malheureusement vous pouvez toujours vous retrouver avec ContainerCreated retourné par cet appel, c'est-à-dire si vous utilisez CreateContainer pour vérifier l'existence d'un conteneur, alors même si le conteneur n'existait pas avant "vérification", il le ferait par la suite.

Bien qu'il ne soit définitivement pas propre, une option appelle GetContainerMetadata. L'appel lancera un ItemNotFoundException si le conteneur n'existe pas.

+0

Donc, vous dites comme je l'ai mentionné, la méthode createContainer n'est disponible que pour vérifier l'existence d'un conteneur. –

+0

Non, je dis qu'il semble que vous devriez utiliser 'GetContainerMetadata' pour vérifier l'existence. Si la méthode renvoie une exception ItemNotFoundException, le conteneur n'existe pas. –

0

Êtes-vous, par hasard, en utilisant ce conteneur comme un CDN?

Lorsque en supprimant un CDN, vous devez également appeler la méthode "DisableCDNOnContainer" contre le conteneur. En outre, si vous appelez la méthode "ListCDNContainers", vous devez filtrer supprimé conteneurs CDN en cochant la propriété "CDNEnabled". Ceci est dû au fait que les conteneurs supprimés "traînent" jusqu'à la fin de leur LTL.

Questions connexes