UiPath Documentation
functions
latest
false
Guia do usuário de funções
  • Visão geral
    • Sobre funções
  • Funções do JavaScript
    • Introdução
    • Como criar funções do JavaScript
    • Gatilhos HTTP e roteamento
    • Contexto da função
    • Acessando serviços de plataforma
    • Teste e depuração
  • Funções do Python
  • Implantar e executar
Importante :
Este conteúdo foi traduzido com auxílio de tradução automática. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Contexto da função

As identidades, as coordenadas da plataforma e os dados de solicitação que o runtime passa para cada manipulador de funções do JavaScript.

Cada manipulador recebe um objeto de contexto como seu segundo argumento. Carrega quem chama a função, a própria identidade de plataforma da função e para onde enviar chamadas de plataforma de saída — então, nada disso precisa ser passado como entrada.

handler: async (input, ctx) => {
  ctx.user?.accessToken     // the caller's OAuth token
  ctx.user?.sub             // the caller's user id
  ctx.robot?.accessToken    // the function's own platform token
  ctx.robot?.key            // the serverless robot key
  ctx.platform?.baseUrl     // e.g. "https://cloud.uipath.com"
  ctx.platform?.orgId       // organization id
  ctx.platform?.tenantId    // tenant id
  ctx.platform?.folderKey   // folder of the invocation, if any
  ctx.params                // path parameters, as strings
  ctx.headers               // request headers, lowercase keys
}
handler: async (input, ctx) => {
  ctx.user?.accessToken     // the caller's OAuth token
  ctx.user?.sub             // the caller's user id
  ctx.robot?.accessToken    // the function's own platform token
  ctx.robot?.key            // the serverless robot key
  ctx.platform?.baseUrl     // e.g. "https://cloud.uipath.com"
  ctx.platform?.orgId       // organization id
  ctx.platform?.tenantId    // tenant id
  ctx.platform?.folderKey   // folder of the invocation, if any
  ctx.params                // path parameters, as strings
  ctx.headers               // request headers, lowercase keys
}

Duas identidades​

Uma função recebe duas identidades por invocação, e a escolha entre elas é uma decisão de segurança.

ctx.userctx.robot
De quem éO chamador que invocou a funçãoA identidade de plataforma da própria função
Permissões que se aplicamO próprio do chamadorA conta de serviço da função
Use-o paraAtuando em nome do usuário conectadoRecursos de leitura que o chamador não deve acessar diretamente

ctx.user.accessToken aplica-se quando o chamador deve ver apenas o que suas próprias permissões permitem. ctx.robot.accessToken aplica-se quando a função deve alcançar algo que o chamador não pode — uma credencial em uma pasta restrita, por exemplo. Consulte Acesso a serviços de plataforma.

Observação:

ctx.robot é a identidade mais privilegiada. Um manipulador que lê qualquer nome de recurso que chega à solicitação está atuando como um substituto para a solicitação do chamador com os próprios privilégios da função. A busca deve ser restrita a um conjunto fixo no código.

Coordenadas de plataforma​

ctx.platform fornece baseUrl, orgId e tenantId para chamadas de plataforma de saída. Eles vêm do runtime, nunca do chamador, portanto, uma solicitação não pode redirecionar para onde a função envia seu tráfego e nunca devem ser aceitos como campos de entrada.

É tudo ou nada: ctx.platform é null, a menos que todos os três estejam disponíveis. folderKey pode ser null sozinho, para uma invocação sem pasta.

O que está disponível onde​

Gatilho HTTPTarefaLocal serve
ctx.userA identidade do chamadorSem identidade de chamadorPresente quando a solicitação carrega um token de portador
ctx.robotSimSimnull
ctx.platformSimSimApenas com UIPATH_BASE_URL, UIPATH_ORG_ID e UIPATH_TENANT_ID definidos
ctx.params, ctx.headersSimVazio — não há solicitação HTTPSim

Como ctx.robot é null localmente, o código que precisa de um token de plataforma deve retornar a uma variável de ambiente para desenvolvimento local:

const token = ctx.robot?.accessToken || process.env["UIPATH_ACCESS_TOKEN"] || "";
const token = ctx.robot?.accessToken || process.env["UIPATH_ACCESS_TOKEN"] || "";

Próximas Etapas​

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades