Zum Fußzeileninhalt springen
.NET HILFE

Azure Tables (Wie es für Entwickler funktioniert)

In der weitläufigen Landschaft des Cloud-Computing spielt die Datenspeicherung eine zentrale Rolle bei der Gestaltung der Architektur und Skalierbarkeit moderner Anwendungen. Azure Table Storage, ein vollständig verwalteter NoSQL-Datenspeicher, der von Microsoft Azure bereitgestellt wird, bietet Entwicklern eine vielseitige Lösung zur Speicherung strukturierter Daten in der Cloud. Lassen Sie uns eine Reise antreten, um die Fähigkeiten, Anwendungsfälle und Vorteile von Azure Table Storage zu erkunden.

Verstehen von Azure Table Storage

Azure Table Storage ist ein cloudbasierter NoSQL-Datenbankdienst, der eine schemalose Speicherung strukturierter Daten bietet. Azure Tables bieten ein auf Schlüssel-Wert-Paaren basierendes Datenmodell, bei dem jede Entität eindeutig durch einen Partition Key und einen Zeilen Key identifiziert wird. Dieses Design ermöglicht effiziente Abfragen und Datenabrufe und ist ideal für Szenarien geeignet, die schnellen Zugriff auf große Datensätze erfordern.

Wenn Sie sich zwischen Azure Table Storage und einer relationalen Datenbank zur Verwaltung Ihrer strukturierten Daten entscheiden müssen, macht die Fähigkeit von Azure Table Storage, große Datensätze zu handhaben und die Integration in das Azure Ökosystem, Azure Table Storage zu einem nützlichen Werkzeug in Ihrem Entwicklerwerkzeugkasten.

Schlüsselmerkmale und -fähigkeiten

  1. Schemaloses Design: Im Gegensatz zu traditionellen relationalen Datenbanken erzwingt Azure Table Storage kein Schema auf die Daten. Diese Flexibilität ermöglicht es Entwicklern, Entitäten mit verschiedenen Strukturen innerhalb derselben Tabelle zu speichern, was eine agile Entwicklung erleichtert und sich an sich ändernde Datenanforderungen anpasst.

  2. Skalierbarkeit und Leistung: Azure Table Storage ist für Skalierbarkeit ausgelegt und kann enorme Datenmengen problemlos handhaben. Es skaliert automatisch, um zunehmende Arbeitslasten zu bewältigen, und bietet vorhersehbare Leistung, was es für hochdurchsatzfähige Anwendungen und Szenarien geeignet macht, die niedrigen Latenzzugriff auf Daten erfordern.

  3. Partitionierung und Lastenausgleich: Daten in Azure Table Storage werden basierend auf dem Partitionsschlüssel partitioniert, was eine effiziente Verteilung der Daten auf mehrere Speicher-Knoten ermöglicht. Diese Partitionsstrategie ermöglicht horizontale Skalierbarkeit und Lastenausgleich, was optimale Performance und Ressourcennutzung sicherstellt.

  4. Sekundäre Indizes: Während Azure Table Storage hauptsächlich den Partitionsschlüssel und den Zeilenschlüssel für den Zugriff auf Daten verwendet, unterstützt es auch sekundäre Indizes durch die Verwendung von zusammengesetzten Schlüsseln und Abfrageprojektionen. Diese Funktion ermöglicht es Entwicklern, effiziente Bereichsabfragen durchzuführen und Daten basierend auf sekundären Eigenschaften zu filtern, was die Flexibilität der Datenzugriffsmuster erhöht.

  5. Integration mit dem Azure-Ökosystem: Azure Table Storage integriert sich nahtlos mit anderen Azure-Diensten wie Azure Functions, Azure Cosmos DB und Azure Logic Apps, was es Entwicklern ermöglicht, End-to-End-Lösungen einfach zu erstellen. Ob Datenströme mit serverlosen Funktionen verarbeitet oder Daten mit fortgeschrittenen Analysetools analysiert werden, Azure Table Storage dient als grundlegende Komponente zum Aufbau skalierbarer und widerstandsfähiger Anwendungen.

Anwendungsfälle

Azure Table Storage bedient eine Vielzahl von Anwendungsfällen in verschiedenen Branchen, darunter:

  1. Internet of Things (IoT): Azure Table Storage eignet sich hervorragend zur Speicherung von Telemetriedaten von IoT-Geräten und ermöglicht die Echtzeit-Datenaufnahme, Analyse und Visualisierung. Seine Skalierbarkeit und Leistung machen es ideal für die Bewältigung der großen Datenmengen, die durch IoT-Implementierungen erzeugt werden.

  2. Content Management: Für Anwendungen, die eine strukturierte Speicherung von Inhaltsmetadaten erfordern, wie Blogs, Artikel und nutzergenerierte Inhalte, bietet Azure Table Storage eine kostengünstige und skalierbare Lösung. Sein schemaloses Design erlaubt eine flexible Schema-Evolution und passt sich an Änderungen in der Inhaltsstruktur im Laufe der Zeit an.

  3. Session State Management: Azure Table Storage kann zur Speicherung von Sitzungsstatusdaten für Webanwendungen verwendet werden und bietet eine verteilte und skalierbare Sitzungsverwaltungslösung. Durch das Auslagern des Sitzungsstatus an Azure Table Storage können Entwickler verbesserte Skalierbarkeit, Fehlertoleranz und Sitzungsaffinität in lastenausgeglichenen Umgebungen erreichen.

  4. Verteilte Systeme: In Architekturen verteilter Systeme dient Azure Table Storage als grundlegender Datenspeicher zur Aufrechterhaltung des gemeinsam genutzten Zustands und der Koordination zwischen Komponenten. Seine Partitions- und Skalierungsfunktionen machen es gut geeignet für Szenarien, die verteiltes Caching, Konfigurationsmanagement und Koordination zwischen Mikroservices erfordern.

Einführung in IronPDF

Azure Tables (So funktioniert es für Entwickler): Abbildung 1

IronPDF ist eine C#-PDF-Bibliothek, die das Erstellen, Verwalten und Extrahieren von Inhalten aus PDF-Dokumenten in .NET-Projekten ermöglicht. Hier sind einige wichtige Funktionen:

  1. HTML-zu-PDF-Konvertierung:

    • Konvertieren Sie HTML-, CSS- und JavaScript-Inhalte in PDF-Dokumente.
    • Chrome Rendering Engine für pixelgenaue PDFs.
    • Erstellen Sie PDFs aus URLs, HTML-Dateien oder HTML-Strings als Eingabe.
  2. Bild- und Inhaltskonvertierung:

    • Konvertieren Sie Bilder in und aus PDFs.
    • Extrahieren Sie Text und Bilder aus bestehenden PDF-Dokumenten.
    • Unterstützung für verschiedene Bildformate wie JPG, PNG, etc.
  3. Bearbeitung und Manipulation:

    • Eigenschaften, Sicherheit und Berechtigungen für PDFs festlegen.
    • Digitale Signaturen hinzufügen.
    • Metadaten und Versionsverlauf bearbeiten.
  4. Plattformübergreifende Unterstützung:
    • Funktioniert mit .NET Core (8, 7, 6, 5 und 3.1+), .NET Standard (2.0+) und .NET Framework (4.6.2+).
    • Kompatibel mit Windows, Linux und macOS.
    • Auf NuGet für einfache Installation verfügbar.

Erzeugen eines PDF-Dokuments mit IronPDF und Azure-Tabellen

Um zu beginnen, erstellen Sie eine Konsolenanwendung mit Visual Studio wie unten:

Azure Tables (So funktioniert es für Entwickler): Abbildung 2

Projektnamen angeben:

Azure Tables (So funktioniert es für Entwickler): Abbildung 3

.NET-Version angeben:

Azure Tables (So funktioniert es für Entwickler): Abbildung 4

Installieren Sie das IronPDF-Paket aus dem NuGet-Paket-Manager:

Azure Tables (So funktioniert es für Entwickler): Abbildung 5

Für den Zugriff auf die Azure Tables-Bibliothek verwenden wir die Azure Tables-Clientbibliothek namens Azure.Data.Tables, die im NuGet-Paket-Manager zu finden ist. Der Azure Table Service-Client bietet Funktionen zur Interaktion mit Azure Table Storage.

Azure Tables (So funktioniert es für Entwickler): Abbildung 6

Erstellen Sie ein Azure Storage-Konto, um mit Azure Tables zu beginnen:

Azure Tables (So funktioniert es für Entwickler): Abbildung 7

Klicken Sie auf Überprüfen und Erstellen. Geben Sie den folgenden Code in Ihr Programm ein, um Azure Tables zur Erstellung eines PDF-Dokuments zu verwenden.

using Azure;
using Azure.Data.Tables;
using Azure.Data.Tables.Models;
using IronPdf;
using System;
using System.Linq;
using System.Threading.Tasks;

namespace CodeSample
{
    public static class AzureTableDemo
    {
        public static async Task Execute()
        {
            var tableName = "IronDemo";
            var connectionString = "DefaultEndpointsProtocol=https;AccountName=irondemo;AccountKey=9Pe6LJlkjA721VgWvSuRCMk+WJR5/kFoyPtR1ewjRsNbGJNJOmWYhCB32fakANmWeAcfyIg++iHl+AStDNYlGw==;EndpointSuffix=core.windows.net";
            Console.WriteLine("Demo IronPDF with Azure.Data.Tables");

            // Enable web security for PDF rendering
            Installation.EnableWebSecurity = true;

            // Instantiate PDF renderer
            var renderer = new ChromePdfRenderer();

            // HTML content for the PDF
            var content = "<h1>Demo IronPDF with Azure.Data.Tables</h1>";

            // Create a TableServiceClient using the connection string
            content += "<h2>Create TableServiceClient</h2>";
            var serviceClient = new TableServiceClient(connectionString);
            content += "<p>var serviceClient = new TableServiceClient(connectionString);</p>";

            // Create the table if it does not exist
            content += "<h2>Create Table</h2>";
            TableItem table = await serviceClient.CreateTableIfNotExistsAsync(tableName);
            Console.WriteLine($"Created table: {table.Name}.");
            content += $"<p>Created table: {table.Name}.</p>";

            // Placeholder for delete table logic
            content += "<h2>Deletes If Required</h2>";
            // serviceClient.DeleteTable(tableName);
            content += "<p>serviceClient.DeleteTable(tableName);</p>";

            // Get a client reference to interact with the table
            content += "<h2>Get Table Client</h2>";
            var tableClient = serviceClient.GetTableClient(tableName);
            content += "<p>var tableClient = serviceClient.GetTableClient(tableName);</p>";

            // Define and add a new entity to the table
            content += "<h2>Add Table Entity</h2>";
            var tableEntity = new TableEntity { { "Book", "Awesome IronPDF Package" }, { "Price", 5.00 }, { "Quantity", 21 } };
            tableEntity.PartitionKey = tableEntity["Book"].ToString();
            tableEntity.RowKey = tableEntity["Price"].ToString();
            content += "<p>new TableEntity() { { \"Book\", \"Awesome IronPDF Package\" }, { \"Price\", 5.00 }, { \"Quantity\", 21 } }</p>";

            content += $"<p>tableEntity.PartitionKey = {tableEntity["Book"]}</p>";
            content += $"<p>tableEntity.RowKey = {tableEntity["Price"]}</p>";

            Console.WriteLine($"{tableEntity.RowKey}: {tableEntity["Book"]} costs ${tableEntity.GetDouble("Price")}.");
            content += $"<p>{tableEntity.RowKey}: {tableEntity["Book"]} costs ${tableEntity.GetDouble("Price")}</p>";

            // Add the entity to the table
            tableClient.AddEntity(tableEntity);
            content += "<p>Entity added.</p>";

            // Query the table
            content += "<h2>Query Table</h2>";
            Pageable<TableEntity> queryResultsFilter = tableClient.Query<TableEntity>(filter: $"PartitionKey eq '{tableEntity.PartitionKey}'");
            content += "<p>Using tableClient.Query<TableEntity></p>";

            // Iterate and display queried entities
            foreach (TableEntity qEntity in queryResultsFilter)
            {
                content += $"<p>{qEntity.GetString("Book")}: {qEntity.GetDouble("Price")}</p>";
                Console.WriteLine($"{qEntity.GetString("Book")}: {qEntity.GetDouble("Price")}");
            }
            Console.WriteLine($"The query returned {queryResultsFilter.Count()} entities.");
            content += $"<p>The query returned {queryResultsFilter.Count()} entities.</p>";

            // Render HTML content as PDF
            var pdf = renderer.RenderHtmlAsPdf(content);

            // Save the PDF to a file
            pdf.SaveAs("AwesomeAzureDataTables.pdf");
        }
    }
}
using Azure;
using Azure.Data.Tables;
using Azure.Data.Tables.Models;
using IronPdf;
using System;
using System.Linq;
using System.Threading.Tasks;

namespace CodeSample
{
    public static class AzureTableDemo
    {
        public static async Task Execute()
        {
            var tableName = "IronDemo";
            var connectionString = "DefaultEndpointsProtocol=https;AccountName=irondemo;AccountKey=9Pe6LJlkjA721VgWvSuRCMk+WJR5/kFoyPtR1ewjRsNbGJNJOmWYhCB32fakANmWeAcfyIg++iHl+AStDNYlGw==;EndpointSuffix=core.windows.net";
            Console.WriteLine("Demo IronPDF with Azure.Data.Tables");

            // Enable web security for PDF rendering
            Installation.EnableWebSecurity = true;

            // Instantiate PDF renderer
            var renderer = new ChromePdfRenderer();

            // HTML content for the PDF
            var content = "<h1>Demo IronPDF with Azure.Data.Tables</h1>";

            // Create a TableServiceClient using the connection string
            content += "<h2>Create TableServiceClient</h2>";
            var serviceClient = new TableServiceClient(connectionString);
            content += "<p>var serviceClient = new TableServiceClient(connectionString);</p>";

            // Create the table if it does not exist
            content += "<h2>Create Table</h2>";
            TableItem table = await serviceClient.CreateTableIfNotExistsAsync(tableName);
            Console.WriteLine($"Created table: {table.Name}.");
            content += $"<p>Created table: {table.Name}.</p>";

            // Placeholder for delete table logic
            content += "<h2>Deletes If Required</h2>";
            // serviceClient.DeleteTable(tableName);
            content += "<p>serviceClient.DeleteTable(tableName);</p>";

            // Get a client reference to interact with the table
            content += "<h2>Get Table Client</h2>";
            var tableClient = serviceClient.GetTableClient(tableName);
            content += "<p>var tableClient = serviceClient.GetTableClient(tableName);</p>";

            // Define and add a new entity to the table
            content += "<h2>Add Table Entity</h2>";
            var tableEntity = new TableEntity { { "Book", "Awesome IronPDF Package" }, { "Price", 5.00 }, { "Quantity", 21 } };
            tableEntity.PartitionKey = tableEntity["Book"].ToString();
            tableEntity.RowKey = tableEntity["Price"].ToString();
            content += "<p>new TableEntity() { { \"Book\", \"Awesome IronPDF Package\" }, { \"Price\", 5.00 }, { \"Quantity\", 21 } }</p>";

            content += $"<p>tableEntity.PartitionKey = {tableEntity["Book"]}</p>";
            content += $"<p>tableEntity.RowKey = {tableEntity["Price"]}</p>";

            Console.WriteLine($"{tableEntity.RowKey}: {tableEntity["Book"]} costs ${tableEntity.GetDouble("Price")}.");
            content += $"<p>{tableEntity.RowKey}: {tableEntity["Book"]} costs ${tableEntity.GetDouble("Price")}</p>";

            // Add the entity to the table
            tableClient.AddEntity(tableEntity);
            content += "<p>Entity added.</p>";

            // Query the table
            content += "<h2>Query Table</h2>";
            Pageable<TableEntity> queryResultsFilter = tableClient.Query<TableEntity>(filter: $"PartitionKey eq '{tableEntity.PartitionKey}'");
            content += "<p>Using tableClient.Query<TableEntity></p>";

            // Iterate and display queried entities
            foreach (TableEntity qEntity in queryResultsFilter)
            {
                content += $"<p>{qEntity.GetString("Book")}: {qEntity.GetDouble("Price")}</p>";
                Console.WriteLine($"{qEntity.GetString("Book")}: {qEntity.GetDouble("Price")}");
            }
            Console.WriteLine($"The query returned {queryResultsFilter.Count()} entities.");
            content += $"<p>The query returned {queryResultsFilter.Count()} entities.</p>";

            // Render HTML content as PDF
            var pdf = renderer.RenderHtmlAsPdf(content);

            // Save the PDF to a file
            pdf.SaveAs("AwesomeAzureDataTables.pdf");
        }
    }
}
$vbLabelText   $csharpLabel

Code-Erklärung

Der Code zeigt, wie man mit Azure Table Storage interagiert und ein PDF mit IronPDF erstellt:

  1. Interaktion mit Azure Table Storage:

    • Es verwendet das Azure SDK für .NET (Azure.Data.Tables), um eine Verbindung zu Azure Table Storage herzustellen.
    • Es wird überprüft, ob eine Tabelle mit dem Namen "IronDemo" existiert; wenn nicht, wird sie erstellt.
    • Eine neue Entität (ähnlich einer Datenbankreihe) wird der Tabelle hinzugefügt, wobei Eigenschaften wie "Book", "Price" und "Quantity" angegeben werden.
    • Die Tabelle wird abgefragt, um Entitäten basierend auf einer Filterbedingung abzurufen.
  2. PDF-Erstellung mit IronPDF:
    • Verwendet den ChromePdfRenderer von IronPDF, um HTML-Inhalte in eine PDF-Datei zu rendern.
    • Generiert das PDF aus dynamischen HTML-Inhalten, die Details zu Azure Table Storage-Operationen enthalten.

Azure Tables (So funktioniert es für Entwickler): Abbildung 8

IronPDF Lizenzierung

Das IronPDF-Paket erfordert eine Lizenz zum Ausführen. Fügen Sie den folgenden Code am Anfang der Anwendung ein, bevor auf das Paket zugegriffen wird

IronPdf.License.LicenseKey = "IRONPDF-KEY";
IronPdf.License.LicenseKey = "IRONPDF-KEY";
$vbLabelText   $csharpLabel

Eine Testlizenz ist hier verfügbar.

Abschluss

Azure Table Storage steht als Beweis für Microsofts Engagement, Entwicklern skalierbare, flexible und kostengünstige Datenspeicherungslösungen in der Cloud bereitstellen zu wollen. Mit seinem schemalosen Design, der horizontalen Skalierbarkeit und der nahtlosen Integration in das Azure-Ökosystem ermöglicht Azure Table Storage es Entwicklern, widerstandsfähige und agile Anwendungen zu erstellen, die sich an die dynamischen Anforderungen moderner Geschäftsumgebungen anpassen können.

Ob es darum geht, IoT-Datenströme zu verwalten, Inhaltsmetadaten zu speichern oder verteilte Systeme zu orchestrieren, Azure Table Storage bietet eine vielseitige Plattform, um das volle Potenzial von Cloud-nativen Anwendungen freizusetzen. Während Organisationen weiterhin digitale Transformationsinitiativen übernehmen und in die Cloud migrieren, bleibt Azure Table Storage ein Eckpfeiler moderner Datenspeicherarchitekturen, treibt Innovationen voran und ermöglicht Unternehmen, in einer zunehmend datengetriebenen Welt zu gedeihen.

IronPDF ist eine .NET-Bibliothek, die zum programmgesteuerten Erstellen und Bearbeiten von PDF-Dokumenten verwendet wird. Es ermöglicht Entwicklern, HTML-, ASPX-Seiten, Bilder und Text in PDF-Dateien zu konvertieren. Wichtige Funktionen umfassen die HTML-zu-PDF-Konvertierung, PDF-Bearbeitungsmöglichkeiten und Unterstützung für verschiedene .NET-Umgebungen, was es zu einem vielseitigen Werkzeug für das Generieren und Verarbeiten von PDF-Dokumenten in .NET-Anwendungen macht.

Häufig gestellte Fragen

Wie kann ich HTML-Inhalte mit C# in PDF umwandeln?

Sie können HTML-Inhalte mit der IronPDF-Bibliothek in C# in PDF umwandeln. Die Bibliothek stellt Methoden wie RenderHtmlAsPdf zur Verfügung, um HTML-Strings oder -Dateien in PDF-Dokumente zu konvertieren.

Welche Rolle spielt die Partitionierung in Azure Table Storage?

Die Partitionierung in Azure Table Storage hilft, Daten über verschiedene Knoten zu verteilen, wodurch die Lastverteilung und Skalierbarkeit verbessert werden. Es verwendet Partitionsschlüssel, um Daten effizient über den Speichercluster zu verwalten.

Kann ich Azure Table Storage mit einer C# PDF-Bibliothek für die Dokumentenerzeugung integrieren?

Ja, Sie können Azure Table Storage mit einer C# PDF-Bibliothek wie IronPDF zur Dokumentenerzeugung integrieren. Die Integration ermöglicht das Abrufen von Daten aus Azure Table Storage und das Rendering im PDF-Format mithilfe von IronPDF.

Was sind die Vorteile der Verwendung von schema-losem Speicher in Cloud-Datenbanken?

Schemaloser Speicher, wie er von Azure Table Storage angeboten wird, bietet Flexibilität im Daten-Design. Er erlaubt verschiedene Datenstrukturen innerhalb derselben Tabelle, was die agile Entwicklung und Anpassungsfähigkeit an sich entwickelnde Datenmodelle erleichtert.

Wie unterstützt Azure Table Storage das IoT-Datenmanagement?

Azure Table Storage unterstützt das IoT-Datenmanagement, indem es skalierbaren und effizienten Speicher für Telemetriedaten bereitstellt. Sein schemaloses Design und die Skalierbarkeit machen es ideal für die Verwaltung großer Mengen von IoT-Daten.

Ist eine Lizenz erforderlich, um eine C# PDF-Bibliothek in einer Produktionsumgebung zu verwenden?

Ja, es ist eine Lizenz erforderlich, um eine C# PDF-Bibliothek wie IronPDF in einer Produktionsumgebung zu verwenden. Eine Testlizenz ist für Evaluierungszwecke verfügbar, die es Entwicklern ermöglicht, die Funktionen vor dem Kauf zu erkunden.

Wie stellt Azure Table Storage effizientes Datenabfragen sicher?

Azure Table Storage verwendet ein Schlüssel-Wert-Paar-Modell mit Partitions- und Zeilenschlüsseln, das die Datenabfrage und -abfrageoptimierung optimiert. Dieses Design ermöglicht einen effizienten Zugriff auf große Datensätze.

Was sind einige gängige Anwendungen von Azure Table Storage?

Häufige Anwendungen von Azure Table Storage umfassen das Speichern von Metadaten für Content-Management, das Verwalten des Sitzungszustands in Webanwendungen und das Koordinieren von gemeinsamem Zustand in verteilten Systemen.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen