Zawsze, gdy uczę się nowych technologii, lubię pisać najprostszy możliwy przykład. Zwykle oznacza to aplikację konsolową z najmniejszą ilością odniesień. Próbowałem, z niewielkim powodzeniem, napisać aplikację, która czyta i zapisuje do magazynu tabeli Azure. Użyłem instrukcji obsługi jako podstawy, ale staram się robić wszystko w metodzie głównej. Podobne podejście działało dobrze z pamięcią typu blob, ale pamięć podręczna stwarza problemy.Składowanie tablic Azure - najprostszy możliwy przykład:
Udało mi się utworzyć tabelę z tym kodem.
static void Main(string[] args)
{
Microsoft.WindowsAzure.Storage.Table.CloudTableClient tableClient =
new Microsoft.WindowsAzure.Storage.Table.CloudTableClient(
new Uri("http://mystorage.table.core.windows.net/"),
new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials("[somename]", "[somekey]"));
CloudTable table = tableClient.GetTableReference("people");
table.CreateIfNotExists();
}
Po uruchomieniu tego kodu mogłem zobaczyć tabelę w mojej pamięci za pomocą Azure Storage Explorer. (Nadal nie wiem, jak wyświetlić tabelę w manage.windowsazure.com.)
Jednak jeśli spróbuję wstawić rekordy (zgodnie z opisem w powyższym przewodniku), pojawia się konflikt 409 EntityAlreadyExists. Azure Storage Explorer nie wyświetla żadnych rekordów w mojej tabeli.
CustomerEntity customer1 = new CustomerEntity("Harp", "Walter");
customer1.Email = "[email protected]";
customer1.PhoneNumber = "425-555-0101";
TableOperation insertOperation = TableOperation.Insert(customer1);
table.Execute(insertOperation);
Co więcej, jestem zaskoczony dwoma nakładającymi się przestrzeniami nazw. Zarówno Microsoft.WindowsAzure.Storage.Table, jak i Microsoft.WindowsAzure.StorageClient zawierają np. klasa CloudTableClient. Dlaczego istnieją dwa przestrzenie nazw klienta i którego mam używać?
EDIT WYDŁUŻA rekord istnieje. Po dwukrotnym kliknięciu tabeli w Eksploratorze tabel Azure nie jest wyświetlana zawartość tabeli. Musisz kliknąć Zapytanie. Ostatnie pytanie nadal pozostaje. Dlaczego te dwie przestrzenie nazw?
Bardzo przydatna odpowiedź. Aby użyć go z lokalnym emulatorem platformy Azure, zamień długi ciąg połączenia na "UseDevelopmentStorage = true". –
ostatni link jest zepsuty – Serge
@Serge Wygląda na to, że został usunięty z MSDN. – Rubio