Is the DbtManifest class gone in the newest releas...
# integration-dbt
s
Is the DbtManifest class gone in the newest release? If so, are we supposed to use the
load_assets_from_dbt_manifest
instead?
edit: looks like the DbtTranslator is what I'm looking for!
Update: it looks like the way that @dbt_assets is parsing the manifest (vs. the DbtManifest) is not performing well on our dbt project now (~1000 models). It takes about 65 seconds to load, which is causing timeouts in the code server. Any suggestions?
Copy code
dagster._core.errors.DagsterUserCodeUnreachableError: User code server request timed out due to taking longer than 60 seconds to complete.
to parse the manifest im just doing:
Copy code
manifest = json.loads(pathlib.Path("target/manifest.json").read_text())

@dbt_assets(manifest=manifest)
def my_models(dbt: DbtCliResource):
    ...
c
same issue, I can't get my code locations to load with the new dbt extension because of timeouts
r
Thanks for the report. This is an oversight on our part — we were needlessly serializing the manifest as metadata on each dbt asset. We’ll change this behavior in a release tomorrow.
🙌 3
s
amazing. another question, with the new resource, are there function equivalents to
dbt_resource.get_run_results_json
?
r
You’ll want to use `.get_artifact`: (link) e.g.
Copy code
import json
from dagster_dbt import DbtCliResource

with open("path/to/manifest.json", "r") as f:
    manifest = json.load(f)

dbt = DbtCliResource(project_dir="/path/to/dbt/project")

dbt_cli_task = dbt.cli(["run"], manifest=manifest)

# Retrieve the run_results.json artifact.
if dbt_cli_task.is_successful():
    run_results = dbt_cli_task.get_artifact("run_results.json")
🙌 1
s
ah, it's on the task. 👌