Per alcune ore ho cercato di impostare alcuni metadati sul blob che ho creato utilizzando l'SDK di Azure. Carico i dati in modo asincrono usando BeginUploadFromStream()
e tutto funziona perfettamente. Posso accedere al BLOB usando il suo URI quando il caricamento è completato, quindi è stato creato correttamente, tuttavia qualsiasi metadata che ho impostato non è persistente.I metadati Blob non vengono salvati anche se chiamo CloudBlob.SetMetadata
Ho impostato i metadati dopo chiamando EndUploadFromStream()
.
Ho provato a installare i metadati i tre modi in cui posso trovare attraverso il documentation:
// First attempt
myBlob.Metadata["foo"] = "bar";
// Second attempt
myBlob.Metadata.Add("foo", "bar");
//Third attempt
var metadata = new NameValueCollection();
metadata["foo"] = "bar";
blob.Metadata.Add(metadata);
Dopo aver impostato i metadati io chiamo myBlob.SetMetadata()
per salvare i metadati di Azure, come specificato dalla documentazione, ma non si attacca La chiamata non esclude alcuna eccezione, ma quando ottengo un nuovo riferimento al mio blob, lo non ha alcun metadato.
Ho provato a salvare i metadati anche in modo asincrono utilizzando BeginSetMetadata()
e EndSetMetadata()
ma con risultati simili.
Inizio a pensare che mi manca qualcosa di veramente banale qui, ma dopo averlo guardato per cinque ore, non riesco ancora a capire dove sbaglio?
Come sospettavo allora, una cosa davvero banale! Immagino di essere troppo concentrato sull'idea che la scrittura fosse il problema - non ho nemmeno pensato che il problema potesse essere la lettura delle proprietà. Grazie mille, mi hai salvato un sacco di tempo! –