Azure Storage Blob Change Feed-Clientbibliothek für JavaScript – Version 12.0.0-preview.4
Serverversion: 2019-12-12 oder höher.
Der Änderungsfeed bietet ein geordnetes, garantiertes, dauerhaftes, unveränderliches, schreibgeschütztes Transaktionsprotokoll aller Änderungen, die an Blobs und Blobmetadaten in Ihrem Speicherkonto auftreten. Clientanwendungen können diese Protokolle jederzeit lesen. Der Änderungsfeed ermöglicht es Ihnen, effiziente und skalierbare Lösungen zu erstellen, mit denen Änderungsereignisse, die in Ihrem Blob Storage-Konto auftreten, kostengünstig verarbeitet werden.
Dieses Projekt stellt eine Clientbibliothek in JavaScript bereit, die die Nutzung des Änderungsfeeds vereinfacht.
Verwenden Sie die Clientbibliotheken in diesem Paket für Folgendes:
- Lesen von Änderungsfeedereignissen, alle oder innerhalb eines Zeitbereichs
- Fortsetzen des Lesens von Ereignissen aus einer gespeicherten Position
Wichtige Links:
Erste Schritte
Die derzeitig unterstützten Umgebungen
- LTS-Versionen von Node.js
- Neueste Versionen von Safari, Chrome, Edge und Firefox.
Ausführlichere Informationen finden Sie in der Supportrichtlinie.
Voraussetzungen
Installieren des Pakets
Die bevorzugte Methode zum Installieren der Azure Storage Blob Change Feed-Clientbibliothek für JavaScript ist die Verwendung des npm-Paket-Managers. Geben Sie Folgendes in ein Terminalfenster ein:
npm install @azure/storage-blob-changefeed
Authentifizieren des Clients
Diese Bibliothek verwendet eine authentifizierte BlobServiceClient
zum Initialisieren. Informationen zum Authentifizieren von BlobServiceClient
.
Kompatibilität
Derzeit ist diese Bibliothek nur mit Node.js kompatibel.
Wichtige Begriffe
Der Änderungsfeed wird in Form von Blobs in einem speziellen Container Ihres Speicherkontos zu standardmäßigen Blobpreisen gespeichert. Sie können den Aufbewahrungszeitraum dieser Dateien basierend auf Ihren Anforderungen steuern. Änderungsereignisse werden in der Apache Avro-Formatspezifikation als Datensätze an den Änderungsfeed angehängt. Dies ist ein kompaktes, schnelles Binärformat, das umfangreiche Datenstrukturen mit Inlineschemas bereitstellt. Dieses Format wird häufig im Hadoop-Ökosystem, von Stream Analytics und von Azure Data Factory verwendet.
Diese Bibliothek bietet einen Client, den Sie zum Abrufen der Änderungsereignisse verwenden können.
Beispiele
- Initialisieren des Änderungsfeedclients
- Lesen aller Ereignisse im Änderungsfeed
- Fortsetzen von Leseereignissen mit einer FortsetzungToken
- Lesen von Ereignissen innerhalb eines Zeitbereichs
Initialisieren des Änderungsfeedclients
Die BlobChangeFeedClient
erfordert fast die gleichen Parameter wie BlobServiceClient
zum Initialisieren. Informationen zum Erstellen des Blobdienstclients finden Sie unter storage-blob . Hier ist ein Beispiel für die Verwendung von StorageSharedKeyCredential
.
const { StorageSharedKeyCredential } = require("@azure/storage-blob");
const { BlobChangeFeedClient } = require("@azure/storage-blob-changefeed");
// Enter your storage account name and shared key
const account = "<account>";
const accountKey = "<accountkey>";
// Use StorageSharedKeyCredential with storage account and account key
// StorageSharedKeyCredential is only available in Node.js runtime, not in browsers
const sharedKeyCredential = new StorageSharedKeyCredential(account, accountKey);
const changeFeedClient = new BlobChangeFeedClient(
// When using AnonymousCredential, following url should include a valid SAS or support public access
`https://${account}.blob.core.windows.net`,
sharedKeyCredential
);
Lesen aller Ereignisse im Änderungsfeed
Verwenden Sie BlobChangeFeedClient.listChanges()
, um Iteratoren zum Durchlaufen der Änderungsereignisse zu erhalten.
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
let changeFeedEvents = [];
for await (const event of changeFeedClient.listChanges()) {
changeFeedEvents.push(event);
}
Nach Seite.
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
let changeFeedEvents = [];
for await (const eventPage of changeFeedClient.listChanges().byPage()) {
for (const event of eventPage.events) {
changeFeedEvents.push(event);
}
}
Fortsetzen von Leseereignissen mit einer FortsetzungToken
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
let changeFeedEvents = [];
const firstPage = await changeFeedClient
.listChanges()
.byPage({ maxPageSize: 10 })
.next();
for (const event of firstPage.value.events) {
changeFeedEvents.push(event);
}
// Resume iterating from the previous position with the continuationToken.
for await (const eventPage of changeFeedClient
.listChanges()
.byPage({ continuationToken: firstPage.value.continuationToken })) {
for (const event of eventPage.events) {
changeFeedEvents.push(event);
}
}
Lesen von Ereignissen innerhalb eines Zeitbereichs
Übergeben Sie Start- und Endzeit an, um BlobChangeFeedClient.listChanges()
Ereignisse innerhalb eines Zeitbereichs abzurufen.
Beachten Sie, dass der Änderungsfeedclient die Startzeit auf die nächste Stunde und die Endzeit bis zur nächsten Stunde herunterrundet.
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
const start = new Date(Date.UTC(2020, 1, 21, 22, 30, 0)); // will be rounded down to 22:00
const end = new Date(Date.UTC(2020, 4, 8, 21, 10, 0)); // will be rounded up to 22:00
let changeFeedEvents = [];
// You can also provide just a start or end time.
for await (const event of changeFeedClient.listChanges({ start, end })) {
changeFeedEvents.push(event);
}
Problembehandlung
Die Aktivierung der Protokollierung kann hilfreiche Informationen über Fehler aufdecken. Um ein Protokoll von HTTP-Anforderungen und -Antworten anzuzeigen, legen Sie die Umgebungsvariable AZURE_LOG_LEVEL
auf info
fest. Alternativ kann die Protokollierung zur Laufzeit aktiviert werden, indem Sie setLogLevel
in @azure/logger
aufrufen:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Nächste Schritte
Weitere Codebeispiele:
- Blob Storage-Änderungsfeedbeispiele (JavaScript)
- Blob Storage-Änderungsfeedbeispiele (TypeScript)
- Blob Storage-Änderungsfeedtestfälle
Mitwirken
Wenn Sie an dieser Bibliothek mitwirken möchten, lesen Sie die Anleitung für Mitwirkende, um mehr darüber zu erfahren, wie Sie den Code erstellen und testen können.
Weitere Informationen zum Einrichten der Testumgebung für Speicherbibliotheken finden Sie auch im Speicherspezifischen Leitfaden .
Azure SDK for JavaScript