Question

Le code suivant renvoie une erreur sur l'appel de méthode « CreateIfNotExist ». Je tente de se connecter à mon stockage Azure Blob et créer un nouveau conteneur appelé « images »

var storageAccount = new CloudStorageAccount(
    new StorageCredentialsAccountAndKey("my_account_name", "my shared key"),
    "https://blob.core.windows.net/",
    "https://queue.core.windows.net/",
    "https://table.core.windows.net/"
);
var blobClient = storageAccount.CreateCloudBlobClient();
var blobContainer = blobClient.GetContainerReference("images");
blobContainer.CreateIfNotExist();

L'erreur est:

[StorageClientException: The requested URI does not represent any resource on the server.]

Le conteneur « images » n'existe pas mais je m'y attendais pas à créer au lieu d'une erreur d'être jeté. Qu'est-ce que je fais mal?

J'ai essayé HTTP au lieu de HTTPS, mais le résultat est la même erreur.

Était-ce utile?

La solution

J'ai compris que je dois utiliser une syntaxe différente

var storageAccount = new CloudStorageAccount(
   new StorageCredentialsAccountAndKey("my_account_name", "my shared key"));
var blobClient = storageAccount.CreateCloudBlobClient(); 
var blobContainer = blobClient.GetContainerReference("images"); 
blobContainer.CreateIfNotExists(); 

Remarquez comment sont les points entendue rectifier fin. De toute évidence, le CloudBlobClient peut comprendre les URIs appropriés automatiquement.

Autres conseils

Êtes-vous sûr que le nom de compte et clé partagée avez raison? Vous pouvez essayer d'installer Fiddler pour jeter un oeil à le trafic HTTP pour vous assurer que rien n'y semble suspect.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top