Data Factory API Reference¶
Access Azure Data Factory through the integrations namespace:
from fabias.integrations import adf
adf.client(subscription_id="...", resource_group="...", factory="...", auth=my_auth)
pipeline = adf.pipeline("ETL_Pipeline")
job = pipeline.run()
job.wait()
Module Functions¶
fabias.integrations.adf.client
¶
Azure Data Factory REST API client.
Classes¶
DataFactoryClient
¶
Bases: BaseClient
HTTP client for Azure Data Factory REST API.
Configured for a specific factory within a subscription/resource group.
Source code in src/fabias/integrations/adf/client.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |
Attributes¶
factory
property
¶
Get the configured factory name.
resourceGroup
property
¶
Get the configured resource group.
subscriptionId
property
¶
Get the configured subscription ID.
Functions¶
__enter__()
¶
__exit__(exc_type, exc_val, exc_tb)
¶
__init__(subscription_id, resource_group, factory, auth=None, tenant_id=None, client_id=None, client_secret=None)
¶
Initialize the Data Factory client.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subscription_id
|
str
|
Azure subscription ID |
required |
resource_group
|
str
|
Resource group name |
required |
factory
|
str
|
Data Factory name |
required |
auth
|
Optional[AuthProvider]
|
Optional pre-configured AuthProvider |
None
|
tenant_id
|
Optional[str]
|
Azure AD tenant ID |
None
|
client_id
|
Optional[str]
|
Application client ID |
None
|
client_secret
|
Optional[str]
|
Client secret |
None
|
Source code in src/fabias/integrations/adf/client.py
pipeline(name)
¶
Get a pipeline by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Pipeline name |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Pipeline |
Pipeline
|
Pipeline object for execution |
pipelines()
¶
List all pipelines in this factory.
Returns Pipeline objects pre-populated with metadata from the list call, so no additional API calls are needed to access their properties.
Returns:
| Type | Description |
|---|---|
List[Pipeline]
|
List[Pipeline]: List of Pipeline objects with cached metadata |
Examples:
>>> for pipeline in adf.pipelines():
... print(f"{pipeline.name}: {len(pipeline.activities)} activities")
Source code in src/fabias/integrations/adf/client.py
fabias.integrations.adf.pipeline
¶
Azure Data Factory Pipeline model.
Classes¶
Pipeline
¶
Represents an Azure Data Factory pipeline.
Supports lazy loading when fetched by name, or pre-population when retrieved from pipelines() list. Properties are cached after first access.
Examples:
>>> import fabias.datafactory as adf
>>> adf.client(...)
>>>
>>> # Lazy loading - fetches on first property access
>>> pipeline = adf.pipeline("Daily_ETL")
>>> print(pipeline.activities) # Triggers fetch
>>>
>>> # Pre-populated from list
>>> for pipeline in adf.pipelines():
... print(pipeline.name, pipeline.last_published) # No fetch needed
>>>
>>> # Force refresh cached data
>>> pipeline.refresh()
Source code in src/fabias/integrations/adf/pipeline.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | |
Attributes¶
activities
property
¶
List of pipeline activities.
annotations
property
¶
Pipeline annotations.
etag
property
¶
Entity tag for versioning.
id
property
¶
Azure resource ID for this pipeline.
lastPublished
property
¶
Last publish timestamp (ISO format).
parameters
property
¶
Pipeline parameters definition.
properties
property
¶
Full properties dictionary including activities, parameters, etc.
type
property
¶
Azure resource type.
Functions¶
__init__(client, name, data=None)
¶
Initialize pipeline.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
client
|
DataFactoryClient
|
Configured DataFactoryClient |
required |
name
|
str
|
Pipeline name |
required |
data
|
Optional[Dict[str, Any]]
|
Optional pre-fetched pipeline data (from pipelines() list) |
None
|
Source code in src/fabias/integrations/adf/pipeline.py
refresh()
¶
Force refresh of cached pipeline data from the API.
Examples:
run(parameters=None)
¶
Execute the pipeline.
Starts a new pipeline run and returns a Job for tracking.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parameters
|
Optional[Dict[str, Any]]
|
Optional pipeline parameters as key-value pairs |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Job |
AzResponse
|
Job object for monitoring execution |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If pipeline execution fails to start |
Examples:
>>> job = pipeline.run(parameters={"sourceDate": "2025-01-01"})
>>> job.wait(callback=lambda j: print(f"Status: {j.status}"))
Source code in src/fabias/integrations/adf/pipeline.py
fabias.integrations.adf.pipelines()
¶
List all pipelines in the factory.
Returns Pipeline objects pre-populated with metadata, so no additional API calls are needed to access their properties.
Returns:
| Type | Description |
|---|---|
List[Pipeline]
|
List[Pipeline]: List of Pipeline objects |
Examples:
>>> for pipeline in adf.pipelines():
... print(f"{pipeline.name}: {len(pipeline.activities)} activities")
Source code in src/fabias/integrations/adf/__init__.py
Classes¶
fabias.integrations.adf.Pipeline
¶
Represents an Azure Data Factory pipeline.
Supports lazy loading when fetched by name, or pre-population when retrieved from pipelines() list. Properties are cached after first access.
Examples:
>>> import fabias.datafactory as adf
>>> adf.client(...)
>>>
>>> # Lazy loading - fetches on first property access
>>> pipeline = adf.pipeline("Daily_ETL")
>>> print(pipeline.activities) # Triggers fetch
>>>
>>> # Pre-populated from list
>>> for pipeline in adf.pipelines():
... print(pipeline.name, pipeline.last_published) # No fetch needed
>>>
>>> # Force refresh cached data
>>> pipeline.refresh()
Source code in src/fabias/integrations/adf/pipeline.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 | |
Attributes¶
name = name
instance-attribute
¶
id
property
¶
Azure resource ID for this pipeline.
type
property
¶
Azure resource type.
properties
property
¶
Full properties dictionary including activities, parameters, etc.
activities
property
¶
List of pipeline activities.
parameters
property
¶
Pipeline parameters definition.
lastPublished
property
¶
Last publish timestamp (ISO format).
Functions¶
run(parameters=None)
¶
Execute the pipeline.
Starts a new pipeline run and returns a Job for tracking.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
parameters
|
Optional[Dict[str, Any]]
|
Optional pipeline parameters as key-value pairs |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
Job |
AzResponse
|
Job object for monitoring execution |
Raises:
| Type | Description |
|---|---|
FabiasError
|
If pipeline execution fails to start |
Examples:
>>> job = pipeline.run(parameters={"sourceDate": "2025-01-01"})
>>> job.wait(callback=lambda j: print(f"Status: {j.status}"))
Source code in src/fabias/integrations/adf/pipeline.py
refresh()
¶
Force refresh of cached pipeline data from the API.
Examples:
fabias.integrations.adf.DataFactoryClient
¶
Bases: BaseClient
HTTP client for Azure Data Factory REST API.
Configured for a specific factory within a subscription/resource group.
Source code in src/fabias/integrations/adf/client.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |
Attributes¶
factory
property
¶
Get the configured factory name.
resourceGroup
property
¶
Get the configured resource group.
subscriptionId
property
¶
Get the configured subscription ID.
Functions¶
__enter__()
¶
__exit__(exc_type, exc_val, exc_tb)
¶
__init__(subscription_id, resource_group, factory, auth=None, tenant_id=None, client_id=None, client_secret=None)
¶
Initialize the Data Factory client.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
subscription_id
|
str
|
Azure subscription ID |
required |
resource_group
|
str
|
Resource group name |
required |
factory
|
str
|
Data Factory name |
required |
auth
|
Optional[AuthProvider]
|
Optional pre-configured AuthProvider |
None
|
tenant_id
|
Optional[str]
|
Azure AD tenant ID |
None
|
client_id
|
Optional[str]
|
Application client ID |
None
|
client_secret
|
Optional[str]
|
Client secret |
None
|
Source code in src/fabias/integrations/adf/client.py
pipeline(name)
¶
Get a pipeline by name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
Pipeline name |
required |
Returns:
| Name | Type | Description |
|---|---|---|
Pipeline |
Pipeline
|
Pipeline object for execution |
pipelines()
¶
List all pipelines in this factory.
Returns Pipeline objects pre-populated with metadata from the list call, so no additional API calls are needed to access their properties.
Returns:
| Type | Description |
|---|---|
List[Pipeline]
|
List[Pipeline]: List of Pipeline objects with cached metadata |
Examples:
>>> for pipeline in adf.pipelines():
... print(f"{pipeline.name}: {len(pipeline.activities)} activities")