Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Kiszolgáló verziója: 2019-12-12 vagy újabb.
A változáscsatorna rendezett, garantált, tartós, nem módosítható, írásvédett tranzakciónaplót biztosít a tárfiók blobjainak és blob-metaadatainak változásairól. Az ügyfélalkalmazások bármikor olvashatják ezeket a naplókat. A változáscsatorna segítségével hatékony és méretezhető megoldásokat hozhat létre, amelyek alacsony költséggel dolgozzák fel a Blob Storage-fiókban bekövetkező változáseseményeket.
Ez a projekt egy JavaScript-ügyfélkódtárat biztosít, amely megkönnyíti a változáscsatorna használatát.
A csomagban található ügyfélkódtárak segítségével:
- Változáscsatorna-események olvasása egy időtartományon belül vagy egészben
- Események olvasásának folytatása mentett helyről
Főbb hivatkozások:
Első lépések
Jelenleg támogatott környezetek
- A Node.jsLTS-verziói
- A Safari, a Chrome, az Edge és a Firefox legújabb verziói.
További részletekért tekintse meg támogatási szabályzatunkat .
Előfeltételek
A csomag telepítése
A JavaScripthez készült Azure Storage Blob Change Feed ügyféloldali kódtár telepítésének elsődleges módja az npm-csomagkezelő használata. Írja be a következőt egy terminálablakba:
npm install @azure/storage-blob-changefeed
Az ügyfél hitelesítése
Ez a kódtár hitelesített inicializálást BlobServiceClient használ. A hitelesítést a storage-blobban találhatja meg BlobServiceClient.
Kompatibilitás
Ez a kódtár egyelőre csak a Node.js kompatibilis.
Fő fogalmak
A változáscsatorna blobokként lesz tárolva a tárfiók egy speciális tárolójában a standard blob díjszabási költségén. A fájlok megőrzési időtartamát a követelmények alapján szabályozhatja. A változási eseményeket a rendszer rekordként fűzi hozzá a változáscsatornához az Apache Avro formátum specifikációjában: egy kompakt, gyors bináris formátum, amely részletes adatstruktúrákat és beágyazott sémát biztosít. Ezt a formátumot széles körben használják a Hadoop-ökoszisztémában, a Stream Analyticsben és a Azure Data Factory.
Ez a kódtár kínál egy ügyfelet, a segítségével lekérheti a módosítási eseményeket.
Példák
- A változáscsatorna-ügyfél inicializálása
- A változáscsatorna összes eseményének olvasása
- Események olvasásának folytatása folytatássalToken
- Események olvasása egy időtartományon belül
A változáscsatorna-ügyfél inicializálása
A BlobChangeFeedClient szinte ugyanazokat a paramétereket igényli, mint BlobServiceClient az inicializáláshoz. A blobszolgáltatás-ügyfél létrehozásához tekintse meg a storage-blob című témakört. Íme egy példa a használatával 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
);
A változáscsatorna összes eseményének olvasása
A használatával BlobChangeFeedClient.listChanges() iterátorokat kérhet le a változásesemények iterálására.
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
let changeFeedEvents = [];
for await (const event of changeFeedClient.listChanges()) {
changeFeedEvents.push(event);
}
Oldal szerint.
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);
}
}
Események olvasásának folytatása folytatássalToken
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);
}
}
Események olvasása egy időtartományon belül
Adja át a kezdési és a befejezési időt az BlobChangeFeedClient.listChanges() események időtartományon belüli beolvasásához.
Vegye figyelembe, hogy a változáscsatorna-ügyfél egyelőre a kezdési időpontot a legközelebbi órára, a befejezési időt pedig a következő órára kerekíti.
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);
}
Hibaelhárítás
A naplózás engedélyezése hasznos információkat deríthet fel a hibákról. A HTTP-kérések és -válaszok naplójának megtekintéséhez állítsa a környezeti változót értékre AZURE_LOG_LEVELinfo. A naplózás futásidőben is engedélyezhető a következő hívásával setLogLevel@azure/logger:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Következő lépések
További kódminták:
- Blob Storage változáscsatorna-minták (JavaScript)
- Blob Storage változáscsatornaminták (TypeScript)
- Blob Storage változáscsatorna tesztelési esetei
Közreműködés
Ha hozzá szeretne járulni ehhez a kódtárhoz, olvassa el a közreműködői útmutatót , amelyből többet is megtudhat a kód buildeléséhez és teszteléséhez.
A tárolókódtárak tesztkörnyezetének beállításával kapcsolatos további információkért tekintse meg a Storage-specifikus útmutatót is.

Azure SDK for JavaScript