-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Include exposures in RPC compile results #3702
Comments
Thanks for opening @owlas! I really appreciated reading the context over in lightdash/lightdash#202, and I'm excited to see your interest in leveraging exposures for a very cool application. Let's think about how dbt can best get you the info you're after. Core changeSources and exposures are a bit funny today, and unlike all other other One option here: compile everything. Redefine the Incidentally, if we made that change, and also the one in #3716, I don't believe we'll need the Other RPC methodsHow much control do you have over the RPC methods that you're submitting? If what you're after is the full (or partial) contents of the manifest, perhaps you could use one of these other methods:
|
Hey @jtcohen6 Thanks for the incredibly detailed answer.
I didn't fully appreciate this but I can see now why they aren't there. I'm not sure what the implications would be for bringing them into the compile process and dropping
This is exactly what we need, this also brings a bunch of additional metadata that we've been craving. Is this stable enough to rely on at the moment? It seems it's been around for a while as you say. Just testing
This is also really useful and we'll use this where we can to avoid a full re-compile. |
I don't foresee us ripping out In the meantime, I'm going to close this issue :) |
Describe the feature
When you invoke the
compile
method on a dbt rpc server, it returns exposures:1. I compile a job
2. I get the results
3. I get a response that includes a
node
with an exposureDescribe alternatives you've considered
Alternatively: don't include them.
Additional context
The contracts that are relevant are here. I'm probably missing something but why is the
ParsedExposure
aGraphMemberNode
and not aCompileResultNode
? Only the latter is included in the dbt rpc contract.https://github.com/dbt-labs/dbt/blob/749f87397ec1e0a270b2e09bd8dbeb71862fdb81/core/dbt/contracts/graph/compiled.py#L184-L225
Who will this benefit?
dbt rpc users that are using exposures
Are you interested in contributing this feature?
Happy to help
The text was updated successfully, but these errors were encountered: