Azure Cosmos DB erstellt Ressourcen in einer Hierarchie, die aus Konten, Datenbanken, Containern und Elementen besteht:
Erste Schritte
Zunächst musst du in deinem Projekt einen Verweis auf die combit.ListLabel28.CosmosDBDataProvider.dll hinzufügen (oder das entsprechende NuGet-Paket verwenden). Zusätzlich benötigst du das Microsoft.Azure.Cosmos-NuGet-Paket.
Um eine Verbindung herzustellen, musst du lediglich eine Instanz des CosmosDbDataProvider erstellen und die Verbindungsinformationen im Konstruktor angeben:
CosmosDbDataProvider<Family> provider = new CosmosDbDataProvider<Family>(<YourEndpointUri>, <YourPrimaryKey>, <databaseId>, <containerId>); ListLabel LL = new ListLabel(); LL.DataSource = provider; LL.Design();
Hinweis
Hier muss ein Typ für die generische Providerklasse angegeben werden, der der Klasse oder dem Datensatztyp des Elements im Container entspricht. Im Beispiel oben ist dies die Klasse „Family“. Diesen Typ gibst du auch an, wenn du Elemente in den Container schreibst oder im Container ausliest. Weitere Hinweise zur SQL-API findest du hier: Schnellstart: Azure Cosmos DB for NoSQL-Clientbibliothek für .NET
Ein Element der Klasse „Family“ im Azure-Cosmos-DB-Container würde dann beispielsweise wie folgt aussehen:
Im List & Label Designer findest du diese Struktur wieder und kannst sie mitsamt der Relationen in deinem Bericht verwenden:
Optionaler Parameter
Mit der oben erstellten Instanz erhältst du alle Elemente (Items), die im Container vorhanden sind. Du kannst dem Konstruktor noch einen optionalen Parameter übergeben, um nur bestimmte Elemente (Items) zu erhalten:
string sqlQuery = "SELECT * FROM c WHERE c.Name = 'Anderson'"; CosmosDbDataProvider<Family> provider = new CosmosDbDataProvider<Family>(<YourEndpointUri>, <YourPrimaryKey>, <databaseId>, <containerId>, sqlQuery); ListLabel LL = new ListLabel(); LL.DataSource = provider; LL.Design();
Im Bericht werden dann nur die Datensätze angezeigt, bei denen die Eigenschaft „Name“ mit „Anderson“ übereinstimmt. Auf diese Weise kannst du die Datenmenge an deine Bedürfnisse anpassen.
So visualisierst du deine Daten aus Azure Cosmos Datenbanken mit dem List & Label Designer.