Iron Functions enables WebAssembly (Wasm) based function execution in Apache Flink, allowing developers to write custom functions in TypeScript, Rust, and Go. It uses the Extism ecosystem to provide a secure, sandboxed environment.
Key Characteristics:
- Security: Sandboxed execution prevents untrusted code from accessing the host system.
- Performance: Fast execution via runtime compilation.
- Integration: Works with both DataStream and Table/SQL APIs.
- Limitations: Wasm functions cannot read local files, do not support multithreading, and cannot make arbitrary network calls (though a provided HTTP client is available in each language PDK).