Gerenciar recursos

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

Entenda e gerencie os recursos, conforme descrito nas seções a seguir.

Sobre os recursos

Muitos tipos de política dependem de recursos. Recursos são os arquivos que implementam o código ou a configuração a serem executados por uma política quando anexados a um proxy da API. Em alguns casos, assim como com JavaScript e JavaCallout, uma política simplesmente define um ponto de anexo em um proxy de API em que algum código é executado. A política JavaScript ou JavaCallout é um indicador para um recurso.

A amostra de JavaScript a seguir define o caminho da solicitação HTTP para o valor da variável proxy.basepath.

request.headers["RequestPath"] = context.getVariable("proxy.basepath");

Tipos de recurso

A tabela a seguir resume os tipos de recursos:

Tipo de recurso Descrição
JAR (java) Classes Java em um arquivo JAR referenciado pelas políticas JavaCallout.
JavaScript (js) JavaScript referenciado pelas políticas de JavaScript.
JavaScript (jsc) JavaScript compilado referenciado pelas políticas de JavaScript.
Hosted target (hosted) Arquivos Node.js a serem implantados em Destinos hospedados. Você pode implantar o Node.js como aplicativos de destino de back-end de borda.
Node (node) Arquivos Node.js, incluindo o arquivo Node.js principal, arquivos de origem relacionados, e dependências de módulos.
Python (py) Scripts Python referenciados por políticas do PythonScript. É preciso implementar os recursos em "Python puro" (somente na linguagem Python).
WSDL (wsdl) Arquivos SOAP referenciados pelas políticas de SOAPMessageValidation.
XSD (xsd) Esquemas XML referenciados pelas políticas de SOAPMessageValidation.
XSL Transformations (xsl) Transformações de GQL referenciadas pelas políticas de XSLTransform.

Onde os recursos são armazenados

Os recursos podem ser armazenados em um destes três locais:

  • Revisão de proxy da API: os recursos estão disponíveis somente para as revisões de proxy da API em que os recursos estão incluídos. Por exemplo: inclua um recurso JavaScript com a revisão 1 de um proxy de API e altere implementação para usar um script Python na revisão 2 do proxy. A Revisão 1 tem acesso apenas ao recurso JavaScript, e a revisão 2 tem acesso somente ao recurso do Python.
  • Ambiente: quando armazenados em um ambiente (por exemplo, test ou prod), os recursos estão disponíveis para qualquer proxy da API implantado no mesmo ambiente.
  • Organização: quando armazenados em uma organização, os recursos ficam disponíveis para proxy de API implantado em qualquer ambiente.

Os repositórios estão disponíveis nos seguintes URIs, conforme descrito pela API Resource Files e posteriormente em Gerenciar recursos usando a API:

  • Organização: /organizations/{org}/resourcefiles
  • Ambiente: /organizations/{org}/environments/{env}/resourcefiles
  • Proxy da API: /organizations/{org}/apis/{api}/revisions/{rev}/resources

A tabela a seguir mostra os métodos que podem ser usados para criar, atualizar e excluir recursos para cada repositório:

Repositório Criar Ver Atualizar Excluir
API Interface API Interface API Interface API Interface
Revisão do proxy de API
Ambiente
Organização

Por exemplo, todos os arquivos JavaScript disponíveis para o ambiente test são armazenados no seguinte repositório e estão disponíveis para qualquer proxy de API em execução no ambiente test:

/organizations/{org}/environments/test/resourcefiles/jsc

Quando implantada no ambiente test, a política será resolvida para o recurso com escopo de revisão de proxy de API, porque o recurso com escopo no ambiente está no ambiente prod, não no test.

Diretrizes de recursos Java

É possível adicionar recursos Java compilados como arquivos JAR usando várias opções em curl, como -T, --data-binary ou -F (não a opção -d). Exemplo:

curl "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java" \
  -X POST \
  --data-binary @{jar_file} \
  -H "Content-Type: application/octet-stream" \
  -u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
  -X POST \
  -H "Content-Type: application/octet-stream" \
  -T "{jar_file}" \
  -u email:password
curl -v "http://{mgmt_server}:{port}/v1/organizations/{org}/environments/{env}/resourcefiles?name={jar_file}&type=java"
  -X POST \
  -H "Content-Type: application/multipart/form-data" \
  -F "file=@{jar_file}" \
  -u email:password

Consulte também:

Diretrizes de recursos do Node.js

Ao referenciar um script Node.js em um proxy de API, use o comando <ResourceURL> na configuração TargetEndpoint do proxy de API, conforme descrito em Como adicionar Node.js a uma API existente proxy. Exemplo:

<ScriptTarget>
    <ResourceURL>node://hello-world.js</ResourceURL>
</ScriptTarget>

Esse script Node.js e todos os módulos de suporte precisam residir no escopo de revisão do proxy de API. (no diretório /resources/node do pacote de proxy). No editor de proxy de API, adicionar o recurso Node.js para a seção Scripts faz isso. O mesmo acontece se você usar a API (import e atualizar) para armazenar o recurso no escopo de revisão do proxy de API.

Gerenciar recursos usando a IU

Gerencie os recursos definidos para uma revisão do proxy da API usando a IU, conforme descrito nas seções a seguir.

Visualizar recursos usando a IU

Para ver os recursos com escopo para uma revisão de proxy da API:

  1. Faça login em apigee.com/edge.

  2. Selecione Develop > API Proxies na barra de navegação à esquerda.
  3. Selecione um proxy de API na lista para a qual você quer criar um recurso.
    O editor de proxy da API é aberto e a guia "Visão geral" é exibida por padrão.
  4. Clique na guia Desenvolver.
  5. Selecione a revisão no menu suspenso Revisão, se necessário.

    Os recursos com escopo para a revisão de proxy da API estão listados na seção Recursos na visualização "Navigator".

Criar um recurso usando a IU

Para criar recursos com escopo para uma revisão de proxy da API usando a IU:

  1. Veja os recursos com escopo para a revisão de proxy da API.
  2. Clique em + na seção "Recursos" na visualização do navegador para abrir a caixa de diálogo "Novo recurso".
  3. Digite o seguinte:
    Campo Descrição
    Origem Selecione para criar um novo arquivo ou importar um arquivo.
    Tipo de arquivo Selecione um tipo de recurso na lista suspensa.
    Nome do arquivo Nome do arquivo. A extensão de nome de arquivo precisa ser válida para o tipo de arquivo selecionado.

Atualizar um recurso usando a IU

Para atualizar um recurso com escopo para uma revisão de proxy da API usando a IU:

  1. Veja os recursos com escopo para a revisão de proxy da API.
  2. Na visualização "Navegador" em "Recursos", clique no recurso que você quer atualizar.
    Observação: para arquivos JAR, posicione o cursor sobre o recurso que você quer editar e clique em .
  3. Atualize o recurso conforme necessário.
    Observação:depois de fazer upload de um novo arquivo JAR, clique em Atualizar.

Excluir um recurso usando a IU

Para processar um recurso com escopo para uma revisão de proxy da API usando a IU:

  1. Veja os recursos com escopo para a revisão de proxy da API.
  2. Na visualização "Navegador" em "Recursos", posicione o cursor sobre o recurso que você quer excluir para exibir o menu de ações.
  3. Clique em .
  4. Clique em Excluir para confirmar a ação.

Gerenciar recursos usando a API

Gerencie recursos usando a API, conforme descrito nas seções a seguir.

Criar recursos usando a API

Crie recursos com escopo de revisão de proxy de API, ambiente ou organização (somente no Edge), conforme descrito nas seções a seguir.

Criar recursos com escopo para uma revisão de proxy de API usando a API

Crie um recurso com escopo para uma revisão de proxy de API usando a API emitindo uma solicitação POST para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles

Transmita as seguintes informações com a solicitação:

  • Defina o parâmetro de consulta name como o nome do recurso
  • Definir o parâmetro de consulta type como o tipo de recurso necessário
  • Transmita o conteúdo do arquivo de recursos como application/octet-stream ou multipart/form-data.
.

O exemplo a seguir cria um arquivo JavaScript chamado pathSetter.js para a revisão 1 do proxy de API helloworld:

curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

O exemplo a seguir mostra como fazer upload do recurso como um arquivo da máquina local. É importante usar -F para o upload binário em curl para que os arquivos JavaScript no escopo do ambiente ou da organização sejam acessíveis pela política JavaScript.

curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Veja a seguir um exemplo de resposta de qualquer chamada de API.

{
  "name": "pathSetter.js",
  "type": "jsc"
}

Para mais informações, consulte Importar um arquivo de recursos para uma revisão de proxy de API.

Como alternativa, você pode usar a API de revisão do proxy da API Update da seguinte maneira:

  1. Crie o arquivo de recursos.
  2. Adicione o arquivo de recursos a um pacote de configuração de proxy da API.
  3. Faça upload do pacote usando uma das seguintes APIs:

Criar recursos com escopo para um ambiente usando a API

Crie um recurso JavaScript com escopo para um ambiente que usa a API emitindo uma solicitação POST para o seguinte recurso: /organizations/{org}/environments/{env}/resourcefiles

Transmita as seguintes informações com a solicitação:

  • Defina o parâmetro de consulta name como o nome do recurso
  • Definir o parâmetro de consulta type como o tipo de recurso necessário
  • Transmita o conteúdo do arquivo de recursos como application/octet-stream ou multipart/form-data.

O exemplo a seguir mostra como criar um recurso JavaScript passando o conteúdo dele no corpo da solicitação.

curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

O exemplo a seguir mostra como fazer upload do recurso como um arquivo da máquina local. É importante usar -F para o upload binário em curl para que os arquivos JavaScript no escopo do ambiente ou da organização sejam acessíveis pela política JavaScript.

curl -X POST https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Veja a seguir um exemplo de resposta:

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Criar recursos com escopo para a organização usando a API

Para criar um recurso com escopo para uma organização usando a API, emita uma solicitação POST para o seguinte recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles

Transmita as seguintes informações com a solicitação:

  • Defina o parâmetro de consulta name como o nome do recurso
  • Defina o parâmetro de consulta type como o tipo de arquivo de recursos (consulte Tipos de recursos).
  • Transmita o conteúdo do arquivo de recursos como application/octet-stream ou multipart/form-data.

Para mais informações, consulte Importar um arquivo de recursos para uma organização.

Ver recursos usando a API

As seções a seguir descrevem como visualizar recursos usando a API.

Ver todos os recursos usando a API

Usando a API, é possível conferir recursos com escopo para uma revisão de proxy de API, um ambiente ou uma organização.

Por exemplo, para ver os recursos com escopo para o ambiente usando a API, emita uma solicitação GET para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles

O exemplo a seguir lista todos os recursos no ambiente test:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/{type}" \
  -u email:password

Veja a seguir um exemplo da resposta.

{
  "resourceFile": [
{
  "name" : "pathSetter.js",
  "type" : "jsc"
}
  ]
}

Ver o conteúdo de um recurso usando a API

Veja o conteúdo de um recurso usando a API, conforme descrito nas seções a seguir.

Usando a API, é possível conferir recursos com escopo para uma revisão de proxy de API, um ambiente ou uma organização.

Por exemplo, para visualizar o conteúdo de um recurso em um ambiente usando a API, emita uma solicitação GET para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/name

O exemplo a seguir lista o conteúdo do arquivo de recurso JavaScript pathSetter.js no ambiente test:

curl -X GET https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js" \
  -H "Accept: application/json" \
  -u email:password

Veja a seguir um exemplo de resposta:

request.headers["RequestPath"] = context.getVariable("proxy.basepath");

Atualizar recursos usando a API

Atualize os recursos com escopo definido para uma revisão do proxy da API, ambiente ou organização (somente no Edge), conforme descrito nas seções a seguir.

Atualizar recursos com escopo para uma revisão de proxy de API usando a API

Atualize um recurso com escopo para uma revisão de proxy de API usando a API emitindo uma solicitação PUT para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

Transmita o conteúdo do arquivo de recursos como application/octet-stream ou multipart/form-data.

O exemplo a seguir atualiza o recurso JavaScript chamado pathSetter para a revisão 1 do proxy de API helloworld:

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

O exemplo a seguir mostra como atualizar o recurso como um arquivo da máquina local. É importante usar -F para o upload binário em curl para que os arquivos JavaScript no escopo do ambiente ou da organização sejam acessíveis pela política JavaScript.

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Veja a seguir um exemplo de resposta de qualquer chamada de API.

{
  "name": "pathSetter.js",
  "type": "jsc"
}

Para mais informações, consulte Importar um arquivo de recursos para uma revisão de proxy de API.

Como alternativa, você pode usar a API de revisão do proxy da API Update da seguinte maneira:

  1. Faça o download do pacote de configuração do proxy de API usando a API Export API do proxy com as seguintes opções:
    • Defina o parâmetro de consulta format como bundle.
    • Defina o cabeçalho Accept como application/zip.
  2. Atualize o arquivo de recurso no pacote de configuração do proxy da API.
  3. Faça upload do pacote usando a API de revisão do proxy da API Update.

Atualizar recursos com escopo para um ambiente usando a API

Atualize um recurso com escopo para um ambiente que usa a API emitindo uma solicitação PUT para o seguinte recurso: /organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

Transmita o conteúdo do arquivo de recurso como application/octet-stream ou multipart/form-data.

O exemplo a seguir mostra como atualizar um recurso JavaScript passando o conteúdo no corpo da solicitação.

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Content-type:application/octet-stream" \
  -d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");' \
  -u email:password

O exemplo a seguir mostra como atualizar o arquivo de recurso usando um arquivo da sua máquina local. É importante usar -F para o upload binário em curl para que os arquivos JavaScript no escopo do ambiente ou da organização sejam acessíveis pela política JavaScript.

curl -X PUT https://api.enterprise.apigee.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
  -H "Content-type:multipart/form-data" \
  -F file=@pathSetter.js \
  -u email:password

Veja a seguir um exemplo de resposta:

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Atualizar recursos com escopo para a organização usando a API

Para atualizar um recurso com escopo para uma organização usando a API, emita uma solicitação POST para o seguinte recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Transmita o conteúdo do arquivo de recursos como application/octet-stream ou multipart/form-data.

Para mais informações, consulte Importar um arquivo de recursos para uma organização,

Excluir recursos usando a API

Exclua um recurso com escopo para uma revisão de proxy de API, um ambiente ou uma organização (somente no Edge), conforme descrito nas seções a seguir.

Excluir recursos com escopo para uma revisão de proxy de API usando a API

Para excluir um recurso com escopo para uma revisão de proxy de API usando a API, emita uma solicitação DELETE para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/apis/{api}/revisions/{rev}/resourcefiles/{type}/{name}

O exemplo a seguir exclui o arquivo de recurso JavaScript pathSetter.js da revisão 1 do proxy de API helloworld:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/apis/helloworld/revisions/1/resourcefiles/jsc/pathSetter.js" \
  -u email:password
  

Veja a seguir um exemplo da resposta.

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Como alternativa, use a API Update API proxy revision da seguinte maneira:

  1. Faça o download do pacote de configuração do proxy de API usando a API Export API do proxy com as seguintes opções:
    • Defina o parâmetro de consulta format como bundle.
    • Defina o cabeçalho Accept como application/zip.
  2. Exclua o arquivo de recursos do pacote de configuração de proxy da API.
  3. Faça upload do pacote usando a API Update API proxy revision.

Excluir um recurso com escopo para um ambiente usando a API

Exclua um recurso com escopo para um ambiente usando a API, conforme descrito nas seções a seguir.

Para excluir um recurso com escopo para um ambiente usando a API, emita uma solicitação DELETE para o seguinte recurso: https://api.enterprise.apigee.com/v1/organizations/{org}/environments/{env}/resourcefiles/{type}/{name}

No exemplo a seguir, o arquivo de recurso JavaScript pathSetter.js é excluído do ambiente test:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js" \
  -u email:password

Veja a seguir um exemplo da resposta.

{
  "name" : "pathSetter.js",
  "type" : "jsc"
}

Excluir recursos com escopo para a organização usando a API (somente Edge)

Para excluir um recurso com escopo para uma organização usando a API, emita uma solicitação DELETE para o seguinte recurso: https://api.enterprise.apigee.comv1/organizations/{org}/resourcefiles/{type}/{name}

Para mais informações, consulte Excluir um arquivo de recursos de uma organização.

Acessar o recurso

A forma como você acessa o recurso depende do tipo de recurso. Para mais informações, consulte a documentação da política relevante.

Os exemplos nesta seção demonstram como criar e gerenciar um recurso JavaScript chamado pathSetter.js para permitir que ele seja referenciado pelas políticas do tipo JavaScript.

Para anexar o JavaScript ao PostFlow de solicitação, crie uma política chamada PathSetterPolicy.xml que faça referência ao arquivo pathSetter.js:

<Javascript name='PathSetterPolicy' timeLimit='200'>
    <ResourceURL>jsc://pathSetter.js</ResourceURL>
</Javascript>

Em seguida, faça referência à política na configuração do endpoint:

<PostFlow>
  <Request>
    <Step><Name>PathSetterPolicy</Name></Step>
  </Request>
<PostFlow>

Para mais informações, consulte a política de JavaScript.