Azure Storage File Share client library samples for TypeScript

These sample programs show how to use the TypeScript client libraries for Azure Storage File Shares in some common scenarios.

File Name Description
basic.ts authenticate with the service using an account name & key (or anonymously with a SAS URL), upload a file, list files and directories, and download a file to a string
withConnString.ts connect to and authenticate with the service using a connection string
sharedKeyCred.ts authenticate with the service using an account name and a shared key
anonymousCred.ts authenticate with the service anonymously using a SAS URL
proxyAuth.ts connect to the service using a proxy and authenticate with an account name & key (requires a proxy configuration)
iterators-shares.ts connect to the service and iterate through the shares in the account
iterators-files-and-directories.ts create a few directories and iterate through them individually (using async for await syntax), by page, and resume paging using a marker
iterators-handles.ts connect to the service and iterate through open handles (requires a pre-existing share and directory)
customPipeline.ts use custom HTTP pipeline options when connecting to the service
advanced.ts use custom logging and pipeline options, then upload a local file to a share


The samples are compatible with Node.js >= 8.0.0, except for the samples that use the async for await syntax, which require a Node.js >= 10.0.0.

Before running the samples in Node, they must be compiled to JavaScript using the TypeScript compiler. For more information on TypeScript, see the TypeScript documentation. Install the TypeScript compiler using

npm install -g typescript

You need an Azure subscription and an Azure Storage account to run these sample programs. Samples retrieve credentials to access the storage account from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function.

Adapting the samples to run in the browser requires some additional consideration. For details, please see the package README.


To run the samples using the published version of the package:

  1. Install the dependencies using npm:
npm install
  1. Compile the samples
npm run build
  1. Edit the file sample.env, adding the correct credentials to access the Azure service and run the samples. Then rename the file from sample.env to just .env. The sample programs will read this file automatically.

  2. Run whichever samples you like (note that some samples may require additional setup, see the table above):

node dist/basic.js

Alternatively, run a single sample with the correct environment variables set (step 3 is not required if you do this), for example (cross-platform):

npx cross-env ACCOUNT_NAME="<account name>" ACCOUNT_KEY="<account key>" node dist/basic.js

Next Steps

Take a look at our API Documentation for more information about the APIs that are available in the clients.