Azure Blob
Connect to your Azure Blob containers.
Getting Started
Prerequisites to create an Azure Blob based workflow. You will need
A connection to Azure Blob.
A source container.
A destination container. This can be the same as your source container.
Configuring an Azure Blob Connection
Azure Blob related actions require creating an azure connection. The connection must be configured with the correct permissions for each Gretel Action.
For specific permissions, please refer to the Minimum Permissions section under each corresponding action.
There are three ways to authenticate a Gretel Azure Blob Connection, each method requires different fields for connection creation:
Account Access Key
Connection Creation Parameters
name
Display name of your choosing used to identify your connection within Gretel.
account_name
Name of the Storage Account.
access_key
default_container
Default container to crawl data from. Different containers can be chosen at the azure_source and azure_destination actions.
First, create a file on your local computer containing the connection credentials. This file should also include type, name , config, and credentials. connection_target_type is optional; if omitted, the connection can be used for both source and destination action. The config and credentials fields should contain fields that are specific to the connection being created.
Below is an example Azure Blob connection using access key credentials:
{
"type": "azure",
"name": "my-azure-connection",
"connection_target_type": "source"
"config": {
"account_name": "mystorageaccount",
"default_container": "mycontainer",
},
"credentials": {
"access_key": "..."
}
}Now that you've created the credentials file, use the CLI to create the connection
gretel connections create --project [project id] --from-file [credential_file.json]Navigate to the Connections page using the menu item in the left sidebar.
Click the
New Connectionbutton.Step 1, choose the Type for the Connection - Azure Blob.
Step 2, choose the Project for your Connection.
Step 3, fill in the credentials and select
Add Connection.


from gretel_client import create_or_get_unique_project
from gretel_client.config import get_session_config
from gretel_client.rest_v1.api.connections_api import ConnectionsApi
from gretel_client.rest_v1.models import (
CreateConnectionRequest,
UpdateConnectionRequest,
)
session = get_session_config()
connection_api = session.get_v1_api(ConnectionsApi)
project = create_or_get_unique_project(name="azure-workflow")
connection = connection_api.create_connection(
CreateConnectionRequest(
name="my-azure-connection",
project_id=project.project_guid,
type="azure",
#connection_target_type="",
config={
"account_name": "mystorageaccount",
"default_container": "mycontainer",
},
# note: best practice is to read in credentials from a file
# or secret instead of directly embedding sensitive values
# in python code.
credentials={
"access_key": "...",
},
)
)Entra ID
name
Display name of your choosing used to identify your connection within Gretel.
account_name
Name of the Storage Account.
client_id
Application (client) ID.
tenant_id
Directory (tenant) ID.
username
Email of the Service Account.
entra_password
Password of the Service Account.
default_container
Default container to crawl data from. Different containers can be chosen at the azure_source and azure_destination actions.
First, create a file on your local computer containing the connection credentials. This file should also include type, name , config, and credentials. connection_target_type is optional; if omitted, the connection can be used for both source and destination action. The config and credentials fields should contain fields that are specific to the connection being created.
Below is an example Azure Blob connection using access key credentials:
{
"type": "azure",
"name": "my-azure-connection",
"connection_target_type": "source"
"config": {
"account_name": "mystorageaccount",
"default_container": "mycontainer",
"entra_config": {
"client_id": "12a345b6-1a23-1ab2-abc1-1ab234cde56f",
"tenant_id": "78g901h2-7g89-7gh8-ghi7-7gh890ijk12l",
"username": "[email protected]",
},
"credentials": {
"entra_password": "..."
}
}Now that you've created the credentials file, use the CLI to create the connection
gretel connections create --project [project id] --from-file [credential_file.json]Console support for creating Azure Blob connections using Entra ID is coming soon. For now, you can create connections using Entra ID via CLI or SDK and then use those connections in Console.
from gretel_client import create_or_get_unique_project
from gretel_client.config import get_session_config
from gretel_client.rest_v1.api.connections_api import ConnectionsApi
from gretel_client.rest_v1.models import (
CreateConnectionRequest,
UpdateConnectionRequest,
)
session = get_session_config()
connection_api = session.get_v1_api(ConnectionsApi)
project = create_or_get_unique_project(name="azure-workflow")
connection = connection_api.create_connection(
CreateConnectionRequest(
name="my-azure-connection",
project_id=project.project_guid,
type="azure",
#connection_target_type="",
config={
"account_name": "mystorageaccount",
"default_container": "mycontainer",
"entra_config": {
"client_id": "12a345b6-1a23-1ab2-abc1-1ab234cde56f",
"tenant_id": "78g901h2-7g89-7gh8-ghi7-7gh890ijk12l",
"username": "[email protected]",
},
},
# note: best practice is to read in credentials from a file
# or secret instead of directly embedding sensitive values
# in python code.
credentials={
"entra_password": "...",
},
)
)SAS Token
name
Display name of your choosing used to identify your connection within Gretel.
account_name
Name of the Storage Account.
sas_token
default_container
Default container to crawl data from. Different containers can be chosen at the azure_source and azure_destination actions.
First, create a file on your local computer containing the connection credentials. This file should also include type, name , config, and credentials. connection_target_type is optional; if omitted, the connection can be used for both source and destination action. The config and credentials fields should contain fields that are specific to the connection being created.
Below is an example Azure Blob connection file using access key credentials:
{
"type": "azure",
"name": "my-azure-connection",
"connection_target_type": "source"
"config": {
"account_name": "mystorageaccount",
"default_container": "mycontainer",
},
"credentials": {
"sas_token": "..."
}
}Now that you've created the credentials file, use the CLI to create the connection
gretel connections create --project [project id] --from-file [credential_file.json]Console support for creating Azure Blob connections using SAS Tokens is coming soon. For now, you can create connections using SAS Tokens via CLI or SDK and then use those connections in Console.
from gretel_client import create_or_get_unique_project
from gretel_client.config import get_session_config
from gretel_client.rest_v1.api.connections_api import ConnectionsApi
from gretel_client.rest_v1.models import (
CreateConnectionRequest,
UpdateConnectionRequest,
)
session = get_session_config()
connection_api = session.get_v1_api(ConnectionsApi)
project = create_or_get_unique_project(name="azure-workflow")
connection = connection_api.create_connection(
CreateConnectionRequest(
name="my-azure-connection",
project_id=project.project_guid,
type="azure",
#connection_target_type="",
config={
"account_name": "mystorageaccount",
"default_container": "mycontainer",
},
# note: best practice is to read in credentials from a file
# or secret instead of directly embedding sensitive values
# in python code.
credentials={
"sas_token": "...",
},
)
)Last updated
Was this helpful?

