Gerenciar recursos

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

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.

O exemplo 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:

Resource type 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. É possível implantar o Node.js como aplicativos de destino do back-end do Edge.
Node (node) Arquivos Node.js, incluindo o arquivo Node.js principal, os arquivos de origem relacionados e as dependências do módulo.
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 de API: os recursos estão disponíveis somente para as revisões de proxy de API em que os recursos estão incluídos. Por exemplo, é possível incluir um recurso JavaScript com a revisão 1 de um proxy de API e, em seguida, alterar a 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 apenas ao recurso 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 são disponibilizados para qualquer proxy de API implantado em qualquer ambiente.

Os repositórios estão disponíveis nos seguintes URIs, conforme descrito pela API Resource files e, mais adiante, 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 View Atualizar Excluir
API Interface API Interface API Interface API IU
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

Resolução de nome de recurso

A borda resolve nomes de recursos do escopo mais específico para o mais geral. Os nomes dos recursos são resolvidos "na cadeia", do nível de revisão do proxy de API para o nível do ambiente, até o nível da organização (somente no Edge).

Digamos que você tenha preenchido o mesmo recurso em dois repositórios diferentes: a revisão de proxy da API e o ambiente prod.

Considere o proxy de API configurado com a seguinte política:

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

A referência de política não pode ser resolvida explicitamente para um repositório. O primeiro recurso no escopo mais granular cujo nome corresponde ao nome do recurso na política é resolvido.

Então, quando o proxy da API for implantado no ambiente prod, a política será resolvida para o recurso pathSetter.js com escopo no ambiente.

Quando implantada no ambiente test, a política será resolvida no recurso com escopo de revisão do proxy de API, porque esse recurso está no ambiente prod, não no ambiente 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, você faz isso com o elemento <ResourceURL> na configuração TargetEndpoint do proxy de API, conforme descrito em Como adicionar Node.js a um proxy de API atual. 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, basta adicionar o recurso Node.js à seção "Scripts". O mesmo acontece com o uso da API (import e atualização) para armazenar o recurso no escopo de revisão do proxy de API.

Gerenciar recursos usando a interface

Gerencie recursos com escopo para uma revisão de proxy de 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 de API:

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

  2. Selecione Desenvolver > Proxies de API 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 interface

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 interface

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 interface

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 para uma revisão do proxy de API, ambiente ou organização (somente 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 da resposta de uma das chamadas 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.

Também é possível usar a API Update da API proxy de revisão, 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 transmitindo 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, envie 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 do arquivo de recurso. Consulte Tipos de recurso.
  • 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

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

Por exemplo, para consultar os recursos de 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 de resposta.

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

Visualizar 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.

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

Por exemplo, para exibir 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 para uma revisão de proxy de API, ambiente ou organização (somente 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 da resposta de uma das chamadas 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.

Também é possível usar a API Update da API proxy de revisão, da seguinte maneira:

  1. Faça o download do pacote de configuração do proxy de API usando a API Export API 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 Update API proxy revisão

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 transmitindo o conteúdo dele 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, envie 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 o recurso com escopo para uma revisão do 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 da API Giving:

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 de resposta.

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

Também é possível usar a API Update da API proxy de revisão, da seguinte maneira:

  1. Faça o download do pacote de configuração do proxy de API usando a API Export API 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 revisão

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, envie 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 de resposta.

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

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

Para excluir um recurso com escopo para uma organização usando a API, envie 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 recurso 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.