+1 for these changes from me - sounds like a great initial (and deliverable)
step.
Cheers,
Mike
On 10/31/26 1:03 AM, Rithwik Koul via dev wrote:
Hi all,
I'd like to work on APE 34 (external functions). I'm worried the full
scope is too large for the next release, so I'd like to
propose a smaller first version.
Proposed changes for the first version:
1. No endpoint objects or endpoint admin API yet. AT takes the URL
(template) directly, as APE 34 already allows, and any credentials go
in the WITH clause, the way external collections take them today:
CREATE EXTERNAL FUNCTION weather(city)
AT 'https://api.weather.com/v1/now'
WITH { "bearerToken": "abc123", "method": "GET" };
2. Credential types: Basic, Bearer, OAuth client credentials, and an
API key sent in a header of the API's choosing (e.g. x-api-key).
Client certificates, "Local" auth and refresh intervals are left
for later.
3. No URL whitelist or local/link-local address check in AsterixDB for
now. A proxy, request and response size limits, default and maximum
timeouts, and a per-NC rate limit are read from the config file.
4. The method moves from AS into WITH: "method" is "GET" or "POST", and
for POST, "body" is "json", "form" or "formdata". This keeps the DDL
free of new keywords. "headers" becomes a plain object.
5. No batched mode yet; each row makes its own call.
6. External functions cannot be called from feed transform functions
in the first version.
Would these changes be OK?
Thanks,
Rithwik