Data Pipeline
  • Data Pipeline
    • About Data Pipeline
    • Design Philosophy
    • Low Code Visual Authoring
    • Real-time and Batch Orchestration
    • Event based Process Orchestration
    • ML and Data Ops
    • Distributed Compute
    • Fault Tolerant and Auto-recovery
    • Extensibility via Custom Scripting
  • Getting Started
    • Homepage
      • Create
        • Creating a New Pipeline
          • Adding Components to Canvas
          • Connecting Components
            • Events [Kafka and Data Sync]
          • Memory and CPU Allocations
        • Creating a New Job
          • Job Editor Page
          • Spark Job
            • Readers
              • HDFS Reader
              • MongoDB Reader
              • DB Reader
              • S3 Reader
              • Azure Blob Reader
              • ES Reader
              • Sandbox Reader
              • Athena Query Executer
            • Writers
              • HDFS Writer
              • Azure Writer
              • DB Writer
              • ES Writer
              • S3 Writer
              • Sandbox Writer
              • Mongodb Writer
              • Kafka Producer
            • Transformations
          • PySpark Job
          • Python Job
          • Python Job(On demand)
          • Script Executer Job
          • Job Alerts
        • Register as Job
        • Exporting a Script From Data Science Lab
        • Utility
        • Git Sync
      • Overview
        • Jobs
        • Pipeline
      • List Jobs
      • List Pipelines
      • Scheduler
      • Data Channel & Cluster Events
      • Trash
      • Settings
    • Pipeline Workflow Editor
      • Pipeline Toolbar
        • Pipeline Overview
        • Pipeline Testing
        • Search Component in Pipelines
        • Push & Pull Pipeline
        • Pull Pipeline
        • Full Screen
        • Log Panel
        • Event Panel
        • Activate/Deactivate Pipeline
        • Update Pipeline
        • Failure Analysis
        • Delete Pipeline
        • Pipeline Component Configuration
        • Pipeline Failure Alert History
        • Format Flowchart
        • Zoom In/Zoom Out
        • Update Component Version
      • Component Panel
      • Right-side Panel
    • Testing Suite
    • Activating Pipeline
    • Pipeline Monitoring
    • Job Monitoring
  • Components
    • Adding Components to Workflow
    • Component Architecture
    • Component Base Configuration
    • Resource Configuration
    • Intelligent Scaling
    • Connection Validation
    • Readers
      • GCS Reader
      • S3 Reader
      • HDFS Reader
      • DB Reader
      • ES Reader
      • SFTP Stream Reader
      • SFTP Reader
      • Mongo DB Reader
        • MongoDB Reader Lite (PyMongo Reader)
        • MongoDB Reader
      • Azure Blob Reader
      • Azure Metadata Reader
      • ClickHouse Reader (Docker)
      • Sandbox Reader
      • Azure Blob Reader (Docker)
      • Athena Query Executer
    • Writers
      • S3 Writer
      • DB Writer
      • HDFS Writer
      • ES Writer
      • Video Writer
      • Azure Writer
      • ClickHouse Writer (Docker)
      • Sandbox Writer
      • MongoDB Writers
        • MongoDB Writer
        • MongoDB Writer Lite (PyMongo Writer)
    • Machine Learning
      • DSLab Runner
      • AutoML Runner
    • Consumers
      • GCS Monitor
      • Sqoop Executer
      • OPC UA
      • SFTP Monitor
      • MQTT Consumer
      • Video Stream Consumer
      • Eventhub Subscriber
      • Twitter Scrapper
      • Mongo ChangeStream
      • Rabbit MQ Consumer
      • AWS SNS Monitor
      • Kafka Consumer
      • API Ingestion and Webhook Listener
    • Producers
      • WebSocket Producer
      • Eventhub Publisher
      • EventGrid Producer
      • RabbitMQ Producer
      • Kafka Producer
      • Synthetic Data Generator
    • Transformations
      • SQL Component
      • File Splitter
      • Rule Splitter
      • Stored Producer Runner
      • Flatten JSON
      • Pandas Query Component
      • Enrichment Component
      • Mongo Aggregation
      • Data Loss Protection
      • Data Preparation (Docker)
      • Rest Api Component
      • Schema Validator
    • Scripting
      • Script Runner
      • Python Script
        • Keeping Different Versions of the Python Script in VCS
    • Scheduler
    • Alerts
      • Alerts
      • Email Component
    • Job Trigger
  • Custom Components
  • Advance Configuration & Monitoring
    • Configuration
      • Default Component Configuration
      • Logger
    • Data Channel
    • Cluster Events
    • System Component Status
  • Version Control
  • Use Cases
Powered by GitBook
On this page
  • Configuring the Meta Information of Azure Blob Reader
  • Read using Shared Access Signature
  • Read Using Secret Key Option
  • Read Using Principal Secret
  1. Components
  2. Readers

Azure Blob Reader (Docker)

PreviousSandbox ReaderNextAthena Query Executer

Last updated 11 months ago

Azure Blob Reader is designed to read and access data stored in Azure Blob Storage. Azure Blob Readers typically authenticate with Azure Blob Storage using Azure Active Directory credentials or other authentication mechanisms supported by Azure.

This is a docker based component.

All component configurations are classified broadly into the following sections:

  • ​​

  • Meta Information

  • ​​

  • ​

Please Note: Please go through the below given demonstration to configure Azure Blob Reader in the pipeline.

Please Note: Before starting to use the Azure Reader component, please follow the steps below to obtain the Azure credentials from the Azure Portal:

Accessing Azure Blob Storage: Shared Access Signature (SAS), Secret Key, and Principal Secret

This document outlines three methods for accessing Azure Blob Storage: Shared Access Signatures (SAS), Secret Keys, and Principal Secrets.

Understanding Security Levels:

  • Shared Access Signature (SAS): This is the recommended approach due to its temporary nature and fine-grained control over access permissions. SAS tokens can be revoked, limiting potential damage if compromised.

  • Secret Key: Secret keys grant full control over your storage account. Use them with caution and only for programmatic access. Consider storing them securely in Azure Key Vault and avoid hardcoding them in scripts.

  • Principal Secret: This applies to Azure Active Directory (Azure AD) application access. Similar to secret keys, use them cautiously and store them securely (e.g., Azure Key Vault).

1. Shared Access Signature (SAS):

Benefits:

  • Secure: Temporary and revocable, minimizing risks.

  • Granular Control: Define specific permissions (read, write, list, etc.) for each SAS token.

Steps to Generate an SAS Token:

  1. Access Blob Storage Account: Locate "Storage accounts" in the left menu and select your storage account.

  2. Configure SAS Settings: Find and click on "Shared access signature" in the settings. Define the permissions, expiry date, and other parameters for your needs.

  3. Generate SAS Token: Click on "Generate SAS and connection string" to create the SAS token.

  4. Copy and Use SAS Token: Copy the generated SAS token. Use this token to securely access your Blob Storage resources in your code.

2. Secret Key:

Use with Caution:

  • High-Risk: Grants full control over your storage account.

  • Secure Storage: Store them securely in Azure Key Vault, never hardcode them in scripts.

Steps to Obtain Secret Key:

  1. Navigate to Azure Portal: Open the Azure portal and log in.

  2. Access Blob Storage Account: Locate and select your storage account.

  3. View Secret Keys: Click on "Access keys" to view your storage account keys. Do not store these directly in code. Consider Azure Key Vault for secure storage.

3. Principal Secret (Azure AD Application):

Use for Application Access:

  • Grants access to your storage account through an Azure AD application.

  • Secure Storage: Store them securely in Azure Key Vault, never hardcode them in scripts.

Steps to Obtain Principal Secret:

  1. Access App Registrations: Locate "App registrations" in the left menu.

  2. Select Your Application: Find and click on the application for which you want to obtain the principal secret.

  3. Access Certificates & Secrets: Inside your application, go to "Certificates & secrets" in the settings menu.

  4. Generate New Client Secret (Principal Secret):

    • Under "Client secrets," click on "New client secret."

    • Enter a description, select the expiry duration, and click "Add" to generate the new client secret.

    • Copy the generated client secret immediately as it will be hidden afterward.

Configuring the Meta Information of Azure Blob Reader

Read Using: There are three authentication methods available to connect with Azure in the Azure Blob Reader Component:

  • Shared Access Signature

  • Secret Key

  • Principal Secret

Read using Shared Access Signature

Provide the following details:

  • Shared Access Signature: This is a URI that grants restricted access rights to Azure Storage resources.

  • Account Name: Provide the Azure account name.

  • Container: Provide the container name from where the file is located and which has to be read.

  • File Type: There are five (5) types of file extensions available:

    • CSV

    • JSON

    • PARQUET

    • AVRO

    • XML

  • Read Directory: This field will be checked by default. If this option is enabled, the component will read data from all the blobs present in the container.

  • Blob Name: This field will display only if the Read Directory field is disabled. Enter the specific name of the blob whose data has to be read.

  • Column Filter: Enter the column names here. Only the specified columns will be fetched from Azure Blob. In this field, the user needs to fill in the following information:

    • Source Field: Enter the name of the column from the blob. The user can add multiple columns by clicking on the "Add New Column" option.

    • Destination Field: Enter the alias name for the source field.

    • Column Type: Enter the data type of the column.

    • Upload: This option allows the user to upload a data file in CSV, JSON, or EXCEL format. The column names will be automatically fetched from the uploaded data file and filled out in the Name, Alias, and Column Type fields.

    • Download Data: This option will download the data filled in the Column Filter field in JSON format.

    • Delete Data: This option will clear all the information filled in the Column Filter field.

Read Using Secret Key Option

Provide the following details:

  • Account Key: Used to authorize access to data in your storage account via Shared Key authorization.

  • Account Name: Provide the Azure account name.

  • Container: Provide the container name from where the file is located and which has to be read.

  • File Type: There are five (5) types of file extensions available:

    • CSV

    • JSON

    • PARQUET

    • AVRO

  • Read Directory: This field will be checked by default. If this option is enabled, the component will read data from all the blobs present in the container.

  • Blob Name: This field will display only if the Read Directory field is disabled. Enter the specific name of the blob whose data has to be read.

  • Column Filter: Enter the column names here. Only the specified columns will be fetched from Azure Blob. In this field, the user needs to fill in the following information:

    • Source Field: Enter the name of the column from the blob. The user can add multiple columns by clicking on the "Add New Column" option.

    • Destination Field: Enter the alias name for the source field.

    • Column Type: Enter the data type of the column.

    • Upload: This option allows the user to upload a data file in CSV, JSON, or EXCEL format. The column names will be automatically fetched from the uploaded data file and filled out in the Name, Alias, and Column Type fields.

    • Download Data: This option will download the data filled in the Column Filter field in JSON format.

    • Delete Data: This option will clear all the information filled in the Column Filter field.

Read Using Principal Secret

Provide the following details:

  • Client ID: The unique Application (client) ID assigned to your app by Azure AD when the app was registered.

  • Tenant ID: A globally unique identifier (GUID) that is different from your organization name or domain.

  • Client Secret: The password of the service principal.

  • Account Name: Provide the Azure account name.

  • File Type: There are five (5) types of file extensions available:

    • CSV

    • JSON

    • PARQUET

    • AVRO

  • Read Directory: This field will be checked by default. If this option is enabled, the component will read data from all the blobs present in the container.

  • Blob Name: This field will display only if the Read Directory field is disabled. Enter the specific name of the blob whose data has to be read.

  • Column Filter: Enter the column names here. Only the specified columns will be fetched from Azure Blob. In this field, the user needs to fill in the following information:

    • Source Field: Enter the name of the column from the blob. The user can add multiple columns by clicking on the "Add New Column" option.

    • Destination Field: Enter the alias name for the source field.

    • Column Type: Enter the data type of the column.

    • Upload: This option allows the user to upload a data file in CSV, JSON, or EXCEL format. The column names will be automatically fetched from the uploaded data file and filled out in the Name, Alias, and Column Type fields.

    • Download Data: This option will download the data filled in the Column Filter field in JSON format.

    • Delete Data: This option will clear all the information filled in the Column Filter field.

Note: The following fields will be displayed after selecting the following file types:

  • CSV: The Header and Infer Schema fields get displayed with CSV as the selected File Type. Enable Header option to get the Header of the reading file and enable Infer Schema option to get true schema of the column in the CSV file.

  • JSON: The Multiline and Charset fields get displayed with JSON as the selected File Type.

    • Multiline: This option handles JSON files that contain records spanning multiple lines. Enabling this ensures the JSON parser reads multiline records correctly.

    • Charset: Specify the character set used in the JSON file. This defines the character encoding of the JSON file, such as UTF-8 or ISO-8859-1, ensuring correct interpretation of the file content.

  • PARQUET: No extra field gets displayed with PARQUET as the selected File Type.

  • AVRO: This File Type provides two drop-down menus.

    • Compression: Select an option out of the Deflate and Snappy options.

      • Deflate: A compression algorithm that balances between compression speed and compression ratio, often resulting in smaller file sizes.

      • Snappy: This compression type is select by default. A fast compression and decompression algorithm developed by Google, optimized for speed rather than maximum compression ratio.

    • Compression Level: This field appears if Deflate compression is selected. It provides a drop-down menu with levels ranging from 0 to 9, indicating the compression intensity.

Navigate to Azure Portal: Open the Azure portal () and log in with your credentials.

Navigate to Azure AD Portal: Open the Azure AD portal () and log in with your credentials.

https://azure.microsoft.com/en-us/get-started/azure-portal
https://azure.microsoft.com/en-us/get-started/azure-portal
​Basic Information​
Resource Configuration​
Connection Validation
Azure Blob Reader using Principal Secret
Azure Blob Reader using Shared Access Signature
Azure Blob Reader using Secret Key
Azure Blob Reader using Principal Secret