Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sunucu Sürümü: 2019-12-12 veya üzeri.
Değişiklik akışı, depolama hesabınızdaki bloblarda ve blob meta verilerinde gerçekleşen tüm değişikliklerin sıralı, garantili, dayanıklı, sabit, salt okunur bir işlem günlüğü sağlar. İstemci uygulamaları bu günlükleri istedikleri zaman okuyabilir. Değişiklik akışı, Blob Depolama hesabınızda gerçekleşen değişiklik olaylarını düşük maliyetle işleyen verimli ve ölçeklenebilir çözümler oluşturmanıza olanak tanır.
Bu proje, JavaScript'te değişiklik akışının kullanılmasını kolaylaştıran bir istemci kitaplığı sağlar.
Bu paketteki istemci kitaplıklarını kullanarak:
- Değişiklik akışı olaylarını, tümünü veya bir zaman aralığında okuma
- Kaydedilen konumdan okuma olaylarını devam ettiriyor
Önemli bağlantılar:
Başlarken
Şu anda desteklenen ortamlar
- Node.jsLTS sürümleri
- Safari, Chrome, Edge ve Firefox'un en son sürümleri.
Daha fazla ayrıntı için destek ilkemize bakın.
Önkoşullar
Paketi yükleme
JavaScript için Azure Depolama Blobu Değişiklik Akışı istemci kitaplığını yüklemenin tercih edilen yolu npm paket yöneticisini kullanmaktır. Terminal penceresine aşağıdakileri yazın:
npm install @azure/storage-blob-changefeed
İstemcinin kimliğini doğrulama
Bu kitaplık, başlatmak için kimliği doğrulanmış BlobServiceClient bir kitaplık kullanır. Kimlik doğrulaması BlobServiceClientyapmak için storage-blob'a bakın.
Uyumluluk
Şimdilik bu kitaplık yalnızca Node.js ile uyumludur.
Önemli kavramlar
Değişiklik akışı, standart blob fiyatlandırma maliyetiyle depolama hesabınızdaki özel bir kapsayıcıda blob olarak depolanır. Gereksinimlerinize göre bu dosyaların saklama süresini denetleyebilirsiniz. Değişiklik olayları, değişiklik akışına Apache Avro biçim belirtiminde kayıt olarak eklenir: satır içi şemaya sahip zengin veri yapıları sağlayan kompakt, hızlı, ikili biçim. Bu biçim Hadoop ekosisteminde, Stream Analytics'te ve Azure Data Factory yaygın olarak kullanılır.
Bu kitaplık, değişiklik olaylarını getirmek için kullanabileceğiniz bir istemci sunar.
Örnekler
- Değişiklik akışı istemcisini başlatma
- Değişiklik Akışındaki tüm olayları okuma
- sürdürme ContinuationToken ile okuma olaylarını sürdürme
- Zaman aralığındaki olayları okuma
Değişiklik akışı istemcisini başlatma
, BlobChangeFeedClient başlatmak için neredeyse aynı parametreleri BlobServiceClient gerektirir. Blob hizmeti istemcisini oluşturma hakkında bilgi için storage-blob'a bakın. Burada, kullanan bir örnek verilmiştir 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
);
Değişiklik Akışındaki tüm olayları okuma
Yineleyicilerin değişiklik olaylarını yinelemesini sağlamak için kullanın BlobChangeFeedClient.listChanges() .
const { BlobChangeFeedEvent } = require("@azure/storage-blob-changefeed");
let changeFeedEvents = [];
for await (const event of changeFeedClient.listChanges()) {
changeFeedEvents.push(event);
}
Sayfaya göre.
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);
}
}
ContinuationToken ile okuma olaylarını sürdürme
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);
}
}
Zaman aralığındaki olayları okuma
Bir zaman aralığındaki olayları getirmek için başlangıç saatini ve bitiş saatini 'a BlobChangeFeedClient.listChanges() geçirin.
Şimdilik, değişiklik akışı istemcisinin başlangıç saatini en yakın saate, bitiş saatini ise bir sonraki saate kadar aşağı yuvarlayacağını unutmayın.
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);
}
Sorun giderme
Günlüğün etkinleştirilmesi hatalarla ilgili yararlı bilgilerin ortaya çıkarılmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için ortam değişkenini AZURE_LOG_LEVEL olarak infoayarlayın. Alternatif olarak, günlüğü çalışma zamanında içinde çağrılarak setLogLevel@azure/loggeretkinleştirilebilir:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Sonraki adımlar
Diğer kod örnekleri:
- Blob Depolama Değişiklik Akışı Örnekleri (JavaScript)
- Blob Depolama Değişiklik Akışı Örnekleri (TypeScript)
- Blob Depolama Değişiklik Akışı Test Çalışmaları
Katkıda bulunma
Bu kitaplığa katkıda bulunmak isterseniz, kodu derleme ve test etme hakkında daha fazla bilgi edinmek için lütfen katkıda bulunma kılavuzunu okuyun.
Depolama kitaplıkları için test ortamını ayarlama hakkında ek bilgi için depolamaya özgü kılavuza da bakın.

Azure SDK for JavaScript