Aura Logo
aurabasedocumentos
documentos›Edge Functions›SDK reference

SDK JavaScript: funções

Cada método de aura.functions, sua assinatura, a função necessária e o que retorna.

8 min lido·Nível referência·Revisado em 12 de out. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Configuração

1. Conquiste o cliente

aura.functions é um FunctionsService. Você quase nunca constrói sozinho.

client.tstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient('https://my-app.aurabase.cloud', 'aura_anon_…')
aura.functions.invoke('hello')

O pacote @aurabase/functions é instalado com @aurabase/aurabase-js. Instale-o sozinho apenas se você compor seu próprio cliente a partir de @aurabase/core. Requer Node.js 20 ou posterior e vem com módulos ES e CommonJS com declarações de tipo.

Todo método retorna Promise<AuraResponse<T>>, um objeto { data, error } que nunca lança:

Casodataerror
Sucessoo valornull
Sucesso sem conteúdo (204, corpo vazio)nullnull
Falhanullum AuraError

Teste data em vez de error quando precisar do valor: só então TypeScript sabe que não é null.

MétodoFunção necessária
invokechave pública (anon), usuário ou service_role
qualquer outro métodoservice_role (somente servidor)
#
Ligar

2. invocar

signaturetypescript
invoke<T = unknown>(
  name: string,
  options?: {
    body?: unknown
    method?: string
    path?: string
    headers?: Record<string, string>
    signal?: AbortSignal
    timeout?: number
    responseType?: 'json' | 'text' | 'blob' | 'arrayBuffer'
  },
): Promise<AuraResponse<T>>
OpçãoPadrão
bodynenhumSerializável em JSON. Um Blob, ArrayBuffer, array digitado, FormData, URLSearchParams ou ReadableStream retorna o erro invalid_body sem qualquer solicitação.
method'POST'O método que a função vê
path'/'O caminho que a função vê
headersnenhumCabeçalhos dados à função. authorization, apikey, x-request-id e x-aura-* são descartados pela plataforma.
timeoutpadrão do cliente, 30 sMilissegundos. Cancela a chamada e retorna o código timeout.
signalnenhumSeu próprio AbortSignal. Uma chamada cancelada retorna o código timeout.
responseType'json'Como data é decodificado: um valor analisado, uma string, um Blob ou um ArrayBuffer

name é codificado na URL, portanto, um valor contendo /, ? ou # não pode sair de sua posição. Um nome que contenha tais caracteres simplesmente não é encontrado.

invoke atualiza primeiro uma sessão de usuário expirada, envia o JWT do usuário quando há uma e nunca tenta novamente uma chamada.

Como usar: Invoque uma função. Como falha: Erros, tempos limites e novas tentativas.

#
Gerenciar

3. liste e obtenha

signaturestypescript
list(): Promise<AuraResponse<FunctionDef[]>>
get(nameOrId: string): Promise<AuraResponse<FunctionDef>>

Ambos precisam de uma chave service_role. get aceita o nome ou o id ; se uma função for nomeada como um id, o nome vence. Um FunctionDef contém o código fonte e as variáveis ​​da função, por isso uma chave pública recebe 403.

Não há método para implantar, atualizar ou excluir uma função ou para escrever segredos: use a HTTP API ou a CLI.

#
Plano de fundo

4. Empregos

signaturestypescript
enqueueJob(
  functionName: string,
  options?: { payload?: unknown; delaySecs?: number; maxAttempts?: number },
): Promise<AuraResponse<Job>>

listJobs(options?: { status?: string; limit?: number }): Promise<AuraResponse<Job[]>>
getJob(jobId: string): Promise<AuraResponse<Job>>
  • enqueueJob retorna { code: 'bad_request', status: 400 } sem qualquer solicitação quando functionName está vazio ou apenas espaços, e corta o nome caso contrário.
  • listJobs filtra status (pending, running, completed, failed, dead) e retorna entre 1 e 500 trabalhos, 50 por padrão.
  • A repetição de trabalhos inativos não tem método: consulte a fila de mensagens mortas .
#
Cronograma

5. Cron

signaturestypescript
listCronJobs(): Promise<AuraResponse<CronJob[]>>
createCronJob(
  name: string,
  schedule: string,
  functionName: string,
  options?: { payload?: unknown },
): Promise<AuraResponse<CronJob>>
deleteCronJob(name: string): Promise<AuraResponse<null>>

schedule possui 5 ou 6 campos, em UTC. deleteCronJob pega o nome e retorna 404 para um nome desconhecido. Não há getCronJob ou updateCronJob.

#
Referência

6. Tipos e erros

Exportado por @aurabase/aurabase-js e @aurabase/functions:

importstypescript
import {
  FunctionsHttpError,
  FunctionsRelayError,
  isRelayStatus,
  type FunctionsResponseType,
} from '@aurabase/aurabase-js'
ExportarO que é isso
FunctionsHttpErrorSua função (ou rota de gerenciamento) respondeu com um erro. error.context contém o corpo retornado.
FunctionsRelayErrorA plataforma falhou: rede (status 0) ou 502, 503, 504 produzida pelo gateway ou pelo tempo de execução.
isRelayStatus(status)true para 0, 502, 503, 504.
FunctionsResponseType`'json' \

Ambas as classes de erro estendem AuraError, então isAuraError(error) é verdadeiro. AuraError tem status, code, message, details, retryAfter, e os getters isNotFound, isUnauthorized, isForbidden e isRateLimited.

Tipos de dados, exportados por @aurabase/aurabase-js:

TipoCampos
FunctionDefid, project_id, name, runtime, code, code_hash, env_vars, permissions, is_active, created_at, updated_at
FunctionPermissionsallow_net: string[], memory_mb: number, timeout_secs: number
Jobid, project_id, function_name, status, payload, attempts, max_attempts, error?, scheduled_at, started_at?, created_at, completed_at?
CronJobid, project_id, name, schedule, function_name, payload, is_active, last_run?, next_run?, created_at
AuraResponse<T>{ data, error, meta? }
Propriedades compatíveis com versões anteriores

Quando uma função retorna um objeto JSON, data também carrega duas propriedades não enumeráveis, body e status, mantidas para código escrito em versões mais antigas. Não confie neles em novos códigos.

Última atualização · 12 de out. de 2026