Pobieranie obiektu blob przy użyciu języka JavaScript lub TypeScript
W tym artykule pokazano, jak pobrać obiekt blob przy użyciu biblioteki klienta usługi Azure Storage dla języka JavaScript. Dane obiektu blob można pobrać do różnych miejsc docelowych, w tym lokalną ścieżkę pliku, strumień lub ciąg tekstowy.
Wymagania wstępne
- W przykładach w tym artykule założono, że masz już skonfigurowany projekt do pracy z biblioteką klienta usługi Azure Blob Storage dla języka JavaScript. Aby dowiedzieć się więcej o konfigurowaniu projektu, w tym instalacji pakietu, importowaniu modułów i tworzeniu autoryzowanego obiektu klienta do pracy z zasobami danych, zobacz Rozpoczynanie pracy z usługami Azure Blob Storage i JavaScript.
- Mechanizm autoryzacji musi mieć uprawnienia do wykonywania operacji pobierania. Aby dowiedzieć się więcej, zobacz wskazówki dotyczące autoryzacji dla następującej operacji interfejsu API REST:
Pobieranie obiektu blob
Aby pobrać obiekt blob, możesz użyć dowolnej z następujących metod:
- BlobClient.download
- BlobClient.downloadToBuffer (dostępny tylko w środowisku uruchomieniowym Node.js)
- BlobClient.downloadToFile (dostępny tylko w środowisku uruchomieniowym Node.js)
Pobieranie do ścieżki pliku
Poniższy przykład pobiera obiekt blob przy użyciu ścieżki pliku z metodą BlobClient.downloadToFile . Ta metoda jest dostępna tylko w środowisku uruchomieniowym Node.js:
async function downloadBlobToFile(containerClient, blobName, localFilePath) {
const blobClient = containerClient.getBlobClient(blobName);
await blobClient.downloadToFile(localFilePath);
}
Pobieranie jako strumień
Poniższy przykład pobiera obiekt blob przez utworzenie obiektu strumienia z możliwością zapisu Node.js, a następnie potokowanie do tego strumienia za pomocą metody BlobClient.download .
async function downloadBlobAsStream(containerClient, blobName, writableStream) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
downloadResponse.readableStreamBody.pipe(writableStream);
}
Pobieranie do ciągu
Poniższy przykład Node.js pobiera obiekt blob do ciągu za pomocą metody BlobClient.download . W Node.js dane obiektów blob są zwracane w obiekcie readableStreamBody
.
async function downloadBlobToString(containerClient, blobName) {
const blobClient = containerClient.getBlobClient(blobName);
const downloadResponse = await blobClient.download();
const downloaded = await streamToBuffer(downloadResponse.readableStreamBody);
console.log('Downloaded blob content:', downloaded.toString());
}
function streamToBuffer(readableStream) {
return new Promise((resolve, reject) => {
const chunks = [];
readableStream.on('data', (data) => {
chunks.push(data instanceof Buffer ? data : Buffer.from(data));
});
readableStream.on('end', () => {
resolve(Buffer.concat(chunks));
});
readableStream.on('error', reject);
});
}
Jeśli pracujesz z językiem JavaScript w przeglądarce, dane obiektów blob są zwracane w obiekcie blobBody obietnicy. Aby dowiedzieć się więcej, zobacz przykład użycia przeglądarek na stronie BlobClient.download.
Zasoby
Aby dowiedzieć się więcej na temat pobierania obiektów blob przy użyciu biblioteki klienta usługi Azure Blob Storage dla języka JavaScript, zobacz następujące zasoby.
Przykłady kodu
Wyświetl przykłady kodu z tego artykułu (GitHub):
- Pobieranie do pliku dla języka JavaScript lub TypeScript
- Pobieranie w celu przesyłania strumieniowego dla języka JavaScript lub TypeScript
- Pobieranie do ciągu dla języka JavaScript lub TypeScript
Operacje interfejsu API REST
Zestaw Azure SDK dla języka JavaScript zawiera biblioteki, które bazują na interfejsie API REST platformy Azure, co umożliwia interakcję z operacjami interfejsu API REST za pomocą znanych paradygmatów języka JavaScript. Metody biblioteki klienta do pobierania obiektów blob używają następującej operacji interfejsu API REST:
- Uzyskiwanie obiektu blob (interfejs API REST)
Zasoby biblioteki klienta
Powiązana zawartość
- Ten artykuł jest częścią przewodnika dla deweloperów usługi Blob Storage dla języka JavaScript/TypeScript. Aby dowiedzieć się więcej, zobacz pełną listę artykułów z przewodnika dla deweloperów na stronie Tworzenie aplikacji JavaScript/TypeScript.