32
32
from dagster ._utils .log import get_dagster_logger
33
33
34
34
from dagster_fivetran .asset_decorator import fivetran_assets
35
- from dagster_fivetran .resources import DEFAULT_POLL_INTERVAL , FivetranResource , FivetranWorkspace
35
+ from dagster_fivetran .resources import (
36
+ DEFAULT_POLL_INTERVAL ,
37
+ FivetranFilter ,
38
+ FivetranResource ,
39
+ FivetranWorkspace ,
40
+ )
36
41
from dagster_fivetran .translator import (
37
42
DagsterFivetranTranslator ,
38
43
FivetranConnectorTableProps ,
@@ -733,6 +738,7 @@ def build_fivetran_assets_definitions(
733
738
* ,
734
739
workspace : FivetranWorkspace ,
735
740
dagster_fivetran_translator : Optional [DagsterFivetranTranslator ] = None ,
741
+ fivetran_filter : Optional [FivetranFilter ] = None ,
736
742
) -> Sequence [AssetsDefinition ]:
737
743
"""The list of AssetsDefinition for all connectors in the Fivetran workspace.
738
744
@@ -741,6 +747,7 @@ def build_fivetran_assets_definitions(
741
747
dagster_fivetran_translator (Optional[DagsterFivetranTranslator], optional): The translator to use
742
748
to convert Fivetran content into :py:class:`dagster.AssetSpec`.
743
749
Defaults to :py:class:`DagsterFivetranTranslator`.
750
+ fivetran_filter (Optional[FivetranFilter]): Filters the set of Fivetran objects to fetch.
744
751
745
752
Returns:
746
753
List[AssetsDefinition]: The list of AssetsDefinition for all connectors in the Fivetran workspace.
@@ -807,9 +814,10 @@ def get_asset_spec(self, props: FivetranConnectorTableProps) -> dg.AssetSpec:
807
814
808
815
"""
809
816
dagster_fivetran_translator = dagster_fivetran_translator or DagsterFivetranTranslator ()
817
+ fivetran_filter = fivetran_filter or FivetranFilter ()
810
818
811
819
all_asset_specs = workspace .load_asset_specs (
812
- dagster_fivetran_translator = dagster_fivetran_translator
820
+ dagster_fivetran_translator = dagster_fivetran_translator , fivetran_filter = fivetran_filter
813
821
)
814
822
815
823
connector_ids = {
@@ -826,6 +834,7 @@ def get_asset_spec(self, props: FivetranConnectorTableProps) -> dg.AssetSpec:
826
834
name = connector_id ,
827
835
group_name = connector_id ,
828
836
dagster_fivetran_translator = dagster_fivetran_translator ,
837
+ fivetran_filter = fivetran_filter ,
829
838
)
830
839
def _asset_fn (context : AssetExecutionContext , fivetran : FivetranWorkspace ):
831
840
yield from fivetran .sync_and_poll (context = context )
0 commit comments