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
ouprod
), 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:
- Práticas recomendadas do Java: práticas recomendadas para projeto e desenvolvimento de proxy de API
- Exemplo de manual em Java: política de transformação XSL
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:
-
Faça login em apigee.com/edge.
- Selecione Desenvolver > Proxies de API na barra de navegação à esquerda.
- 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. - Clique na guia Desenvolver.
- 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:
- Veja os recursos com escopo para a revisão de proxy da API.
- Clique em + na seção "Recursos" na visualização do navegador para abrir a caixa de diálogo "Novo recurso".
- 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:
- Veja os recursos com escopo para a revisão de proxy da API.
- 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.
- 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:
- Veja os recursos com escopo para a revisão de proxy da API.
- Na visualização "Navegador" em "Recursos", posicione o cursor sobre o recurso que você quer excluir para exibir o menu de ações.
- Clique em
.
- 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
oumultipart/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:
- Crie o arquivo de recursos.
- Adicione o arquivo de recursos a um pacote de configuração de proxy da API.
- 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
oumultipart/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
oumultipart/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 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/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:
- 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
comobundle
. - Defina o cabeçalho
Accept
comoapplication/zip
.
- Defina o parâmetro de consulta
- Atualize o arquivo de recurso no pacote de configuração do proxy da API.
- 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:
- 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
comobundle
. - Defina o cabeçalho
Accept
comoapplication/zip
.
- Defina o parâmetro de consulta
- Exclua o arquivo de recursos do pacote de configuração de proxy da API.
- 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.