def scope_dbt_rpc_resource(): # start_marker_dbt_rpc_resource from dagster_dbt import dbt_rpc_resource my_remote_rpc = dbt_rpc_resource.configured({ "host": "80.80.80.80", "port": 8080 })
def scope_dbt_rpc_run(): from dagster_dbt import dbt_rpc_resource my_remote_rpc = dbt_rpc_resource.configured({"host": "80.80.80.80", "port": 8080}) # start_marker_dbt_rpc_run from dagster import job from dagster_dbt import dbt_run_op @job(resource_defs={"dbt": my_remote_rpc}) def my_dbt_job(): dbt_run_op()
def scope_dbt_rpc_run_and_wait(): from dagster_dbt import dbt_rpc_resource my_remote_rpc = dbt_rpc_resource.configured({ "host": "80.80.80.80", "port": 8080 }) # start_marker_dbt_rpc_run_and_wait from dagster import ModeDefinition, pipeline from dagster_dbt import dbt_rpc_run_and_wait @pipeline( mode_defs=[ModeDefinition(resource_defs={"dbt_rpc": my_remote_rpc})]) def my_dbt_pipeline(): dbt_rpc_run_and_wait()
def scope_dbt_rpc_run_specific_models(): # start_marker_dbt_rpc_run_specific_models from dagster import job, op from dagster_dbt import dbt_rpc_resource my_remote_rpc = dbt_rpc_resource.configured({"host": "80.80.80.80", "port": 8080}) @op(required_resource_keys={"dbt"}) def run_staging_models(context): context.resources.dbt.run(models=["tag:staging"]) @job(resource_defs={"dbt": my_remote_rpc}) def my_dbt_job(): run_staging_models()
def scope_dbt_rpc_run_specific_models(): from dagster_dbt import dbt_rpc_resource my_remote_rpc = dbt_rpc_resource.configured({ "host": "80.80.80.80", "port": 8080 }) # start_marker_dbt_rpc_run_specific_models from dagster import ModeDefinition, pipeline from dagster_dbt import dbt_rpc_run run_staging_models = dbt_rpc_run.configured( {"models": ["tag:staging"]}, name="run_staging_models", ) @pipeline( mode_defs=[ModeDefinition(resource_defs={"dbt_rpc": my_remote_rpc})]) def my_dbt_pipeline(): run_staging_models()
def test_dbt_rpc_resource_is_not_waiting(dbt_rpc_server): # pylint: disable=unused-argument @solid(required_resource_keys={"dbt_rpc"}) def cli_solid(context): assert isinstance(context.resources.dbt_rpc, DbtRpcResource) out = context.resources.dbt_rpc.cli("run") return out result = execute_solid( cli_solid, ModeDefinition( resource_defs={"dbt_rpc": dbt_rpc_resource.configured({"host": "localhost"})} ), ) assert result.success result = result.output_value("result") assert isinstance(result, DbtRpcOutput) response = result.response_dict.get("result", {}) assert "elapsed" not in response assert "request_token" in response
def scope_dbt_rpc_resource_example(): HOST, PORT = "", "" # start_marker_dbt_rpc_resource_example from dagster_dbt import dbt_rpc_resource custom_resource = dbt_rpc_resource.configured({"host": HOST, "post": PORT})