Udostępnij przez


DataLakeFileClient class

Obiekt DataLakeFileClient reprezentuje adres URL pliku usługi Azure Storage.

Rozszerzenie

Konstruktory

DataLakeFileClient(string, Pipeline)

Tworzy wystąpienie elementu DataLakeFileClient z adresu URL i potoku.

DataLakeFileClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

Tworzy wystąpienie elementu DataLakeFileClient na podstawie adresu URL i poświadczeń.

Właściwości

fileSystemName

Nazwa bieżącego systemu plików.

name

Nazwa bieżącej ścieżki (katalogu lub pliku).

Właściwości dziedziczone

accountName
credential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu @azure/identity do uwierzytelniania żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

url

Wartość zakodowanego ciągu adresu URL.

Metody

append(RequestBodyType, number, number, FileAppendOptions)

Przekazuje dane do dołączania do pliku. Dane można dołączać tylko do pliku. Aby zastosować perviously przekazane dane do pliku, wywołaj funkcję flush.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

create(FileCreateOptions)

Utwórz plik.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

create(PathResourceType, PathCreateOptions)

Utwórz plik.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

createIfNotExists(FileCreateIfNotExistsOptions)

Utwórz plik, jeśli jeszcze nie istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

createIfNotExists(PathResourceType, PathCreateIfNotExistsOptions)

Utwórz plik, jeśli jeszcze nie istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

flush(number, FileFlushOptions)

Opróżnia (zapisy) wcześniej dołączane dane do pliku.

generateSasStringToSign(FileGenerateSasUrlOptions)

Dostępne tylko dla klientów skonstruowanych przy użyciu poświadczeń klucza współużytkowanego.

Generuje ciąg do logowania dla identyfikatora URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez poświadczenia klucza wspólnego klienta.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

generateSasUrl(FileGenerateSasUrlOptions)

Dostępne tylko dla klientów skonstruowanych przy użyciu poświadczeń klucza współużytkowanego.

Generuje identyfikator URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez poświadczenia klucza wspólnego klienta.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

generateUserDelegationSasStringToSign(FileGenerateSasUrlOptions, UserDelegationKey)

Generuje ciąg do logowania dla identyfikatora URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez wejściowy klucz delegowania użytkownika.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

generateUserDelegationSasUrl(FileGenerateSasUrlOptions, UserDelegationKey)

Generuje identyfikator URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez wejściowy klucz delegowania użytkownika.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

query(string, FileQueryOptions)

Szybkie zapytanie dotyczące pliku w formacie JSON lub CSV.

Przykładowe użycie (Node.js):

import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account>";
const sas = "<sas token>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Query and convert a file to a string
const queryResponse = await fileClient.query("select * from BlobStorage");
if (queryResponse.readableStreamBody) {
  const responseBuffer = await streamToBuffer(queryResponse.readableStreamBody);
  const downloaded = responseBuffer.toString();
  console.log(`Query file content: ${downloaded}`);
}

async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise<Buffer> {
  return new Promise((resolve, reject) => {
    const chunks: Buffer[] = [];
    readableStream.on("data", (data) => {
      chunks.push(data instanceof Buffer ? data : Buffer.from(data));
    });
    readableStream.on("end", () => {
      resolve(Buffer.concat(chunks));
    });
    readableStream.on("error", reject);
  });
}
read(number, number, FileReadOptions)

Pobiera plik z usługi, w tym jego metadane i właściwości.

  • W Node.jsdane są zwracane w strumieniu czytelnym do odczytuStreamBody
  • W przeglądarkach dane są zwracane w zawartości obietnicyAsBlob

Zobacz https://learn.microsoft.com/rest/api/storageservices/get-blob

  • Przykładowe użycie (Node.js):
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In Node.js, get downloaded data by accessing downloadResponse.readableStreamBody
const downloadResponse = await fileClient.read();
if (downloadResponse.readableStreamBody) {
  const downloaded = await streamToBuffer(downloadResponse.readableStreamBody);
  console.log("Downloaded file content:", downloaded.toString());
}

// [Node.js only] A helper method used to read a Node.js readable stream into a Buffer.
async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise<Buffer> {
  return new Promise((resolve, reject) => {
    const chunks: Buffer[] = [];
    readableStream.on("data", (data) => {
      chunks.push(data instanceof Buffer ? data : Buffer.from(data));
    });
    readableStream.on("end", () => {
      resolve(Buffer.concat(chunks));
    });
    readableStream.on("error", reject);
  });
}

Przykładowe użycie (przeglądarka):

import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account>";
const sas = "<sas token>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In browsers, get downloaded data by accessing downloadResponse.contentAsBlob
const downloadResponse = await fileClient.read();
if (downloadResponse.contentAsBlob) {
  const blob = await downloadResponse.contentAsBlob;
  const downloaded = await blob.text();
  console.log(`Downloaded file content ${downloaded}`);
}
readToBuffer(Buffer, number, number, FileReadToBufferOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Odczytuje plik usługi Data Lake równolegle do buforu. Przesunięcie i liczba są opcjonalne, przekaż 0 dla obu, aby odczytać cały plik.

Ostrzeżenie: mogą obsługiwać tylko pliki do około jednego gigabajta w systemach 32-bitowych lub około dwóch gigabajtów w systemach 64-bitowych z powodu ograniczeń Node.js/V8. W przypadku plików większych niż ten rozmiar należy rozważyć readToFile.

readToBuffer(number, number, FileReadToBufferOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS

Odczytuje plik usługi Data Lake równolegle do buforu. Przesunięcie i liczba są opcjonalne, przekaż 0 dla obu, aby odczytać cały plik

Ostrzeżenie: mogą obsługiwać tylko pliki do około jednego gigabajta w systemach 32-bitowych lub około dwóch gigabajtów w systemach 64-bitowych z powodu ograniczeń Node.js/V8. W przypadku plików większych niż ten rozmiar należy rozważyć readToFile.

readToFile(string, number, number, FileReadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Pobiera plik usługi Data Lake do pliku lokalnego. Kończy się niepowodzeniem, jeśli dana ścieżka pliku już zakończy działanie. Przesunięcie i liczba są opcjonalne, przekaż odpowiednio 0 i niezdefiniowane, aby pobrać cały plik.

setExpiry(PathExpiryOptions, FileSetExpiryOptions)

Ustawia czas wygaśnięcia pliku, gdy ten czas zostanie spełniony, plik zostanie usunięty.

upload(Blob | ArrayBuffer | ArrayBufferView | Buffer, FileParallelUploadOptions)

Przekazuje bufor(Node.js)/Blob/ArrayBuffer/ArrayBufferView do pliku.

uploadFile(string, FileParallelUploadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Przekazuje plik lokalny do pliku usługi Data Lake.

uploadStream(Readable, FileParallelUploadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Przekazuje strumień z możliwością odczytu Node.js do pliku usługi Data Lake. Ta metoda spróbuje utworzyć plik, a następnie rozpocznie przekazywanie fragmentu według fragmentu. Upewnij się, że potencjalny rozmiar strumienia nie przekracza FILE_MAX_SIZE_BYTES, a potencjalna liczba fragmentów nie przekracza BLOCK_BLOB_MAX_BLOCKS.

PORADY DOTYCZĄCE POPRAWY WYDAJNOŚCI:

  • Strumień wejściowy highWaterMark lepiej ustawić tę samą wartość za pomocą parametru options.chunkSize, co pozwoli uniknąć operacji Buffer.concat().

Metody dziedziczone

delete(boolean, PathDeleteOptions)

Usuń bieżącą ścieżkę (katalog lub plik).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/delete

deleteIfExists(boolean, PathDeleteOptions)

Usuń bieżącą ścieżkę (katalog lub plik), jeśli istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/delete

exists(PathExistsOptions)

Zwraca wartość true, jeśli plik usługi Data Lake reprezentowany przez tego klienta istnieje; w przeciwnym razie wartość false.

UWAGA: użyj tej funkcji z ostrożnością, ponieważ istniejący plik może zostać usunięty przez innych klientów lub aplikacje. Na odwrót nowe pliki mogą być dodawane przez innych klientów lub aplikacje po zakończeniu tej funkcji.

getAccessControl(PathGetAccessControlOptions)

Zwraca dane kontroli dostępu dla ścieżki (katalogu pliku).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/getproperties

getDataLakeLeaseClient(string)

Pobierz DataLakeLeaseClient, który zarządza dzierżawami w ścieżce (katalogu lub pliku).

getProperties(PathGetPropertiesOptions)

Zwraca wszystkie metadane zdefiniowane przez użytkownika, standardowe właściwości PROTOKOŁU HTTP i właściwości systemu dla ścieżki (katalogu lub pliku).

OSTRZEŻENIE: Obiekt metadata zwrócony w odpowiedzi będzie miał klucze w małych literach, nawet jeśli pierwotnie zawierał wielkie litery. Różni się to od kluczy metadanych zwracanych przez metody DataLakeFileSystemClient, że ścieżki listy przy użyciu opcji includeMetadata, która zachowa oryginalną wielkość liter.

Zobacz https://learn.microsoft.com/rest/api/storageservices/get-blob-properties

move(string, PathMoveOptions)

Przenieś katalog lub plik w tym samym systemie plików.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

move(string, string, PathMoveOptions)

Przenieś katalog lub plik do innego systemu plików.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

removeAccessControlRecursive(RemovePathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Usuwa kontrolę dostępu w ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

setAccessControl(PathAccessControlItem[], PathSetAccessControlOptions)

Ustaw dane kontroli dostępu dla ścieżki (katalogu pliku).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

setAccessControlRecursive(PathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Ustawia kontrolę dostępu na ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

setHttpHeaders(PathHttpHeaders, PathSetHttpHeadersOptions)

Ustawia właściwości systemu na ścieżce (katalog lub plik).

Jeśli żadna wartość nie zostanie podana lub żadna wartość podana dla określonych nagłówków HTTP obiektu blob, te nagłówki HTTP obiektu blob bez wartości zostaną wyczyszczone.

Zobacz https://learn.microsoft.com/rest/api/storageservices/set-blob-properties

setMetadata(Metadata, PathSetMetadataOptions)

Ustawia metadane zdefiniowane przez użytkownika dla określonej ścieżki (katalogu pliku) jako co najmniej jedną parę nazwa-wartość.

Jeśli nie podano żadnej opcji lub żadne metadane zdefiniowane w parametrze, metadane ścieżki zostaną usunięte.

Zobacz https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata

setPermissions(PathPermissions, PathSetPermissionsOptions)

Ustawia uprawnienia do pliku na ścieżce.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

toDirectoryClient()

Przekonwertuj bieżący element DataLakePathClient na element DataLakeDirectoryClient, jeśli bieżąca ścieżka jest katalogiem.

toFileClient()

Przekonwertuj bieżący element DataLakePathClient na element DataLakeFileClient, jeśli bieżąca ścieżka jest plikiem.

updateAccessControlRecursive(PathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Modyfikuje kontrolę dostępu w ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

Szczegóły konstruktora

DataLakeFileClient(string, Pipeline)

Tworzy wystąpienie elementu DataLakeFileClient z adresu URL i potoku.

new DataLakeFileClient(url: string, pipeline: Pipeline)

Parametry

url

string

Ciąg klienta wskazujący plik data lake usługi Azure Storage, taki jak "https://myaccount.dfs.core.windows.net/filesystem/file". Sygnaturę dostępu współdzielonego można dołączyć, jeśli jest używana funkcja AnonymousCredential, na przykład "https://myaccount.dfs.core.windows.net/filesystem/directory/file?sasString".

pipeline
Pipeline

Wywołaj metodę newPipeline(), aby utworzyć domyślny potok lub podaj dostosowany potok.

DataLakeFileClient(string, StorageSharedKeyCredential | AnonymousCredential | TokenCredential, StoragePipelineOptions)

Tworzy wystąpienie elementu DataLakeFileClient na podstawie adresu URL i poświadczeń.

new DataLakeFileClient(url: string, credential?: StorageSharedKeyCredential | AnonymousCredential | TokenCredential, options?: StoragePipelineOptions)

Parametry

url

string

Ciąg klienta wskazujący plik data lake usługi Azure Storage, taki jak "https://myaccount.dfs.core.windows.net/filesystem/file". Sygnaturę dostępu współdzielonego można dołączyć, jeśli jest używana funkcja AnonymousCredential, na przykład "https://myaccount.dfs.core.windows.net/filesystem/directory/file?sasString".

credential

StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu @azure/identity do uwierzytelniania żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

options
StoragePipelineOptions

Optional. Opcje konfigurowania potoku HTTP.

Szczegóły właściwości

fileSystemName

Nazwa bieżącego systemu plików.

string fileSystemName

Wartość właściwości

string

name

Nazwa bieżącej ścieżki (katalogu lub pliku).

string name

Wartość właściwości

string

Szczegóły właściwości dziedziczonej

accountName

accountName: string

Wartość właściwości

string

Dziedziczone zDataLakePathClient.accountName

credential

Takie jak AnonymousCredential, StorageSharedKeyCredential lub dowolne poświadczenia z pakietu @azure/identity do uwierzytelniania żądań do usługi. Można również podać obiekt, który implementuje interfejs TokenCredential. Jeśli nie zostanie określony, zostanie użyty parametr AnonymousCredential.

credential: StorageSharedKeyCredential | AnonymousCredential | TokenCredential

Wartość właściwości

Odziedziczone poDataLakePathClient.credential

url

Wartość zakodowanego ciągu adresu URL.

url: string

Wartość właściwości

string

Dziedziczone zDataLakePathClient.url

Szczegóły metody

append(RequestBodyType, number, number, FileAppendOptions)

Przekazuje dane do dołączania do pliku. Dane można dołączać tylko do pliku. Aby zastosować perviously przekazane dane do pliku, wywołaj funkcję flush.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function append(body: RequestBodyType, offset: number, length: number, options?: FileAppendOptions): Promise<FileAppendResponse>

Parametry

body
HttpRequestBody

Zawartość do przekazania.

offset

number

Dołącz przesunięcie w bajtach.

length

number

Długość zawartości dołączanej w bajtach.

options
FileAppendOptions

Optional. Opcje podczas dołączania danych.

Zwraca

create(FileCreateOptions)

Utwórz plik.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function create(options?: FileCreateOptions): Promise<FileCreateResponse>

Parametry

options
FileCreateOptions

Optional. Opcje podczas tworzenia pliku.

Zwraca

create(PathResourceType, PathCreateOptions)

Utwórz plik.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function create(resourceType: PathResourceType, options?: PathCreateOptions): Promise<PathCreateResponse>

Parametry

resourceType
PathResourceTypeModel

Typ zasobu musi mieć wartość "file" dla elementu DataLakeFileClient.

options
PathCreateOptions

Optional. Opcje podczas tworzenia pliku.

Zwraca

createIfNotExists(FileCreateIfNotExistsOptions)

Utwórz plik, jeśli jeszcze nie istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function createIfNotExists(options?: FileCreateIfNotExistsOptions): Promise<FileCreateIfNotExistsResponse>

Parametry

options
FileCreateIfNotExistsOptions

Optional. Opcje podczas tworzenia pliku.

Zwraca

createIfNotExists(PathResourceType, PathCreateIfNotExistsOptions)

Utwórz plik, jeśli jeszcze nie istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function createIfNotExists(resourceType: PathResourceType, options?: PathCreateIfNotExistsOptions): Promise<PathCreateIfNotExistsResponse>

Parametry

resourceType
PathResourceTypeModel

Typ zasobu musi mieć wartość "file" dla elementu DataLakeFileClient.

Zwraca

flush(number, FileFlushOptions)

Opróżnia (zapisy) wcześniej dołączane dane do pliku.

function flush(position: number, options?: FileFlushOptions): Promise<FileFlushResponse>

Parametry

position

number

Położenie pliku do opróżnienia. Ten parametr umożliwia obiektowi wywołującym równoległe przekazywanie danych i kontrolowanie kolejności dołączania ich do pliku. Jest to wymagane podczas przekazywania danych do dołączania do pliku i opróżniania wcześniej przekazanych danych do pliku. Wartość musi być pozycją, w której dane mają być dołączane. Przekazane dane nie są natychmiast opróżniane ani zapisywane w pliku. Aby opróżnić, wcześniej przekazane dane muszą być ciągłe, parametr pozycji musi być określony i równy długości pliku po zapisaniu wszystkich danych i nie może istnieć treść jednostki żądania dołączona do żądania.

options
FileFlushOptions

Optional. Opcje podczas opróżniania danych.

Zwraca

generateSasStringToSign(FileGenerateSasUrlOptions)

Dostępne tylko dla klientów skonstruowanych przy użyciu poświadczeń klucza współużytkowanego.

Generuje ciąg do logowania dla identyfikatora URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez poświadczenia klucza wspólnego klienta.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

function generateSasStringToSign(options: FileGenerateSasUrlOptions): string

Parametry

options
FileGenerateSasUrlOptions

Parametry opcjonalne.

Zwraca

string

Identyfikator URI sygnatury dostępu współdzielonego składający się z identyfikatora URI do zasobu reprezentowanego przez tego klienta, a następnie wygenerowany token SAS.

generateSasUrl(FileGenerateSasUrlOptions)

Dostępne tylko dla klientów skonstruowanych przy użyciu poświadczeń klucza współużytkowanego.

Generuje identyfikator URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez poświadczenia klucza wspólnego klienta.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

function generateSasUrl(options: FileGenerateSasUrlOptions): Promise<string>

Parametry

options
FileGenerateSasUrlOptions

Parametry opcjonalne.

Zwraca

Promise<string>

Identyfikator URI sygnatury dostępu współdzielonego składający się z identyfikatora URI do zasobu reprezentowanego przez tego klienta, a następnie wygenerowany token SAS.

generateUserDelegationSasStringToSign(FileGenerateSasUrlOptions, UserDelegationKey)

Generuje ciąg do logowania dla identyfikatora URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez wejściowy klucz delegowania użytkownika.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasStringToSign(options: FileGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): string

Parametry

options
FileGenerateSasUrlOptions

Parametry opcjonalne.

userDelegationKey
UserDelegationKey

Wartość zwracana blobServiceClient.getUserDelegationKey()

Zwraca

string

Identyfikator URI sygnatury dostępu współdzielonego składający się z identyfikatora URI do zasobu reprezentowanego przez tego klienta, a następnie wygenerowany token SAS.

generateUserDelegationSasUrl(FileGenerateSasUrlOptions, UserDelegationKey)

Generuje identyfikator URI sygnatury dostępu współdzielonego (SAS) usługi na podstawie właściwości i parametrów klienta przekazanych. Sygnatura dostępu współdzielonego jest podpisana przez wejściowy klucz delegowania użytkownika.

Zobacz https://learn.microsoft.com/rest/api/storageservices/constructing-a-service-sas

function generateUserDelegationSasUrl(options: FileGenerateSasUrlOptions, userDelegationKey: UserDelegationKey): Promise<string>

Parametry

options
FileGenerateSasUrlOptions

Parametry opcjonalne.

userDelegationKey
UserDelegationKey

Wartość zwracana blobServiceClient.getUserDelegationKey()

Zwraca

Promise<string>

Identyfikator URI sygnatury dostępu współdzielonego składający się z identyfikatora URI do zasobu reprezentowanego przez tego klienta, a następnie wygenerowany token SAS.

query(string, FileQueryOptions)

Szybkie zapytanie dotyczące pliku w formacie JSON lub CSV.

Przykładowe użycie (Node.js):

import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account>";
const sas = "<sas token>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Query and convert a file to a string
const queryResponse = await fileClient.query("select * from BlobStorage");
if (queryResponse.readableStreamBody) {
  const responseBuffer = await streamToBuffer(queryResponse.readableStreamBody);
  const downloaded = responseBuffer.toString();
  console.log(`Query file content: ${downloaded}`);
}

async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise<Buffer> {
  return new Promise((resolve, reject) => {
    const chunks: Buffer[] = [];
    readableStream.on("data", (data) => {
      chunks.push(data instanceof Buffer ? data : Buffer.from(data));
    });
    readableStream.on("end", () => {
      resolve(Buffer.concat(chunks));
    });
    readableStream.on("error", reject);
  });
}
function query(query: string, options?: FileQueryOptions): Promise<FileReadResponse>

Parametry

query

string

Zwraca

Promise<FileReadResponse>

read(number, number, FileReadOptions)

Pobiera plik z usługi, w tym jego metadane i właściwości.

  • W Node.jsdane są zwracane w strumieniu czytelnym do odczytuStreamBody
  • W przeglądarkach dane są zwracane w zawartości obietnicyAsBlob

Zobacz https://learn.microsoft.com/rest/api/storageservices/get-blob

  • Przykładowe użycie (Node.js):
import { DataLakeServiceClient } from "@azure/storage-file-datalake";
import { DefaultAzureCredential } from "@azure/identity";

const account = "<account>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net`,
  new DefaultAzureCredential(),
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In Node.js, get downloaded data by accessing downloadResponse.readableStreamBody
const downloadResponse = await fileClient.read();
if (downloadResponse.readableStreamBody) {
  const downloaded = await streamToBuffer(downloadResponse.readableStreamBody);
  console.log("Downloaded file content:", downloaded.toString());
}

// [Node.js only] A helper method used to read a Node.js readable stream into a Buffer.
async function streamToBuffer(readableStream: NodeJS.ReadableStream): Promise<Buffer> {
  return new Promise((resolve, reject) => {
    const chunks: Buffer[] = [];
    readableStream.on("data", (data) => {
      chunks.push(data instanceof Buffer ? data : Buffer.from(data));
    });
    readableStream.on("end", () => {
      resolve(Buffer.concat(chunks));
    });
    readableStream.on("error", reject);
  });
}

Przykładowe użycie (przeglądarka):

import { DataLakeServiceClient } from "@azure/storage-file-datalake";

const account = "<account>";
const sas = "<sas token>";
const datalakeServiceClient = new DataLakeServiceClient(
  `https://${account}.dfs.core.windows.net${sas}`,
);

const fileSystemName = "<file system name>";
const fileName = "<file name>";
const fileSystemClient = datalakeServiceClient.getFileSystemClient(fileSystemName);
const fileClient = fileSystemClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In browsers, get downloaded data by accessing downloadResponse.contentAsBlob
const downloadResponse = await fileClient.read();
if (downloadResponse.contentAsBlob) {
  const blob = await downloadResponse.contentAsBlob;
  const downloaded = await blob.text();
  console.log(`Downloaded file content ${downloaded}`);
}
function read(offset?: number, count?: number, options?: FileReadOptions): Promise<FileReadResponse>

Parametry

offset

number

Optional. Przesunięcie do odczytu pliku, wartość domyślna to 0.

count

number

Optional. Ile bajtów do odczytu, wartość domyślna będzie odczytywana z przesunięcia na koniec.

options
FileReadOptions

Optional. Opcje podczas odczytywania pliku.

Zwraca

Promise<FileReadResponse>

readToBuffer(Buffer, number, number, FileReadToBufferOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Odczytuje plik usługi Data Lake równolegle do buforu. Przesunięcie i liczba są opcjonalne, przekaż 0 dla obu, aby odczytać cały plik.

Ostrzeżenie: mogą obsługiwać tylko pliki do około jednego gigabajta w systemach 32-bitowych lub około dwóch gigabajtów w systemach 64-bitowych z powodu ograniczeń Node.js/V8. W przypadku plików większych niż ten rozmiar należy rozważyć readToFile.

function readToBuffer(buffer: Buffer, offset?: number, count?: number, options?: FileReadToBufferOptions): Promise<Buffer>

Parametry

buffer

Buffer

Bufor do wypełnienia, musi mieć długość większą niż liczba

offset

number

Z której pozycji pliku usługi Data Lake do odczytu

count

number

Ile danych należy odczytać. Odczytuje na końcu podczas przekazywania niezdefiniowane

Zwraca

Promise<Buffer>

readToBuffer(number, number, FileReadToBufferOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS

Odczytuje plik usługi Data Lake równolegle do buforu. Przesunięcie i liczba są opcjonalne, przekaż 0 dla obu, aby odczytać cały plik

Ostrzeżenie: mogą obsługiwać tylko pliki do około jednego gigabajta w systemach 32-bitowych lub około dwóch gigabajtów w systemach 64-bitowych z powodu ograniczeń Node.js/V8. W przypadku plików większych niż ten rozmiar należy rozważyć readToFile.

function readToBuffer(offset?: number, count?: number, options?: FileReadToBufferOptions): Promise<Buffer>

Parametry

offset

number

Z której pozycji pliku data lake do odczytu (w bajtach)

count

number

Ile danych (w bajtach) mają być odczytywane. Odczytuje na końcu podczas przekazywania niezdefiniowane

Zwraca

Promise<Buffer>

readToFile(string, number, number, FileReadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Pobiera plik usługi Data Lake do pliku lokalnego. Kończy się niepowodzeniem, jeśli dana ścieżka pliku już zakończy działanie. Przesunięcie i liczba są opcjonalne, przekaż odpowiednio 0 i niezdefiniowane, aby pobrać cały plik.

function readToFile(filePath: string, offset?: number, count?: number, options?: FileReadOptions): Promise<FileReadResponse>

Parametry

filePath

string

offset

number

Z której pozycji pliku do pobrania.

count

number

Ile danych należy pobrać. Po przekazaniu niezdefiniowanego zostanie pobrany koniec.

options
FileReadOptions

Opcje odczytu pliku usługi Data Lake.

Zwraca

Promise<FileReadResponse>

Dane odpowiedzi dla operacji odczytu pliku, ale z funkcją readableStreamBody ustawioną na niezdefiniowaną, ponieważ jego zawartość jest już odczytywana i zapisywana w pliku lokalnym w określonej ścieżce.

setExpiry(PathExpiryOptions, FileSetExpiryOptions)

Ustawia czas wygaśnięcia pliku, gdy ten czas zostanie spełniony, plik zostanie usunięty.

function setExpiry(mode: PathExpiryOptions, options?: FileSetExpiryOptions): Promise<FileSetExpiryResponse>

Parametry

Zwraca

upload(Blob | ArrayBuffer | ArrayBufferView | Buffer, FileParallelUploadOptions)

Przekazuje bufor(Node.js)/Blob/ArrayBuffer/ArrayBufferView do pliku.

function upload(data: Blob | ArrayBuffer | ArrayBufferView | Buffer, options?: FileParallelUploadOptions): Promise<FileUploadResponse>

Parametry

data

Blob | ArrayBuffer | ArrayBufferView | Buffer

Buffer(Node), Blob, ArrayBuffer lub ArrayBufferView

Zwraca

uploadFile(string, FileParallelUploadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Przekazuje plik lokalny do pliku usługi Data Lake.

function uploadFile(filePath: string, options?: FileParallelUploadOptions): Promise<FileUploadResponse>

Parametry

filePath

string

Pełna ścieżka pliku lokalnego

Zwraca

uploadStream(Readable, FileParallelUploadOptions)

DOSTĘPNE TYLKO W ŚRODOWISKU URUCHOMIENIOWYM NODE.JS.

Przekazuje strumień z możliwością odczytu Node.js do pliku usługi Data Lake. Ta metoda spróbuje utworzyć plik, a następnie rozpocznie przekazywanie fragmentu według fragmentu. Upewnij się, że potencjalny rozmiar strumienia nie przekracza FILE_MAX_SIZE_BYTES, a potencjalna liczba fragmentów nie przekracza BLOCK_BLOB_MAX_BLOCKS.

PORADY DOTYCZĄCE POPRAWY WYDAJNOŚCI:

  • Strumień wejściowy highWaterMark lepiej ustawić tę samą wartość za pomocą parametru options.chunkSize, co pozwoli uniknąć operacji Buffer.concat().
function uploadStream(stream: Readable, options?: FileParallelUploadOptions): Promise<FileUploadResponse>

Parametry

stream

Readable

Node.js strumienia z możliwością odczytu.

Zwraca

Szczegóły metody dziedziczonej

delete(boolean, PathDeleteOptions)

Usuń bieżącą ścieżkę (katalog lub plik).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/delete

function delete(recursive?: boolean, options?: PathDeleteOptions): Promise<PathDeleteResponse>

Parametry

recursive

boolean

Wymagane i prawidłowe tylko wtedy, gdy zasób jest katalogiem. Jeśli wartość "true", wszystkie ścieżki poniżej katalogu zostaną usunięte.

options
PathDeleteOptions

Optional. Opcje podczas usuwania ścieżki.

Zwraca

Odziedziczone poDataLakePathClient.delete

deleteIfExists(boolean, PathDeleteOptions)

Usuń bieżącą ścieżkę (katalog lub plik), jeśli istnieje.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/delete

function deleteIfExists(recursive?: boolean, options?: PathDeleteOptions): Promise<PathDeleteIfExistsResponse>

Parametry

recursive

boolean

Wymagane i prawidłowe tylko wtedy, gdy zasób jest katalogiem. Jeśli wartość "true", wszystkie ścieżki poniżej katalogu zostaną usunięte.

Zwraca

Odziedziczone zDataLakePathClient.deleteIfExists

exists(PathExistsOptions)

Zwraca wartość true, jeśli plik usługi Data Lake reprezentowany przez tego klienta istnieje; w przeciwnym razie wartość false.

UWAGA: użyj tej funkcji z ostrożnością, ponieważ istniejący plik może zostać usunięty przez innych klientów lub aplikacje. Na odwrót nowe pliki mogą być dodawane przez innych klientów lub aplikacje po zakończeniu tej funkcji.

function exists(options?: PathExistsOptions): Promise<boolean>

Parametry

options
PathExistsOptions

opcje operacji Istnieje.

Zwraca

Promise<boolean>

Dziedziczone zDataLakePathClient.exists

getAccessControl(PathGetAccessControlOptions)

Zwraca dane kontroli dostępu dla ścieżki (katalogu pliku).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/getproperties

function getAccessControl(options?: PathGetAccessControlOptions): Promise<PathGetAccessControlResponse>

Parametry

options
PathGetAccessControlOptions

Optional. Opcje podczas uzyskiwania kontroli dostępu do plików.

Zwraca

Odziedziczone poDataLakePathClient.getAccessControl

getDataLakeLeaseClient(string)

Pobierz DataLakeLeaseClient, który zarządza dzierżawami w ścieżce (katalogu lub pliku).

function getDataLakeLeaseClient(proposeLeaseId?: string): DataLakeLeaseClient

Parametry

proposeLeaseId

string

Optional. Początkowy proponowany identyfikator dzierżawy.

Zwraca

Odziedziczone poDataLakePathClient.getDataLakeLeaseClient

getProperties(PathGetPropertiesOptions)

Zwraca wszystkie metadane zdefiniowane przez użytkownika, standardowe właściwości PROTOKOŁU HTTP i właściwości systemu dla ścieżki (katalogu lub pliku).

OSTRZEŻENIE: Obiekt metadata zwrócony w odpowiedzi będzie miał klucze w małych literach, nawet jeśli pierwotnie zawierał wielkie litery. Różni się to od kluczy metadanych zwracanych przez metody DataLakeFileSystemClient, że ścieżki listy przy użyciu opcji includeMetadata, która zachowa oryginalną wielkość liter.

Zobacz https://learn.microsoft.com/rest/api/storageservices/get-blob-properties

function getProperties(options?: PathGetPropertiesOptions): Promise<PathGetPropertiesResponse>

Parametry

options
PathGetPropertiesOptions

Optional. Opcje podczas pobierania właściwości ścieżki.

Zwraca

Odziedziczone zDataLakePathClient.getProperties

move(string, PathMoveOptions)

Przenieś katalog lub plik w tym samym systemie plików.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function move(destinationPath: string, options?: PathMoveOptions): Promise<PathMoveResponse>

Parametry

destinationPath

string

Docelowa ścieżka katalogu, na przykład "katalog" lub ścieżka pliku "katalog/plik". Jeśli parametr destinationPath jest uwierzytelniany przy użyciu sygnatury dostępu współdzielonego, dodaj sygnaturę dostępu współdzielonego do ścieżki docelowej, takiej jak "directory/file?sasToken".

options
PathMoveOptions

Optional. Opcje podczas przenoszenia katalogu lub pliku.

Zwraca

Promise<PathMoveResponse>

Odziedziczone poDataLakePathClient.move

move(string, string, PathMoveOptions)

Przenieś katalog lub plik do innego systemu plików.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/create

function move(destinationFileSystem: string, destinationPath: string, options?: PathMoveOptions): Promise<PathMoveResponse>

Parametry

destinationFileSystem

string

Docelowy system plików, taki jak "filesystem".

destinationPath

string

Ścieżka katalogu docelowego, na przykład "katalog" lub ścieżka pliku "katalog/plik", jeśli ścieżka destinationPath jest uwierzytelniona przy użyciu sygnatury dostępu współdzielonego, dodaj sygnaturę dostępu współdzielonego do ścieżki docelowej, takiej jak "katalog/plik?sasToken".

options
PathMoveOptions

Optional. Opcje podczas przenoszenia katalogu lub pliku.

Zwraca

Promise<PathMoveResponse>

Odziedziczone poDataLakePathClient.move

removeAccessControlRecursive(RemovePathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Usuwa kontrolę dostępu w ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function removeAccessControlRecursive(acl: RemovePathAccessControlItem[], options?: PathChangeAccessControlRecursiveOptions): Promise<PathChangeAccessControlRecursiveResponse>

Parametry

acl

RemovePathAccessControlItem[]

Lista kontroli dostępu POSIX dla pliku lub katalogu.

options
PathChangeAccessControlRecursiveOptions

Optional. Opcje

Zwraca

Odziedziczone zDataLakePathClient.removeAccessControlRecursive

setAccessControl(PathAccessControlItem[], PathSetAccessControlOptions)

Ustaw dane kontroli dostępu dla ścieżki (katalogu pliku).

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function setAccessControl(acl: PathAccessControlItem[], options?: PathSetAccessControlOptions): Promise<PathSetAccessControlResponse>

Parametry

acl

PathAccessControlItem[]

Lista kontroli dostępu POSIX dla pliku lub katalogu.

options
PathSetAccessControlOptions

Optional. Opcje podczas ustawiania kontroli dostępu ścieżki.

Zwraca

Odziedziczone poDataLakePathClient.setAccessControl

setAccessControlRecursive(PathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Ustawia kontrolę dostępu na ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function setAccessControlRecursive(acl: PathAccessControlItem[], options?: PathChangeAccessControlRecursiveOptions): Promise<PathChangeAccessControlRecursiveResponse>

Parametry

acl

PathAccessControlItem[]

Lista kontroli dostępu POSIX dla pliku lub katalogu.

options
PathChangeAccessControlRecursiveOptions

Optional. Opcje

Zwraca

Odziedziczone poDataLakePathClient.setAccessControlRecursive

setHttpHeaders(PathHttpHeaders, PathSetHttpHeadersOptions)

Ustawia właściwości systemu na ścieżce (katalog lub plik).

Jeśli żadna wartość nie zostanie podana lub żadna wartość podana dla określonych nagłówków HTTP obiektu blob, te nagłówki HTTP obiektu blob bez wartości zostaną wyczyszczone.

Zobacz https://learn.microsoft.com/rest/api/storageservices/set-blob-properties

function setHttpHeaders(httpHeaders: PathHttpHeaders, options?: PathSetHttpHeadersOptions): Promise<PathSetHttpHeadersResponse>

Parametry

httpHeaders
PathHttpHeaders

Zwraca

Dziedziczone zDataLakePathClient.setHttpHeaders

setMetadata(Metadata, PathSetMetadataOptions)

Ustawia metadane zdefiniowane przez użytkownika dla określonej ścieżki (katalogu pliku) jako co najmniej jedną parę nazwa-wartość.

Jeśli nie podano żadnej opcji lub żadne metadane zdefiniowane w parametrze, metadane ścieżki zostaną usunięte.

Zobacz https://learn.microsoft.com/rest/api/storageservices/set-blob-metadata

function setMetadata(metadata?: Metadata, options?: PathSetMetadataOptions): Promise<PathSetMetadataResponse>

Parametry

metadata
Metadata

Optional. Zastąp istniejące metadane tą wartością. Jeśli żadna wartość nie zostanie podana, istniejące metadane zostaną usunięte.

options
PathSetMetadataOptions

Optional. Opcje podczas ustawiania metadanych ścieżki.

Zwraca

Odziedziczone zDataLakePathClient.setMetadata

setPermissions(PathPermissions, PathSetPermissionsOptions)

Ustawia uprawnienia do pliku na ścieżce.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function setPermissions(permissions: PathPermissions, options?: PathSetPermissionsOptions): Promise<PathSetPermissionsResponse>

Parametry

permissions
PathPermissions

Uprawnienia dostępu do pliku POSIX dla właściciela pliku, grupy właściciela pliku i innych.

options
PathSetPermissionsOptions

Optional. Opcje podczas ustawiania uprawnień ścieżki.

Zwraca

Odziedziczone poDataLakePathClient.setPermissions

toDirectoryClient()

Przekonwertuj bieżący element DataLakePathClient na element DataLakeDirectoryClient, jeśli bieżąca ścieżka jest katalogiem.

function toDirectoryClient(): DataLakeDirectoryClient

Zwraca

Odziedziczone poDataLakePathClient.toDirectoryClient

toFileClient()

Przekonwertuj bieżący element DataLakePathClient na element DataLakeFileClient, jeśli bieżąca ścieżka jest plikiem.

function toFileClient(): DataLakeFileClient

Zwraca

Odziedziczone poDataLakePathClient.toFileClient

updateAccessControlRecursive(PathAccessControlItem[], PathChangeAccessControlRecursiveOptions)

Modyfikuje kontrolę dostępu w ścieżce i ścieżkach podrzędnych.

Zobacz https://learn.microsoft.com/rest/api/storageservices/datalakestoragegen2/path/update

function updateAccessControlRecursive(acl: PathAccessControlItem[], options?: PathChangeAccessControlRecursiveOptions): Promise<PathChangeAccessControlRecursiveResponse>

Parametry

acl

PathAccessControlItem[]

Lista kontroli dostępu POSIX dla pliku lub katalogu.

options
PathChangeAccessControlRecursiveOptions

Optional. Opcje

Zwraca

Odziedziczone poDataLakePathClient.updateAccessControlRecursive