You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
In containerized environments, direct communication between control plane and data plane (Data Prepper) is restricted. For example when running data prepper as container in ECS Fargate, the control plane can initiate requests (curl commands) using ecs execute-command to Data Prepper's admin APIs, it faces an inherent limitation:
Can execute commands in the container
Cannot capture or return the API response
Command execution succeeds but response is lost
Describe the solution you'd like
Asynchronous responses solve this by inverting the communication flow:
Control plane initiates request with callback URL
Data Prepper receives request
Data Prepper independently calls callback URL with results
No need to capture response through execute-command
Here's a high-level overview of supporting both synchronous and asynchronous responses in Data Prepper's admin API:
Request Pattern:
Sync Request:
GET /pipelines
Response: Immediate result
Async Request:
GET /pipelines
Header: X-Callback-Url: http://callback-endpoint
Response: Immediate acknowledgment + Callback with result
Implementation Strategy:
Handler Detection:
Check for X-Callback-Url header or query parameter
Choose sync/async processing based on presence
Same endpoint supports both patterns
Response Flow:
Sync: Request -> Process -> Return Result
Async: Request -> Return Ack -> Process -> Callback with Result
Is your feature request related to a problem? Please describe.
In containerized environments, direct communication between control plane and data plane (Data Prepper) is restricted. For example when running data prepper as container in ECS Fargate, the control plane can initiate requests (curl commands) using ecs execute-command to Data Prepper's admin APIs, it faces an inherent limitation:
Describe the solution you'd like
Asynchronous responses solve this by inverting the communication flow:
Here's a high-level overview of supporting both synchronous and asynchronous responses in Data Prepper's admin API:
Request Pattern:
Sync Request:
GET /pipelines
Response: Immediate result
Async Request:
GET /pipelines
Header: X-Callback-Url: http://callback-endpoint
Response: Immediate acknowledgment + Callback with result
Implementation Strategy:
This approach maintains backward compatibility while adding async support through optional callback URLs.
Describe alternatives you've considered (Optional)
Run a control plane proxy along with Data Prepper that has direct access to data prepper container
The text was updated successfully, but these errors were encountered: