Метод Table.LoadTable()
возвращает объект Table
, который в основном является оболочкой для клиента DynamoDB.Этот объект не содержит никаких данных, которые есть в фактической таблице в AWS.
Чтобы прочитать все элементы в таблице, вам нужно использовать метод Table.Scan()
.Вот пример кода, который использует scan
для вывода содержимого таблицы в стандартный вывод.
private static void DumpTable(Table table)
{
ScanFilter scanFilter = new ScanFilter();
Search search = productCatalogTable.Scan(scanFilter);
List<Document> documentList = new List<Document>();
do
{
documentList = search.GetNextSet();
foreach (var document in documentList)
PrintDocument(document);
} while (!search.IsDone);
}
private static void PrintDocument(Document document)
{
// count++;
Console.WriteLine();
foreach (var attribute in document.GetAttributeNames())
{
string stringValue = null;
var value = document[attribute];
if (value is Primitive)
stringValue = value.AsPrimitive().Value.ToString();
else if (value is PrimitiveList)
stringValue = string.Join(",", (from primitive
in value.AsPrimitiveList().Entries
select primitive.Value).ToArray());
Console.WriteLine("{0} - {1}", attribute, stringValue);
}
}