-
Notifications
You must be signed in to change notification settings - Fork 225
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
Is evaluating an object without knowing the proto definitions conceptually intended? #103
Comments
Hi David, You are always welcome to reach out to cel-go-discuss@googlegroups.com, especially if there's some of the Go code involved. The short answer to your question is that evaluation over protos which are not linked into the environment and added as However, you should be able build a JSON object in CEL with a top-level Hope that helps, -Tristan |
Thank you for your response and explanation. The problem is I'm in Java/Kotlin code here, so using the go library is not a possibility. I would have to make the protobuf definitions known to the CEL service, which somewhat defies the purpose of a general evaluation service. Still, thank you for the clarification. |
Here are a few things to consider:
|
This may not be the best place to discuss this, but I wasn't quite sure where to put it otherwise.
We have a go service providing the CEL conformance functionality exposed via gRPC. We want to use it to evaluate expressions against arbitrary protobuf messages, about which the CEL service doesn't know anything about. Is this possible?
Even when I use a protobuf message that I know is known to the service (as it's part of its own API), I don't get the response I expect.
Here is a code snippet (complete code could be made available if that helps):
And this is the result I get:
If I use an unknown type, I get
io.grpc.StatusRuntimeException: UNKNOWN: can't convert binding status: any: message type "google.rpc.StatusNonExistingType" isn't linked in
I get the impression, that I'm missing some basic understanding and would appreciate any explanation and pointers towards understanding how this is supposed to work. Thank you!
The text was updated successfully, but these errors were encountered: