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.

Acessando serviços de plataforma

Ativos, buckets, filas e processos do Orchestrator disponíveis para uma função JavaScript por meio do UiPath TypeScript SDK, com a escolha entre identidade delegada e de função.

As funções JavaScript alcançam recursos de plataforma por meio do UiPath TypeScript SDK. Nada está codificado no pacote: as coordenadas vêm de ctx.platform e o token de uma das duas identidades fornecidas pelo runtime.

import { UiPath } from "@uipath/uipath-typescript/core";
import { Assets } from "@uipath/uipath-typescript/assets";

const { baseUrl, orgId, tenantId } = ctx.platform;
const sdk = new UiPath({
  baseUrl,
  orgName: orgId,
  tenantName: tenantId,
  secret: ctx.user.accessToken,   // or ctx.robot.accessToken
});
import { UiPath } from "@uipath/uipath-typescript/core";
import { Assets } from "@uipath/uipath-typescript/assets";

const { baseUrl, orgId, tenantId } = ctx.platform;
const sdk = new UiPath({
  baseUrl,
  orgName: orgId,
  tenantName: tenantId,
  secret: ctx.user.accessToken,   // or ctx.robot.accessToken
});

@uipath/uipath-typescript pertence a dependencies, não a devDependencies: a função implantada instala apenas dependências de produção.

Escolhendo a identidade​

PadrãoTokenQuem precisa de acesso à pasta
Delegadoctx.user.accessTokenO usuário que está chamando precisa de Assets.View na pasta
Identidade da funçãoctx.robot.accessTokenApenas a conta de serviço da função; o chamador não precisa de nada

Delegado é a escolha padrão: as próprias permissões do chamador se aplicam, portanto, a função não pode ser usada para ver mais do que o chamador tem direito. A própria identidade da função é para recursos que devem ficar fora do alcance do chamador — uma credencial em uma pasta restrita que apenas a função pode ler.

Nesse caso, o que o manipulador busca deve ser restrito. Um back-end privilegiado que lê um nome de recurso fornecido pelo chamador entregará qualquer coisa que sua identidade possa ver:

const READABLE = new Set(["PartnerApiCredential"]);

if (!READABLE.has(input.assetName)) {
  throw new FunctionError(`"${input.assetName}" is not readable by this function.`, 403);
}
const READABLE = new Set(["PartnerApiCredential"]);

if (!READABLE.has(input.assetName)) {
  throw new FunctionError(`"${input.assetName}" is not readable by this function.`, 403);
}

Ativos​

const response = await new Assets(sdk).getAll({
  filter: `Name eq 'ApiBaseUrl'`,
  folderId: 42,
});
const value = response.items[0]?.value;
const response = await new Assets(sdk).getAll({
  filter: `Name eq 'ApiBaseUrl'`,
  folderId: 42,
});
const value = response.items[0]?.value;

folderId é necessário: sem ele a chamada retorna metadados com valores vazios.

folderId o ID numérico da pasta, não sua chave. Uma chave de pasta é um GUID, e passar um onde o ID numérico pertence é rejeitado como um erro de permissões em vez de um identificador incorreto, que faz você procurar no lugar errado. ctx.platform.folderKey fornece a chave da invocação atual; resolver o ID numérico dele quando uma chamada precisar de um.

Observação:

O nome de usuário e a senha de um ativo Credential não são retornados por esses endpoints, para qualquer token. A leitura de um requer a própria identidade da função e a rota de execução do robô, que precisa de ctx.robot.key — portanto, funciona apenas em uma execução implantada. Consulte Chamada do Orchestrator.

Para um ativo secreto , o valor chega no campo SecretValue . StringValue, o campo que carrega o valor de um ativo de Texto, está vazio para um segredo. A leitura parece uma funcionalidade quebrada em vez do campo errado.

Um ativo também tem uma configuração AllowDirectApiAccess que torna seu valor legível com o próprio token do chamador. Ativá-la é uma extensão, não uma etapa de habilitação: a configuração é oculta à identidade, então o valor se torna legível por cada identidade que contém Assets.View na pasta, incluindo um navegador que contém o token do usuário conectado. A própria identidade da função é a escolha mais segura do que habilitar essa configuração.

Outros Serviços​

O mesmo cliente expõe buckets, filas, trabalhos, processos, entidades e conexões do Integration Service. Consulte a referência do SDK para a superfície completa.

Credenciais e segurança​

  • Os segredos residem em ativos do Orchestrator e são lidos no runtime — nunca insira código ou confirme-os para o projeto.
  • O controle de acesso baseado em funções no nível da pasta (RBAC) rege o que cada identidade pode ler. Com o padrão delegado que é o acesso do chamador; com a própria identidade da função, é a da conta de serviço.
  • Retorne um resultado derivados em vez de um segredo sempre que puder e registre a ação, nunca o valor.

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