Domanda

Il seguente codice genera un errore sulla chiamata al metodo "CreateIfNotExist". Sto tentando di collegarmi al mio stoccaggio Azure Blob e creare un nuovo contenitore denominato "immagini"

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'errore è:

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

Il contenitore "immagini" non esiste, ma mi aspettavo di essere creato, invece di un errore da buttare. Che cosa sto facendo di sbagliato?

Ho provato HTTP invece di HTTPS ma il risultato è lo stesso errore.

È stato utile?

Soluzione

Ho capito che devo usare una sintassi diversa

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

Si noti come i punti finali sono omited. Evidentemente, il CloudBlobClient riesce a capire le URI adeguati automaticamente.

Altri suggerimenti

Sei sicuro che il nome dell'account e la chiave condivisa sono corrette? Si potrebbe provare a installare Fiddler a dare un'occhiata al traffico HTTP per assicurarsi che nulla ci sembra sospetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top