Automate Azure Data Lake Storage Integration Tasks from PowerShell

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Are you in search of a quick and easy way to access Azure Data Lake Storage data from PowerShell? This article demonstrates how to utilize the Azure Data Lake Storage Cmdlets for tasks like connecting to Azure Data Lake Storage data, automating operations, downloading data, and more.

The CData ADO.NET Provider for Azure Data Lake Storage is a standard ADO.NET Provider that make it easy to accomplish data cleansing, normalization, backup, and other integration tasks by enabling real-time access to Azure Data Lake Storage.

ADO.NET Provider

The ADO.NET Provider provides a SQL interface for Azure Data Lake Storage; this tutorial shows how to use the Provider to retrieve Azure Data Lake Storage data.

Once you have acquired the necessary connection properties, accessing Azure Data Lake Storage data in PowerShell can be enabled in three steps.

Authenticating to a Gen 1 DataLakeStore Account

Gen 1 uses OAuth 2.0 in Entra ID (formerly Azure AD) for authentication.

For this, an Active Directory web application is required. You can create one as follows:

  1. Sign in to your Azure Account through the .
  2. Select "Entra ID" (formerly Azure AD).
  3. Select "App registrations".
  4. Select "New application registration".
  5. Provide a name and URL for the application. Select Web app for the type of application you want to create.
  6. Select "Required permissions" and change the required permissions for this app. At a minimum, "Azure Data Lake" and "Windows Azure Service Management API" are required.
  7. Select "Key" and generate a new key. Add a description, a duration, and take note of the generated key. You won't be able to see it again.

To authenticate against a Gen 1 DataLakeStore account, the following properties are required:

  • Schema: Set this to ADLSGen1.
  • Account: Set this to the name of the account.
  • OAuthClientId: Set this to the application Id of the app you created.
  • OAuthClientSecret: Set this to the key generated for the app you created.
  • TenantId: Set this to the tenant Id. See the property for more information on how to acquire this.
  • Directory: Set this to the path which will be used to store the replicated file. If not specified, the root directory will be used.

Authenticating to a Gen 2 DataLakeStore Account

To authenticate against a Gen 2 DataLakeStore account, the following properties are required:

  • Schema: Set this to ADLSGen2.
  • Account: Set this to the name of the account.
  • FileSystem: Set this to the file system which will be used for this account.
  • AccessKey: Set this to the access key which will be used to authenticate the calls to the API. See the property for more information on how to acquire this.
  • Directory: Set this to the path which will be used to store the replicated file. If not specified, the root directory will be used.
  1. Load the provider's assembly:

    
    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Azure Data Lake Storage\lib\System.Data.CData.ADLS.dll")
        
  2. Connect to Azure Data Lake Storage:

     
    $conn= New-Object System.Data.CData.ADLS.ADLSConnection("Schema=ADLSGen2;Account=myAccount;FileSystem=myFileSystem;AccessKey=myAccessKey;InitiateOAuth=GETANDREFRESH;")
    $conn.Open()
    
  3. Instantiate the ADLSDataAdapter, execute an SQL query, and output the results:

    
    $sql="SELECT FullPath, Permission from Resources"
    
    $da= New-Object System.Data.CData.ADLS.ADLSDataAdapter($sql, $conn)
    $dt= New-Object System.Data.DataTable
    $da.Fill($dt)
    
    $dt.Rows | foreach {
    	Write-Host $_.fullpath $_.permission
    }
      

Ready to get started?

Download a free trial of the Azure Data Lake Storage Data Provider to get started:

 Download Now

Learn more:

Azure Data Lake Storage Icon Azure Data Lake Storage ADO.NET Provider

Rapidly create and deploy powerful .NET applications that integrate with Azure Data Lake Storage.