aistore.sdk.etl.webserver.flask_server
aistore.sdk.etl.webserver.flask_server
Module Contents
Classes
API
Bases: ETLServer
Flask server implementation for ETL transformations. Compatible with environments where Flask is preferred over FastAPI.
Sends the transformed object directly to the specified AIS node (direct_put_url),
eliminating the additional network hop through the original target.
Used only in bucket-to-bucket offline transforms.
Returns: status code, transformed data, length of the transformed data (if any)
Parameters:
The first URL in the ETL pipeline
The transformed data to send
Comma-separated remaining pipeline stages to pass as header
The path of the object.
Stream transformed output directly to the next pipeline stage.
Streaming direct-put with exponential-backoff retry on transient errors.
Replayable sources (FQN-backed or GET) close and reopen the reader on each retry. No-FQN PUT bodies are one-shot (request body consumed from the socket); effective_retries is forced to 0 and a transient direct-put error surfaces to AIS as a transform failure.
Buffered direct-put with exponential-backoff retry on transient errors.
Get a BinaryIO reader for the request source data.
Bases: RawIOBase
Wrap Werkzeug’s request.stream for no-FQN PUT on the streaming path.
Werkzeug’s LimitedStream inherits io.RawIOBase.close() without draining; a transform that exits early would leave unread bytes on a keep-alive connection. close() drains residual bytes in 64 KiB chunks (mirroring _RFileLimitedReader.close() in HTTPMultiThreadedServer).