Pular para o conteúdo

Functions

Functions: criar, implantar, executar e acompanhar execuções.

Classe Functions: 24 métodos (3 no @owbase/web, 24 no @owbase/node). Os exemplos usam a forma de objeto dos parâmetros; troque os valores entre < e > pelos seus.

Listar functions

SDK: só @owbase/node

Obtém a lista de todas as functions do projeto. Use os parâmetros de consulta para filtrar os resultados.

Parâmetro Tipo Obrigatório Descrição
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: name, enabled, runtime, deploymentId, schedule, scheduleNext, schedulePrevious, timeout, entrypoint, commands, installationId
search string não Termo de busca para filtrar a lista. Tamanho máximo: 256 caracteres.
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.list({
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});

Criar function

SDK: só @owbase/node

Cria uma function. Você pode passar uma lista de permissões para que usuários ou times do projeto possam executar a function pela API de cliente.

O deploy é só por upload: os parâmetros de repositório Git ficam de fora (veja Empacotar e enviar o código).

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
name string sim Nome da function. Tamanho máximo: 128 caracteres.
runtime Runtime sim Runtime de execução. Valores: node-22 (só Node 22 no Owbase).
execute string[] não Lista de papéis em texto com permissão de execução. Por padrão, nenhum usuário recebe permissão de execução. Saiba mais sobre papéis. No máximo 100 papéis, cada um com até 64 caracteres.
events string[] não Lista de eventos. No máximo 100 eventos.
schedule string não Agendamento na sintaxe CRON.
timeout number não Tempo máximo de execução da function, em segundos.
enabled boolean não A function está ativa? Com false, os usuários não acessam a function, mas os SDKs de servidor com chave de API ainda podem acessá-la. Nenhum dado se perde ao alternar essa opção.
logging boolean não Quando desligado, as execuções não guardam logs nem erros e ficam um pouco mais rápidas.
entrypoint string não Arquivo de entrada. O caminho é relativo à raiz do pacote enviado.
commands string não Comandos de build.
scopes ProjectKeyScopes[] não Lista de escopos permitidos para a chave de API gerada automaticamente em cada execução. No máximo 200 escopos. Valores: project.read, project.write, usage.read, keys.read, keys.write, platforms.read, platforms.write, mocks.read, mocks.write, policies.read, policies.write, project.policies.read, project.policies.write, project.oauth2.read, project.oauth2.write, templates.read, templates.write, stages.read, stages.write, users.read, users.write, sessions.read, sessions.write, teams.read, teams.write, databases.read, databases.write, tables.read, tables.write, columns.read, columns.write, indexes.read, indexes.write, rows.read, rows.write, embeddings.write, collections.read, collections.write, attributes.read, attributes.write, documents.read, documents.write, documentsdb.read, documentsdb.write, documentsdb.collections.read, documentsdb.collections.write, documentsdb.documents.read, documentsdb.documents.write, documentsdb.indexes.read, documentsdb.indexes.write, vectorsdb.read, vectorsdb.write, vectorsdb.collections.read, vectorsdb.collections.write, vectorsdb.documents.read, vectorsdb.documents.write, vectorsdb.indexes.read, vectorsdb.indexes.write, buckets.read, buckets.write, files.read, files.write, tokens.read, tokens.write, functions.read, functions.write, executions.read, executions.write, execution.read, execution.write, sites.read, sites.write, log.read, log.write, providers.read, providers.write, topics.read, topics.write, subscribers.read, subscribers.write, targets.read, targets.write, messages.read, messages.write, rules.read, rules.write, webhooks.read, webhooks.write, locale.read, avatars.read, avatars.write, health.read, assistant.read, migrations.read, migrations.write, schedules.read, schedules.write, vcs.read, vcs.write, insights.read, insights.write, reports.read, reports.write, presences.read, presences.write.
buildSpecification string não Especificação de build dos deploys da function.
runtimeSpecification string não Especificação de runtime das execuções da function.
deploymentRetention number não Dias para manter os deploys inativos antes de excluí-los. Com 0, todos os deploys são mantidos.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions, Runtime, ProjectKeyScopes } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.create({
functionId: '<FUNCTION_ID>',
name: '<NAME>',
runtime: Runtime.Node22,
execute: ['any'], // opcional
events: [], // opcional
schedule: '0 0 * * *', // opcional
timeout: 1, // opcional
enabled: false, // opcional
logging: false, // opcional
entrypoint: '<ENTRYPOINT>', // opcional
commands: '<COMMANDS>', // opcional
scopes: [ProjectKeyScopes.ProjectRead], // opcional
buildSpecification: 's-1vcpu-512mb', // opcional
runtimeSpecification: 's-1vcpu-512mb', // opcional
deploymentRetention: 0, // opcional
});

Listar runtimes

SDK: só @owbase/node

Obtém a lista de todos os runtimes ativos na sua instância.

Parâmetro Tipo Obrigatório Descrição
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API sem escopo específico.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.listRuntimes({
total: false, // opcional
});

Listar especificações

SDK: só @owbase/node

Lista as especificações de function permitidas nesta instância.

Parâmetro Tipo Obrigatório Descrição
type string não Tipo de especificação a listar. Pode ser: runtimes, builds. O padrão é runtimes.
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.listSpecifications({
type: 'runtimes', // opcional
total: false, // opcional
});

Obter function

SDK: só @owbase/node

Obtém uma function pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.get({
functionId: '<FUNCTION_ID>',
});

Atualizar function

SDK: só @owbase/node

Atualiza uma function pelo ID.

O deploy é só por upload: os parâmetros de repositório Git ficam de fora (veja Empacotar e enviar o código).

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
name string sim Nome da function. Tamanho máximo: 128 caracteres.
runtime Runtime não Runtime de execução. Valores: node-22 (só Node 22 no Owbase).
execute string[] não Lista de papéis em texto com permissão de execução. Por padrão, nenhum usuário recebe permissão de execução. Saiba mais sobre papéis. No máximo 100 papéis, cada um com até 64 caracteres.
events string[] não Lista de eventos. No máximo 100 eventos.
schedule string não Agendamento na sintaxe CRON.
timeout number não Tempo máximo de execução, em segundos.
enabled boolean não A function está ativa? Com false, os usuários não acessam a function, mas os SDKs de servidor com chave de API ainda podem acessá-la. Nenhum dado se perde ao alternar essa opção.
logging boolean não Quando desligado, as execuções não guardam logs nem erros e ficam um pouco mais rápidas.
entrypoint string não Arquivo de entrada. O caminho é relativo à raiz do pacote enviado.
commands string não Comandos de build.
scopes ProjectKeyScopes[] não Lista de escopos permitidos para a chave de API gerada automaticamente em cada execução. No máximo 200 escopos. Valores: project.read, project.write, usage.read, keys.read, keys.write, platforms.read, platforms.write, mocks.read, mocks.write, policies.read, policies.write, project.policies.read, project.policies.write, project.oauth2.read, project.oauth2.write, templates.read, templates.write, stages.read, stages.write, users.read, users.write, sessions.read, sessions.write, teams.read, teams.write, databases.read, databases.write, tables.read, tables.write, columns.read, columns.write, indexes.read, indexes.write, rows.read, rows.write, embeddings.write, collections.read, collections.write, attributes.read, attributes.write, documents.read, documents.write, documentsdb.read, documentsdb.write, documentsdb.collections.read, documentsdb.collections.write, documentsdb.documents.read, documentsdb.documents.write, documentsdb.indexes.read, documentsdb.indexes.write, vectorsdb.read, vectorsdb.write, vectorsdb.collections.read, vectorsdb.collections.write, vectorsdb.documents.read, vectorsdb.documents.write, vectorsdb.indexes.read, vectorsdb.indexes.write, buckets.read, buckets.write, files.read, files.write, tokens.read, tokens.write, functions.read, functions.write, executions.read, executions.write, execution.read, execution.write, sites.read, sites.write, log.read, log.write, providers.read, providers.write, topics.read, topics.write, subscribers.read, subscribers.write, targets.read, targets.write, messages.read, messages.write, rules.read, rules.write, webhooks.read, webhooks.write, locale.read, avatars.read, avatars.write, health.read, assistant.read, migrations.read, migrations.write, schedules.read, schedules.write, vcs.read, vcs.write, insights.read, insights.write, reports.read, reports.write, presences.read, presences.write.
buildSpecification string não Especificação de build dos deploys da function.
runtimeSpecification string não Especificação de runtime das execuções da function.
deploymentRetention number não Dias para manter os deploys inativos antes de excluí-los. Com 0, todos os deploys são mantidos.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions, Runtime, ProjectKeyScopes } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.update({
functionId: '<FUNCTION_ID>',
name: '<NAME>',
runtime: Runtime.Node22, // opcional
execute: ['any'], // opcional
events: [], // opcional
schedule: '0 0 * * *', // opcional
timeout: 1, // opcional
enabled: false, // opcional
logging: false, // opcional
entrypoint: '<ENTRYPOINT>', // opcional
commands: '<COMMANDS>', // opcional
scopes: [ProjectKeyScopes.ProjectRead], // opcional
buildSpecification: 's-1vcpu-512mb', // opcional
runtimeSpecification: 's-1vcpu-512mb', // opcional
deploymentRetention: 0, // opcional
});

Excluir function

SDK: só @owbase/node

Exclui uma function pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.delete({
functionId: '<FUNCTION_ID>',
});

Atualizar deploy da function

SDK: só @owbase/node

Atualiza o deploy ativo da function. Use este endpoint para trocar o deploy de código usado quando um visitante abre a function.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.updateFunctionDeployment({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
});

Listar deploys

SDK: só @owbase/node

Obtém a lista de todos os deploys de código da function. Use os parâmetros de consulta para filtrar os resultados.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: buildSize, sourceSize, totalSize, buildDuration, status, activate, type
search string não Termo de busca para filtrar a lista. Tamanho máximo: 256 caracteres.
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.listDeployments({
functionId: '<FUNCTION_ID>',
queries: [], // opcional
search: '<SEARCH>', // opcional
total: false, // opcional
});

Criar deploy

SDK: só @owbase/node

Cria um deploy de código da function. Use este endpoint para enviar uma nova versão do código da function. Para executar o código recém-enviado, atualize o deploy da function para usar o UID do novo deploy.

Este endpoint aceita um arquivo tar.gz com o seu código compactado. Inclua no arquivo compactado todas as dependências do código. Saiba mais sobre empacotamento de código no tutorial de Functions do Owbase Cloud.

Use o parâmetro “entrypoint” para definir o arquivo de entrada usado para executar o código.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
code File (no node, também InputFile) sim Arquivo gzip com o pacote do código. Com a CLI do Owbase, passe o caminho da pasta do código, e a CLI empacota o código automaticamente. Use um caminho dentro da pasta atual.
activate boolean sim Ativa o deploy automaticamente quando o build terminar.
entrypoint string não Arquivo de entrada.
commands string não Comandos de build.
onProgress (progress: UploadProgress) => void não Callback chamado depois de cada parte enviada, com o progresso do envio ($id, progresso em porcentagem, sizeUploaded, chunksTotal, chunksUploaded).

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
import { InputFile } from '@owbase/node/file';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.createDeployment({
functionId: '<FUNCTION_ID>',
code: InputFile.fromPath('/path/to/file', 'filename'),
activate: false,
entrypoint: '<ENTRYPOINT>', // opcional
commands: '<COMMANDS>', // opcional
});

Criar deploy duplicado

SDK: só @owbase/node

Cria um novo build de um deploy existente da function. Este endpoint refaz o build de um deploy com a configuração atualizada da function, inclusive o ponto de entrada e os comandos de build, se tiverem mudado. O build entra na fila e roda de forma assíncrona. O código do deploy original é mantido e usado no novo build.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.
buildId string não ID único do build.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.createDuplicateDeployment({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
buildId: '<BUILD_ID>', // opcional
});

Obter deploy

SDK: só @owbase/node

Obtém um deploy da function pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.getDeployment({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
});

Excluir deploy

SDK: só @owbase/node

Exclui um deploy de código pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.deleteDeployment({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
});

Obter download do deploy

SDK: só @owbase/node

Obtém o conteúdo de um deploy da function pelo ID. A resposta vem com o header ‘Content-Disposition: attachment’, que faz o navegador baixar o arquivo para a pasta de downloads do usuário.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.
type DeploymentDownloadType não Arquivo do deploy a baixar. Pode ser: “source”, “output”. Valores: source, output.
token string não Token pré-assinado de download do código-fonte, para acessar este deploy sem sessão (jobs-service).

Acesso: chave de API com o escopo functions.read ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/node
import { Client, Functions, DeploymentDownloadType } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.getDeploymentDownload({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
type: DeploymentDownloadType.Source, // opcional
token: '<TOKEN>', // opcional
});

Atualizar status do deploy

SDK: só @owbase/node

Cancela o build em andamento de um deploy da function. Se o build já estiver rodando, ele é interrompido e marcado como cancelado. Se ainda não começou, é marcado como cancelado sem rodar. Não é possível cancelar builds que já terminaram (status ‘ready’) ou falharam. A resposta traz o status final e os detalhes do build.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
deploymentId string sim ID do deploy.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.updateDeploymentStatus({
functionId: '<FUNCTION_ID>',
deploymentId: '<DEPLOYMENT_ID>',
});

Listar execuções

SDK: @owbase/web e @owbase/node

Obtém a lista de todos os logs de execução de functions do usuário atual. Use os parâmetros de consulta para filtrar os resultados.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: trigger, status, responseStatusCode, duration, requestMethod, requestPath, deploymentId
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo executions.read (também aceita execution.read) ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Functions } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const functions = new Functions(client);
const result = await functions.listExecutions({
functionId: '<FUNCTION_ID>',
queries: [], // opcional
total: false, // opcional
});
console.log(result);
@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const functions = new Functions(client);
const result = await functions.listExecutions({
functionId: '<FUNCTION_ID>',
queries: [], // opcional
total: false, // opcional
});

Criar execução

SDK: @owbase/web e @owbase/node

Dispara uma execução da function. O objeto devolvido traz o status atual da execução. Consulte o endpoint Get Execution para acompanhar o status da execução. Depois da chamada a este endpoint, a execução da function começa de forma assíncrona.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
body string não Corpo HTTP da execução. O padrão é texto vazio.
async boolean não Executa o código em segundo plano. O padrão é false.
xpath string não Caminho HTTP da execução. O caminho pode ter parâmetros de consulta. O padrão é /
method ExecutionMethod não Método HTTP da execução. O padrão é POST. Valores: GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD.
headers object não Headers HTTP da execução. O padrão é vazio.
scheduledAt string não Horário agendado da execução, no formato ISO 8601. A data e hora precisa estar no futuro, com precisão de minutos.

Acesso: chave de API com o escopo executions.write (também aceita execution.write) ou sessão do usuário, ou mesmo sem sessão (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Functions, ExecutionMethod } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const functions = new Functions(client);
const result = await functions.createExecution({
functionId: '<FUNCTION_ID>',
body: '<BODY>', // opcional
async: false, // opcional
xpath: '<PATH>', // opcional
method: ExecutionMethod.GET, // opcional
headers: {}, // opcional
scheduledAt: '<SCHEDULED_AT>', // opcional
});
console.log(result);
@owbase/node
import { Client, Functions, ExecutionMethod } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const functions = new Functions(client);
const result = await functions.createExecution({
functionId: '<FUNCTION_ID>',
body: '<BODY>', // opcional
async: false, // opcional
xpath: '<PATH>', // opcional
method: ExecutionMethod.GET, // opcional
headers: {}, // opcional
scheduledAt: '<SCHEDULED_AT>', // opcional
});

Obter execução

SDK: @owbase/web e @owbase/node

Obtém o log de uma execução da function pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
executionId string sim ID da execução.

Acesso: chave de API com o escopo executions.read (também aceita execution.read) ou sessão do usuário (vale o que as permissões do recurso deixam).

@owbase/web
import { Client, Functions } from '@owbase/web';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>'); // ID do projeto
const functions = new Functions(client);
const result = await functions.getExecution({
functionId: '<FUNCTION_ID>',
executionId: '<EXECUTION_ID>',
});
console.log(result);
@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setSession(''); // sessão do usuário
const functions = new Functions(client);
const result = await functions.getExecution({
functionId: '<FUNCTION_ID>',
executionId: '<EXECUTION_ID>',
});

Excluir execução

SDK: só @owbase/node

Exclui uma execução da function pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID da function.
executionId string sim ID da execução.

Acesso: chave de API com o escopo executions.write (também aceita execution.write).

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.deleteExecution({
functionId: '<FUNCTION_ID>',
executionId: '<EXECUTION_ID>',
});

Listar variáveis

SDK: só @owbase/node

Obtém a lista de todas as variáveis de uma function.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID único da function.
queries string[] não Lista de consultas geradas com a classe Query do SDK. Saiba mais sobre consultas. No máximo 100 consultas, cada uma com até 4096 caracteres. É possível filtrar pelos atributos: key, resourceType, resourceId, secret
total boolean não Com false, o total não é calculado e volta como 0.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.listVariables({
functionId: '<FUNCTION_ID>',
queries: [], // opcional
total: false, // opcional
});

Criar variável

SDK: só @owbase/node

Cria uma variável de ambiente da function. A function acessa essas variáveis durante a execução como variáveis de ambiente.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID único da function.
variableId string sim ID da variável. Escolha um ID próprio ou gere um ID aleatório com ID.unique(). Caracteres válidos: a-z, A-Z, 0-9, ponto, hífen e sublinhado. Não pode começar com caractere especial. Tamanho máximo: 36 caracteres.
key string sim Chave da variável. Só letras, dígitos e sublinhado, sem começar por dígito. Tamanho máximo: 255 caracteres.
value string sim Valor da variável. Tamanho máximo: 8192 caracteres.
secret boolean não Variáveis secretas podem ser atualizadas ou excluídas, mas só as functions conseguem lê-las, durante o build e a execução.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.createVariable({
functionId: '<FUNCTION_ID>',
variableId: '<VARIABLE_ID>',
key: '<KEY>',
value: '<VALUE>',
secret: false, // opcional
});

Obter variável

SDK: só @owbase/node

Obtém uma variável pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID único da function.
variableId string sim ID único da variável.

Acesso: chave de API com o escopo functions.read.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.getVariable({
functionId: '<FUNCTION_ID>',
variableId: '<VARIABLE_ID>',
});

Atualizar variável

SDK: só @owbase/node

Atualiza uma variável pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID único da function.
variableId string sim ID único da variável.
key string não Chave da variável. Só letras, dígitos e sublinhado, sem começar por dígito. Tamanho máximo: 255 caracteres.
value string não Valor da variável. Tamanho máximo: 8192 caracteres.
secret boolean não Variáveis secretas podem ser atualizadas ou excluídas, mas só as functions conseguem lê-las, durante o build e a execução.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.updateVariable({
functionId: '<FUNCTION_ID>',
variableId: '<VARIABLE_ID>',
key: '<KEY>', // opcional
value: '<VALUE>', // opcional
secret: false, // opcional
});

Excluir variável

SDK: só @owbase/node

Exclui uma variável pelo ID.

Parâmetro Tipo Obrigatório Descrição
functionId string sim ID único da function.
variableId string sim ID único da variável.

Acesso: chave de API com o escopo functions.write.

@owbase/node
import { Client, Functions } from '@owbase/node';
const client = new Client()
.setEndpoint('https://cloud.owbase.dev/v1') // endpoint da API
.setProject('<YOUR_PROJECT_ID>') // ID do projeto
.setKey('<YOUR_API_KEY>'); // chave de API (só no servidor)
const functions = new Functions(client);
const result = await functions.deleteVariable({
functionId: '<FUNCTION_ID>',
variableId: '<VARIABLE_ID>',
});

As descrições desta página são traduções das que vêm da especificação da API do servidor (licença BSD-3-Clause), e os exemplos vêm do gerador de SDKs (licença MIT). Os avisos completos estão no arquivo NOTICE dos pacotes @owbase/web e @owbase/node.