-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add the ability to transform and split the results of the HTTP body #68
Comments
@jhorbulyk good idea, I would, however, try to keep the 'configuration' options to the minimum. Do you think a single 'checkbox' for splitting (without additional JSONata field) would solve the immediate problem? |
In this one instance yes. However, I disagree on the keep the configuration options to the minimum philosophy. |
@zubairov @jhorbulyk so, how exactly solution of this issue should be implemented? |
Only additional checkbox for now, without the additional JSONata field. |
Work (with transform case started) is in branch |
DoD Component development prerequisites:
Development:
After QA:
QA:
|
Special case of https://github.com/elasticio/platform/issues/77 This is a particularly common scenario for the REST and possibly SOAP API cases.
Consider the following flow case:
Simple Trigger -> REST API call that returns large array -> Splitter -> ...
Imagine that the REST API call returns an array with total size 1 MB with 9000 entries. Given that for each object produced by Splitter includes the entire result of the REST API call in every message emitted from the splitter, the above flow would produce 9 GB of data on execution easily exceeding the queue size limits. (This is further exasterbasted by elasticio/sailor-nodejs#80)
However, if these messages are 100% independent of each other, then there is no reason to attach each result to the larger REST body. It would be complex to change passthrough logic or message structure to handle the above case. In theory, the above could be tuned to emit things slower, but that also introduces problems. However, if we understand that the above is a common pairing, then it may make sense to add the following two inputs to the REST API component:
$
)The component behavior would be changed to:
After the component has a JSON representation of the response body that they are going to emit, then:
The text was updated successfully, but these errors were encountered: