W poprzednim wpisie utworzyliśmy nową tabelę. Zanim przejdziemy do operacji aktualizacji czy kasowania sprawdźmy czy nasza tabela rzeczywiście jest na miejscu.
W tym celu oczywiście musimy utworzyć instancję AmazonDynamoDBClient (o ile nie korzystacie z przygotowanego projektu gdzie wykorzystujemy Dependency Injection) i wykonać metodę ListTables.
Metoda ListTables nie wymaga żadnych parametrów. Można jednak przekazać parametry opcjonalne, np. Limit, który pozwala ograniczyć liczbę zwracanych nazw tabel (tzw. paging). W takim przypadku wymagane jest jednak utworzenie obiektu ListTablesRequest i podanie opcjonalnych parametrów jak możecie zobaczyć poniżej.
Wraz z rozmiarem strony żądanie ustawia parametr ExclusiveStartTableName, którego początkowa wartość to null. Jednakże po pobraniu wyników pierwszej strony, aby pobrać kolejną stronę wyników, należy ustawić wartość tego parametru na właściwość LastEvaluatedTableName bieżącego wyniku.
public async Task<ActionResult<string>> ListTables() { StringBuilder sb = new StringBuilder(); // Wartość początkowa dla pierwszej strony listy tabel string lastEvaluatedTableName = null; do { // Utworzenie żądania z opcjonalnymi parametrami var request = new ListTablesRequest { Limit = 10, // Rozmiar strony ExclusiveStartTableName = lastEvaluatedTableName }; var response = await _amazonDynamoDB.ListTablesAsync(request); ListTablesResponse result = response; foreach(string name in result.TableNames) sb.AppendLine($"TableName: {name}"); lastEvaluatedTableName = result.LastEvaluatedTableName; } while (lastEvaluatedTableName != null); return sb.ToString(); }
Po wykonaniu powyższego kodu możecie zobaczyć, że w poprzednim kroku rzeczywiście utworzyliśmy nową tabelę: