Condividi tramite


ShareFileClient class

ShareFileClient rappresenta un URL di un file di Archiviazione di Azure.

Extends

StorageClient

Costruttori

ShareFileClient(string, Credential | TokenCredential, ShareClientOptions)

Crea un'istanza di ShareFileClient.

ShareFileClient(string, Pipeline, ShareClientConfig)

Crea un'istanza di ShareFileClient.

Proprietà

name

Nome del file

path

Percorso completo del file

shareName

Nome della condivisione corrispondente a questo client di file

Proprietà ereditate

accountName
url

Valore stringa URL.

Metodi

abortCopyFromURL(string, FileAbortCopyFromURLOptions)

Interrompe un'operazione Copia file in sospeso e lascia un file di destinazione con lunghezza zero e metadati completi.

Vedere https://learn.microsoft.com/rest/api/storageservices/abort-copy-file

clearRange(number, number, FileClearRangeOptions)

Cancella l'intervallo specificato e rilascia lo spazio utilizzato nello spazio di archiviazione per tale intervallo.

create(number, FileCreateOptions)

Crea un nuovo file o sostituisce un file. Si noti che inizializza solo il file senza contenuto.

Vedere https://learn.microsoft.com/rest/api/storageservices/create-file

createHardLink(string, FileCreateHardLinkOptions)

Solo NFS. Crea un collegamento rigido al file specificato dal percorso.

createSymbolicLink(string, FileCreateSymbolicLinkOptions)

Solo NFS. Crea un collegamento simbolico.

delete(FileDeleteOptions)

Rimuove il file dall'account di archiviazione. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

Vedere https://learn.microsoft.com/rest/api/storageservices/delete-file2

deleteIfExists(FileDeleteOptions)

Rimuove il file dall'account di archiviazione, se esistente. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

Vedere https://learn.microsoft.com/rest/api/storageservices/delete-file2

download(number, number, FileDownloadOptions)

Legge o scarica un file dal sistema, inclusi i metadati e le proprietà.

  • In Node.jsi dati vengono restituiti in un flusso leggibile readableStreamBody
  • Nei browser i dati vengono restituiti in una promessa contentAsBlob

Vedere https://learn.microsoft.com/rest/api/storageservices/get-file

downloadToBuffer(Buffer, number, number, FileDownloadToBufferOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Scarica un file di Azure in parallelo in un buffer. Offset e conteggio sono facoltativi, passare 0 per entrambi per scaricare l'intero file.

Avviso: i buffer possono supportare solo file fino a circa un gigabyte su sistemi a 32 bit o circa due gigabyte su sistemi a 64 bit a causa di limitazioni di Node.js/V8. Per i file di dimensioni superiori a queste dimensioni, prendere in considerazione downloadToFile.

downloadToBuffer(number, number, FileDownloadToBufferOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME

Scarica un file di Azure in parallelo in un buffer. Offset e conteggio sono facoltativi, passare 0 per entrambi per scaricare l'intero file

Avviso: i buffer possono supportare solo file fino a circa un gigabyte su sistemi a 32 bit o circa due gigabyte su sistemi a 64 bit a causa di limitazioni di Node.js/V8. Per i file di dimensioni superiori a queste dimensioni, prendere in considerazione downloadToFile.

downloadToFile(string, number, number, FileDownloadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Scarica un BLOB di Azure in un file locale. Ha esito negativo se il percorso del file specificato viene già chiuso. Offset e conteggio sono facoltativi, passano rispettivamente 0 e non definiti per scaricare l'intero BLOB.

exists(FileExistsOptions)

Restituisce true se il file specificato esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché un file esistente potrebbe essere eliminato da altri client o applicazioni. Viceversa, è possibile aggiungere nuovi file da altri client o applicazioni al termine di questa funzione.

forceCloseAllHandles(FileForceCloseHandlesOptions)

Forzare la chiusura di tutti gli handle per un file.

Vedere https://learn.microsoft.com/rest/api/storageservices/force-close-handles

forceCloseHandle(string, FileForceCloseHandlesOptions)

Forzare la chiusura di un handle specifico per un file.

Vedere https://learn.microsoft.com/rest/api/storageservices/force-close-handles

generateSasStringToSign(FileGenerateSasUrlOptions)

Disponibile solo per i client costruiti con credenziali di chiave condivisa.

Genera una stringa per firmare un URI di firma di accesso condiviso del servizio in base alle proprietà e ai parametri client passati. La firma di accesso condiviso è firmata dalle credenziali della chiave condivisa del client.

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

generateSasUrl(FileGenerateSasUrlOptions)

Disponibile solo per i client costruiti con credenziali di chiave condivisa.

Genera un URI di firma di accesso condiviso del servizio in base alle proprietà e ai parametri client passati. La firma di accesso condiviso è firmata dalle credenziali della chiave condivisa del client.

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

getProperties(FileGetPropertiesOptions)

Restituisce tutti i metadati definiti dall'utente, le proprietà HTTP standard e le proprietà di sistema per il file. Non restituisce il contenuto del file.

Vedere https://learn.microsoft.com/rest/api/storageservices/get-file-properties

getRangeList(FileGetRangeListOptions)

Restituisce l'elenco di intervalli validi per un file.

getRangeListDiff(string, FileGetRangeListOptions)

Restituisce l'elenco di intervalli che differiscono tra uno snapshot di condivisione precedente e questo file.

getShareLeaseClient(string)

Ottenere un ShareLeaseClient che gestisce i lease nel file.

getSymbolicLink(FileGetSymbolicLinkOptions)

Solo NFS. Ottiene il contenuto di un collegamento simbolico.

listHandles(FileListHandlesOptions)

Restituisce un iteratore iteratore asincrono per elencare tutti gli handle. nell'account specificato.

.byPage() restituisce un iteratore iteratore asincrono per elencare gli handle nelle pagine.

rename(string, FileRenameOptions)

Rinomina un file. Questa API supporta solo la ridenominazione di un file nella stessa condivisione.

resize(number, FileResizeOptions)

Ridimensiona il file.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

setHttpHeaders(FileHttpHeaders, FileSetHttpHeadersOptions)

Imposta le intestazioni HTTP nel file.

Se non viene specificata alcuna opzione o nessun valore specificato per le intestazioni HTTP del file nelle opzioni, queste intestazioni HTTP di file senza un valore verranno cancellate.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

setMetadata(Metadata, FileSetMetadataOptions)

Aggiorna i metadati definiti dall'utente per il file specificato.

Se nel parametro di opzione non sono definiti metadati, i metadati del file verranno rimossi.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-metadata

setProperties(FileProperties)

Imposta le proprietà nel file.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

startCopyFromURL(string, FileStartCopyOptions)

Copia un BLOB o un file in un file di destinazione all'interno dell'account di archiviazione.

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

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un oggetto Buffer(Node)/Blob/ArrayBuffer/ArrayBufferView.

uploadFile(string, FileParallelUploadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un file locale.

uploadRange(RequestBodyType, number, number, FileUploadRangeOptions)

Caricare un intervallo di byte in un file. Questa operazione può essere chiamata solo in un file esistente. Non modificherà le dimensioni, le proprietà o i metadati del file. È necessario specificare sia l'inizio che il conteggio dell'intervallo. L'intervallo può avere dimensioni fino a 4 MB.

uploadRangeFromURL(string, number, number, number, FileUploadRangeFromURLOptions)

Caricare un intervallo di byte in un file in cui il contenuto viene letto dall'URL di un altro file. L'intervallo può avere dimensioni fino a 4 MB.

uploadResetableStream((offset: number, count?: number) => ReadableStream, number, FileParallelUploadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Accetta una factory di flusso leggibile Node.js e carica in blocchi in un file di Azure. La factory del flusso leggibile deve restituire un flusso leggibile Node.js a partire dall'offset definito. L'offset è l'offset nel file di Azure da caricare.

uploadSeekableBlob((offset: number, size: number) => Blob, number, FileParallelUploadOptions)

DISPONIBILE SOLO NEI BROWSER.

Carica un oggetto BLOB del browser in un file di Azure. Richiede un blobFactory come origine dati, che deve restituire un oggetto BLOB con l'offset e le dimensioni specificate.

uploadStream(Readable, number, number, number, FileUploadStreamOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un flusso leggibile Node.js. Questo metodo tenterà di creare un file di Azure, quindi avvia il caricamento di blocchi per blocco. Le dimensioni del blocco sono definite dal parametro bufferSize. Assicurarsi che le dimensioni potenziali del flusso non superino le dimensioni del file.

SUGGERIMENTI PER IL MIGLIORAMENTO DELLE PRESTAZIONI:

  • L'highWaterMark del flusso di input è preferibile impostare lo stesso valore con il parametro bufferSize, che eviterà le operazioni Buffer.concat().
withShareSnapshot(string)

Crea un nuovo oggetto ShareFileClient identico all'origine, ma con il timestamp dello snapshot di condivisione specificato. Specificare "" rimuoverà lo snapshot e restituirà un URL a ShareFileClient di base.

Dettagli costruttore

ShareFileClient(string, Credential | TokenCredential, ShareClientOptions)

Crea un'istanza di ShareFileClient.

new ShareFileClient(url: string, credential?: Credential | TokenCredential, options?: ShareClientOptions)

Parametri

url

string

Stringa URL che punta al file di Archiviazione di Azure, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory/file". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory/file?sasString". Questo metodo accetta un URL codificato o un URL non codificato che punta a un file. La stringa URL codificata non verrà preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Tuttavia, se un nome di file o directory include %, il nome di file o directory deve essere codificato nell'URL. Ad esempio, un file denominato "myfile%", l'URL deve essere "https://myaccount.file.core.windows.net/myshare/mydirectory/myfile%25".

credential

Credential | TokenCredential

Ad esempio , StorageSharedKeyCredential o TokenCredential, se non specificato, viene usato AnonymousCredential.

options
ShareClientOptions

Optional. Opzioni per configurare la pipeline HTTP.

ShareFileClient(string, Pipeline, ShareClientConfig)

Crea un'istanza di ShareFileClient.

new ShareFileClient(url: string, pipeline: Pipeline, options?: ShareClientConfig)

Parametri

url

string

Stringa URL che punta al file di Archiviazione di Azure, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory/file". È possibile aggiungere una firma di accesso condiviso se si usa AnonymousCredential, ad esempio "https://myaccount.file.core.windows.net/myshare/mydirectory/file?sasString". Questo metodo accetta un URL codificato o un URL non codificato che punta a un file. La stringa URL codificata non verrà preceduta da un carattere di escape due volte. Solo i caratteri speciali nel percorso URL verranno preceduti da un carattere di escape. Tuttavia, se un nome di file o directory include %, il nome di file o directory deve essere codificato nell'URL. Ad esempio, un file denominato "myfile%", l'URL deve essere "https://myaccount.file.core.windows.net/myshare/mydirectory/myfile%25".

pipeline
Pipeline

Chiamare newPipeline() per creare una pipeline predefinita o fornire una pipeline personalizzata.

Dettagli proprietà

name

Nome del file

string name

Valore della proprietà

string

path

Percorso completo del file

string path

Valore della proprietà

string

shareName

Nome della condivisione corrispondente a questo client di file

string shareName

Valore della proprietà

string

Dettagli proprietà ereditate

accountName

accountName: string

Valore della proprietà

string

Ereditato da StorageClient.accountName

url

Valore stringa URL.

url: string

Valore della proprietà

string

Ereditato da StorageClient.url

Dettagli metodo

abortCopyFromURL(string, FileAbortCopyFromURLOptions)

Interrompe un'operazione Copia file in sospeso e lascia un file di destinazione con lunghezza zero e metadati completi.

Vedere https://learn.microsoft.com/rest/api/storageservices/abort-copy-file

function abortCopyFromURL(copyId: string, options?: FileAbortCopyFromURLOptions): Promise<FileAbortCopyResponse>

Parametri

copyId

string

ID dell'operazione Copia file da interrompere.

options
FileAbortCopyFromURLOptions

Opzioni per l'interruzione dell'operazione Copia dall'URL del file.

Restituisce

clearRange(number, number, FileClearRangeOptions)

Cancella l'intervallo specificato e rilascia lo spazio utilizzato nello spazio di archiviazione per tale intervallo.

function clearRange(offset: number, contentLength: number, options?: FileClearRangeOptions): Promise<FileUploadRangeResponse>

Parametri

offset

number

contentLength

number

options
FileClearRangeOptions

Opzioni per l'operazione File Clear Range.

Restituisce

create(number, FileCreateOptions)

Crea un nuovo file o sostituisce un file. Si noti che inizializza solo il file senza contenuto.

Vedere https://learn.microsoft.com/rest/api/storageservices/create-file

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

Parametri

size

number

Specifica le dimensioni massime in byte per il file, fino a 4 TB.

options
FileCreateOptions

Opzioni per l'operazione Di creazione file.

Restituisce

Dati di risposta per l'operazione Di creazione file.

Sintassi di esempio:

import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";

const account = "<account>";
const accountKey = "<accountkey>";

const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
  `https://${account}.file.core.windows.net`,
  credential,
);

const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);

const content = "Hello World!";
const fileName = `newdirectory${+new Date()}`;
const fileClient = directoryClient.getFileClient(fileName);
await fileClient.create(content.length);
console.log(`Create file ${fileName} successfully`);

// Upload file range
await fileClient.uploadRange(content, 0, content.length);
console.log(`Upload file range "${content}" to ${fileName} successfully`);

Solo NFS. Crea un collegamento rigido al file specificato dal percorso.

function createHardLink(targetFile: string, options?: FileCreateHardLinkOptions): Promise<FileCreateHardLinkResponse>

Parametri

targetFile

string

Percorso del file in cui creare il collegamento rigido, non inclusa la condivisione. Ad esempio: "targetDirectory/targetSubDirectory/.../targetFile"

options
FileCreateHardLinkOptions

Opzioni per creare un'operazione di collegamento rigido.

Restituisce

Solo NFS. Crea un collegamento simbolico.

function createSymbolicLink(linkText: string, options?: FileCreateSymbolicLinkOptions): Promise<FileCreateSymbolicLinkResponse>

Parametri

linkText

string

Il percorso del file originale, a cui punta il collegamento simbolico. Il percorso è di tipo string che non viene risolto e viene memorizzato così com'è. Il percorso può essere assoluto o relativo, a seconda del contenuto memorizzato nel file di collegamento simbolico.

options
FileCreateSymbolicLinkOptions

Opzioni per creare un'operazione di collegamento rigido.

Restituisce

delete(FileDeleteOptions)

Rimuove il file dall'account di archiviazione. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

Vedere https://learn.microsoft.com/rest/api/storageservices/delete-file2

function delete(options?: FileDeleteOptions): Promise<FileDeleteResponse>

Parametri

options
FileDeleteOptions

Opzioni per l'operazione Di eliminazione file.

Restituisce

Dati di risposta per l'operazione Di eliminazione file.

deleteIfExists(FileDeleteOptions)

Rimuove il file dall'account di archiviazione, se esistente. Quando un file viene eliminato correttamente, viene immediatamente rimosso dall'indice dell'account di archiviazione e non è più accessibile ai client. I dati del file vengono successivamente rimossi dal servizio durante la Garbage Collection.

L'eliminazione del file avrà esito negativo con codice di stato 409 (conflitto) e codice di errore SharingViolation se il file è aperto in un client SMB.

L'eliminazione del file non è supportata in uno snapshot di condivisione, ovvero una copia di sola lettura di una condivisione. Un tentativo di eseguire questa operazione in uno snapshot di condivisione avrà esito negativo con 400 (InvalidQueryParameterValue)

Vedere https://learn.microsoft.com/rest/api/storageservices/delete-file2

function deleteIfExists(options?: FileDeleteOptions): Promise<FileDeleteIfExistsResponse>

Parametri

Restituisce

download(number, number, FileDownloadOptions)

Legge o scarica un file dal sistema, inclusi i metadati e le proprietà.

  • In Node.jsi dati vengono restituiti in un flusso leggibile readableStreamBody
  • Nei browser i dati vengono restituiti in una promessa contentAsBlob

Vedere https://learn.microsoft.com/rest/api/storageservices/get-file

function download(offset?: number, count?: number, options?: FileDownloadOptions): Promise<FileDownloadResponseModel>

Parametri

offset

number

Da quale posizione del file scaricare, maggiore o uguale a 0

count

number

Quantità di dati da scaricare, maggiore di 0. Verrà scaricato alla fine quando non definito

options
FileDownloadOptions

Opzioni per l'operazione Di download file.

Restituisce

Dati di risposta per l'operazione Di download file.

Esempio di utilizzo (Node.js):

import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";

const account = "<account>";
const accountKey = "<accountkey>";

const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
  `https://${account}.file.core.windows.net`,
  credential,
);

const shareName = "<share name>";
const fileName = "<file name>";
const fileClient = serviceClient
  .getShareClient(shareName)
  .rootDirectoryClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In Node.js, get downloaded data by accessing downloadFileResponse.readableStreamBody
const downloadFileResponse = await fileClient.download();
if (downloadFileResponse.readableStreamBody) {
  const buffer = await streamToBuffer(downloadFileResponse.readableStreamBody);
  console.log(`Downloaded file content: ${buffer.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);
  });
}

Esempio di utilizzo (browser):

import { ShareServiceClient } from "@azure/storage-file-share";

const account = "<account name>";
const sas = "<service Shared Access Signature Token>";

const serviceClient = new ShareServiceClient(`https://${account}.file.core.windows.net?${sas}`);

const shareName = "<share name>";
const fileName = "<file name>";
const fileClient = serviceClient
  .getShareClient(shareName)
  .rootDirectoryClient.getFileClient(fileName);

// Get file content from position 0 to the end
// In browsers, get downloaded data by accessing downloadFileResponse.blobBody
const downloadFileResponse = await fileClient.download(0);
if (downloadFileResponse.blobBody) {
  console.log(`Downloaded file content: ${(await downloadFileResponse.blobBody).text()}`);
}

downloadToBuffer(Buffer, number, number, FileDownloadToBufferOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Scarica un file di Azure in parallelo in un buffer. Offset e conteggio sono facoltativi, passare 0 per entrambi per scaricare l'intero file.

Avviso: i buffer possono supportare solo file fino a circa un gigabyte su sistemi a 32 bit o circa due gigabyte su sistemi a 64 bit a causa di limitazioni di Node.js/V8. Per i file di dimensioni superiori a queste dimensioni, prendere in considerazione downloadToFile.

function downloadToBuffer(buffer: Buffer, offset?: number, count?: number, options?: FileDownloadToBufferOptions): Promise<Buffer>

Parametri

buffer

Buffer

Il buffer da riempire deve avere una lunghezza maggiore del conteggio

offset

number

Da quale posizione del file di Azure scaricare

count

number

Quantità di dati da scaricare. Verrà scaricato alla fine quando si passa undefined

Restituisce

Promise<Buffer>

downloadToBuffer(number, number, FileDownloadToBufferOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME

Scarica un file di Azure in parallelo in un buffer. Offset e conteggio sono facoltativi, passare 0 per entrambi per scaricare l'intero file

Avviso: i buffer possono supportare solo file fino a circa un gigabyte su sistemi a 32 bit o circa due gigabyte su sistemi a 64 bit a causa di limitazioni di Node.js/V8. Per i file di dimensioni superiori a queste dimensioni, prendere in considerazione downloadToFile.

function downloadToBuffer(offset?: number, count?: number, options?: FileDownloadToBufferOptions): Promise<Buffer>

Parametri

offset

number

Da quale posizione del file di Azure scaricare

count

number

Quantità di dati da scaricare. Verrà scaricato alla fine quando si passa undefined

Restituisce

Promise<Buffer>

downloadToFile(string, number, number, FileDownloadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Scarica un BLOB di Azure in un file locale. Ha esito negativo se il percorso del file specificato viene già chiuso. Offset e conteggio sono facoltativi, passano rispettivamente 0 e non definiti per scaricare l'intero BLOB.

function downloadToFile(filePath: string, offset?: number, count?: number, options?: FileDownloadOptions): Promise<FileDownloadResponseModel>

Parametri

filePath

string

offset

number

Da quale posizione del BLOB in blocchi scaricare.

count

number

Quantità di dati da scaricare. Verrà scaricato alla fine durante il passaggio non definito.

options
FileDownloadOptions

Opzioni per le opzioni di download blob.

Restituisce

I dati di risposta per l'operazione di download del BLOB, ma con readableStreamBody impostato su non definito poiché il contenuto è già letto e scritto in un file locale nel percorso specificato.

exists(FileExistsOptions)

Restituisce true se il file specificato esiste; false in caso contrario.

NOTA: usare questa funzione con attenzione perché un file esistente potrebbe essere eliminato da altri client o applicazioni. Viceversa, è possibile aggiungere nuovi file da altri client o applicazioni al termine di questa funzione.

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

Parametri

options
FileExistsOptions

opzioni per l'operazione Exists.

Restituisce

Promise<boolean>

forceCloseAllHandles(FileForceCloseHandlesOptions)

Forzare la chiusura di tutti gli handle per un file.

Vedere https://learn.microsoft.com/rest/api/storageservices/force-close-handles

function forceCloseAllHandles(options?: FileForceCloseHandlesOptions): Promise<CloseHandlesInfo>

Parametri

options
FileForceCloseHandlesOptions

Opzioni per forzare l'operazione di chiusura degli handle.

Restituisce

Promise<CloseHandlesInfo>

forceCloseHandle(string, FileForceCloseHandlesOptions)

Forzare la chiusura di un handle specifico per un file.

Vedere https://learn.microsoft.com/rest/api/storageservices/force-close-handles

function forceCloseHandle(handleId: string, options?: FileForceCloseHandlesOptions): Promise<FileForceCloseHandlesResponse>

Parametri

handleId

string

Id handle specifico, non può essere asterisco "*". Usare forceCloseAllHandles() per chiudere tutti gli handle.

Restituisce

generateSasStringToSign(FileGenerateSasUrlOptions)

Disponibile solo per i client costruiti con credenziali di chiave condivisa.

Genera una stringa per firmare un URI di firma di accesso condiviso del servizio in base alle proprietà e ai parametri client passati. La firma di accesso condiviso è firmata dalle credenziali della chiave condivisa del client.

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

function generateSasStringToSign(options: FileGenerateSasUrlOptions): string

Parametri

options
FileGenerateSasUrlOptions

Parametri facoltativi.

Restituisce

string

URI di firma di accesso condiviso costituito dall'URI della risorsa rappresentata da questo client, seguito dal token di firma di accesso condiviso generato.

generateSasUrl(FileGenerateSasUrlOptions)

Disponibile solo per i client costruiti con credenziali di chiave condivisa.

Genera un URI di firma di accesso condiviso del servizio in base alle proprietà e ai parametri client passati. La firma di accesso condiviso è firmata dalle credenziali della chiave condivisa del client.

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

function generateSasUrl(options: FileGenerateSasUrlOptions): string

Parametri

options
FileGenerateSasUrlOptions

Parametri facoltativi.

Restituisce

string

URI di firma di accesso condiviso costituito dall'URI della risorsa rappresentata da questo client, seguito dal token di firma di accesso condiviso generato.

getProperties(FileGetPropertiesOptions)

Restituisce tutti i metadati definiti dall'utente, le proprietà HTTP standard e le proprietà di sistema per il file. Non restituisce il contenuto del file.

Vedere https://learn.microsoft.com/rest/api/storageservices/get-file-properties

function getProperties(options?: FileGetPropertiesOptions): Promise<FileGetPropertiesResponse>

Parametri

options
FileGetPropertiesOptions

Opzioni per l'operazione File Get Properties.

Restituisce

Dati di risposta per l'operazione File Get Properties.

getRangeList(FileGetRangeListOptions)

Restituisce l'elenco di intervalli validi per un file.

function getRangeList(options?: FileGetRangeListOptions): Promise<FileGetRangeListResponse>

Parametri

options
FileGetRangeListOptions

Opzioni per l'operazione File Get range List.Options to File Get range List operation.

Restituisce

getRangeListDiff(string, FileGetRangeListOptions)

Restituisce l'elenco di intervalli che differiscono tra uno snapshot di condivisione precedente e questo file.

function getRangeListDiff(prevShareSnapshot: string, options?: FileGetRangeListOptions): Promise<FileGetRangeListDiffResponse>

Parametri

prevShareSnapshot

string

Il parametro snapshot precedente è un valore DateTime opaco che specifica lo snapshot di condivisione precedente da confrontare.

Restituisce

getShareLeaseClient(string)

Ottenere un ShareLeaseClient che gestisce i lease nel file.

function getShareLeaseClient(proposeLeaseId?: string): ShareLeaseClient

Parametri

proposeLeaseId

string

ID lease proposto iniziale.

Restituisce

Nuovo oggetto ShareLeaseClient per la gestione dei lease nel file.

Solo NFS. Ottiene il contenuto di un collegamento simbolico.

function getSymbolicLink(options?: FileGetSymbolicLinkOptions): Promise<FileGetSymbolicLinkResponse>

Parametri

options
FileGetSymbolicLinkOptions

Opzioni per ottenere l'operazione di collegamento simbolico.

Restituisce

listHandles(FileListHandlesOptions)

Restituisce un iteratore iteratore asincrono per elencare tutti gli handle. nell'account specificato.

.byPage() restituisce un iteratore iteratore asincrono per elencare gli handle nelle pagine.

function listHandles(options?: FileListHandlesOptions): PagedAsyncIterableIterator<HandleItem, FileListHandlesResponse, PageSettings>

Parametri

options
FileListHandlesOptions

Opzioni per elencare le operazioni di handle.

AsyncIterableIterator che supporta il paging.

Restituisce

rename(string, FileRenameOptions)

Rinomina un file. Questa API supporta solo la ridenominazione di un file nella stessa condivisione.

function rename(destinationPath: string, options?: FileRenameOptions): Promise<{ destinationFileClient: ShareFileClient, fileRenameResponse: FileRenameResponse }>

Parametri

destinationPath

string

Specifica il percorso di destinazione in cui rinominare. Il percorso verrà codificato per inserire in un URL per specificare la destinazione.

options
FileRenameOptions

Opzioni per l'operazione di ridenominazione.

Restituisce

Promise<{ destinationFileClient: ShareFileClient, fileRenameResponse: FileRenameResponse }>

Dati di risposta per l'operazione di ridenominazione dei file.

Sintassi di esempio:

import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";

const account = "<account>";
const accountKey = "<accountkey>";

const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
  `https://${account}.file.core.windows.net`,
  credential,
);

const shareName = "<share name>";
const directoryName = "<directory name>";
const fileName = "<file name>";
const destinationPath = "<destination path>";
const fileClient = serviceClient
  .getShareClient(shareName)
  .getDirectoryClient(directoryName)
  .getFileClient(fileName);

await fileClient.rename(destinationPath);

resize(number, FileResizeOptions)

Ridimensiona il file.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

function resize(length: number, options?: FileResizeOptions): Promise<FileSetHTTPHeadersResponse>

Parametri

length

number

Ridimensiona un file alle dimensioni specificate in byte. Se il valore di byte specificato è minore della dimensione corrente del file, tutti gli intervalli sopra il valore di byte specificato vengono cancellati.

options
FileResizeOptions

Opzioni per l'operazione Di ridimensionamento file.

Restituisce

Dati di risposta per l'operazione Intestazioni HTTP del set di file.

setHttpHeaders(FileHttpHeaders, FileSetHttpHeadersOptions)

Imposta le intestazioni HTTP nel file.

Se non viene specificata alcuna opzione o nessun valore specificato per le intestazioni HTTP del file nelle opzioni, queste intestazioni HTTP di file senza un valore verranno cancellate.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

function setHttpHeaders(fileHttpHeaders?: FileHttpHeaders, options?: FileSetHttpHeadersOptions): Promise<FileSetHTTPHeadersResponse>

Parametri

fileHttpHeaders
FileHttpHeaders
options
FileSetHttpHeadersOptions

Opzioni per l'operazione Imposta intestazioni HTTP del file.

Restituisce

Dati di risposta per l'operazione Intestazioni HTTP del set di file.

setMetadata(Metadata, FileSetMetadataOptions)

Aggiorna i metadati definiti dall'utente per il file specificato.

Se nel parametro di opzione non sono definiti metadati, i metadati del file verranno rimossi.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-metadata

function setMetadata(metadata?: Metadata, options?: FileSetMetadataOptions): Promise<FileSetMetadataResponse>

Parametri

metadata
Metadata

Se non vengono forniti metadati, tutti i metadati della directory esistenti verranno rimossi

options
FileSetMetadataOptions

Opzioni per l'operazione Imposta metadati del set di file.

Restituisce

Dati di risposta per l'operazione Metadati del set di file.

setProperties(FileProperties)

Imposta le proprietà nel file.

Vedere https://learn.microsoft.com/rest/api/storageservices/set-file-properties

function setProperties(properties?: FileProperties): Promise<SetPropertiesResponse>

Parametri

properties
FileProperties

Proprietà del file. Per le intestazioni HTTP dei file(ad esempio Content-Type), se non vengono forniti valori, le intestazioni HTTP esistenti verranno rimosse. Per altre proprietà del file, ad esempio fileAttributes, se non vengono specificati valori, i valori esistenti verranno mantenuti.

Restituisce

startCopyFromURL(string, FileStartCopyOptions)

Copia un BLOB o un file in un file di destinazione all'interno dell'account di archiviazione.

function startCopyFromURL(copySource: string, options?: FileStartCopyOptions): Promise<FileStartCopyResponse>

Parametri

copySource

string

Specifica l'URL del file di origine o del BLOB, con lunghezza massima di 2 KB. Per copiare un file in un altro file all'interno dello stesso account di archiviazione, è possibile usare la chiave condivisa per autenticare il file di origine. Se si copia un file da un altro account di archiviazione o se si copia un BLOB dallo stesso account di archiviazione o da un altro account di archiviazione, è necessario autenticare il file di origine o il BLOB usando una firma di accesso condiviso. Se l'origine è un BLOB pubblico, non è necessaria alcuna autenticazione per eseguire l'operazione di copia. Un file in uno snapshot di condivisione può anche essere specificato come origine di copia.

options
FileStartCopyOptions

Opzioni per l'operazione Di avvio copia file.

Restituisce

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

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un oggetto Buffer(Node)/Blob/ArrayBuffer/ArrayBufferView.

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

Parametri

data

Blob | ArrayBuffer | ArrayBufferView | Buffer

Buffer(Node), Blob, ArrayBuffer o ArrayBufferView

Restituisce

Promise<void>

uploadFile(string, FileParallelUploadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un file locale.

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

Parametri

filePath

string

Percorso completo del file locale

Restituisce

Promise<void>

uploadRange(RequestBodyType, number, number, FileUploadRangeOptions)

Caricare un intervallo di byte in un file. Questa operazione può essere chiamata solo in un file esistente. Non modificherà le dimensioni, le proprietà o i metadati del file. È necessario specificare sia l'inizio che il conteggio dell'intervallo. L'intervallo può avere dimensioni fino a 4 MB.

function uploadRange(body: RequestBodyType, offset: number, contentLength: number, options?: FileUploadRangeOptions): Promise<FileUploadRangeResponse>

Parametri

body
HttpRequestBody

BLOB, string, ArrayBuffer, ArrayBufferView o una funzione che restituisce un nuovo flusso leggibile il cui offset proviene dall'origine dati.

offset

number

Posizione di offset del file di Azure di destinazione da caricare.

contentLength

number

Lunghezza del corpo in byte. Usare Buffer.byteLength() per calcolare la lunghezza del corpo per una stringa, inclusi caratteri non con codifica Base64/Hex.

options
FileUploadRangeOptions

Opzioni per l'operazione Intervallo di caricamento file.

Restituisce

Dati di risposta per l'operazione Intervallo di caricamento file.

Sintassi di esempio:

import { StorageSharedKeyCredential, ShareServiceClient } from "@azure/storage-file-share";

const account = "<account>";
const accountKey = "<accountkey>";

const credential = new StorageSharedKeyCredential(account, accountKey);
const serviceClient = new ShareServiceClient(
  `https://${account}.file.core.windows.net`,
  credential,
);

const shareName = "<share name>";
const directoryName = "<directory name>";
const directoryClient = serviceClient.getShareClient(shareName).getDirectoryClient(directoryName);

const content = "Hello World!";
const fileName = `newdirectory${+new Date()}`;
const fileClient = directoryClient.getFileClient(fileName);
await fileClient.create(content.length);
console.log(`Create file ${fileName} successfully`);

// Upload file range
await fileClient.uploadRange(content, 0, content.length);
console.log(`Upload file range "${content}" to ${fileName} successfully`);

uploadRangeFromURL(string, number, number, number, FileUploadRangeFromURLOptions)

Caricare un intervallo di byte in un file in cui il contenuto viene letto dall'URL di un altro file. L'intervallo può avere dimensioni fino a 4 MB.

function uploadRangeFromURL(sourceURL: string, sourceOffset: number, destOffset: number, count: number, options?: FileUploadRangeFromURLOptions): Promise<FileUploadRangeFromURLResponse>

Parametri

sourceURL

string

Specificare un URL per l'origine di copia, la firma di accesso condiviso potrebbe essere necessaria per l'autenticazione.

sourceOffset

number

Offset di origine da cui eseguire la copia. Passare 0 per copiare dall'inizio del file di origine.

destOffset

number

Offset del file di destinazione.

count

number

Numero di byte da caricare dal file di origine.

options
FileUploadRangeFromURLOptions

Opzioni per configurare File - Caricamento intervallo dall'operazione URL.

Restituisce

uploadResetableStream((offset: number, count?: number) => ReadableStream, number, FileParallelUploadOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Accetta una factory di flusso leggibile Node.js e carica in blocchi in un file di Azure. La factory del flusso leggibile deve restituire un flusso leggibile Node.js a partire dall'offset definito. L'offset è l'offset nel file di Azure da caricare.

function uploadResetableStream(streamFactory: (offset: number, count?: number) => ReadableStream, size: number, options?: FileParallelUploadOptions): Promise<void>

Parametri

streamFactory

(offset: number, count?: number) => ReadableStream

Restituisce un flusso leggibile Node.js a partire dall'offset definito

size

number

Dimensioni del file di Azure

Restituisce

Promise<void>

uploadSeekableBlob((offset: number, size: number) => Blob, number, FileParallelUploadOptions)

DISPONIBILE SOLO NEI BROWSER.

Carica un oggetto BLOB del browser in un file di Azure. Richiede un blobFactory come origine dati, che deve restituire un oggetto BLOB con l'offset e le dimensioni specificate.

function uploadSeekableBlob(blobFactory: (offset: number, size: number) => Blob, size: number, options?: FileParallelUploadOptions): Promise<void>

Parametri

blobFactory

(offset: number, size: number) => Blob

size

number

Restituisce

Promise<void>

uploadStream(Readable, number, number, number, FileUploadStreamOptions)

DISPONIBILE SOLO IN NODE.JS RUNTIME.

Crea un nuovo file di Azure o sostituisce un file di Azure esistente e quindi carica un flusso leggibile Node.js. Questo metodo tenterà di creare un file di Azure, quindi avvia il caricamento di blocchi per blocco. Le dimensioni del blocco sono definite dal parametro bufferSize. Assicurarsi che le dimensioni potenziali del flusso non superino le dimensioni del file.

SUGGERIMENTI PER IL MIGLIORAMENTO DELLE PRESTAZIONI:

  • L'highWaterMark del flusso di input è preferibile impostare lo stesso valore con il parametro bufferSize, che eviterà le operazioni Buffer.concat().
function uploadStream(stream: Readable, size: number, bufferSize: number, maxBuffers: number, options?: FileUploadStreamOptions): Promise<void>

Parametri

stream

Readable

Node.js flusso leggibile. Deve essere minore o uguale alla dimensione del file.

size

number

Dimensioni del file da creare. La dimensione massima consentita è 4 TB. Se questo valore è maggiore delle dimensioni del flusso, nella parte finale del file saranno presenti byte vuoti.

bufferSize

number

Dimensioni di ogni buffer allocato in byte, anche le dimensioni del blocco/intervallo durante il file caricato. Le dimensioni devono essere maggiori di 0 e minori o uguali a 4 * 1024 * 1024 (4 MB)

maxBuffers

number

Il numero massimo di buffer verrà allocato durante il caricamento, correlazione positiva con la concorrenza massima di caricamento

Restituisce

Promise<void>

withShareSnapshot(string)

Crea un nuovo oggetto ShareFileClient identico all'origine, ma con il timestamp dello snapshot di condivisione specificato. Specificare "" rimuoverà lo snapshot e restituirà un URL a ShareFileClient di base.

function withShareSnapshot(shareSnapshot: string): ShareFileClient

Parametri

shareSnapshot

string

Timestamp dello snapshot di condivisione.

Restituisce

Nuovo oggetto ShareFileClient identico all'origine, ma con il timestamp dello snapshot di condivisione specificato.