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
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 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:
- 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, 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:
-
Faça login em apigee.com/edge.
- Selecione Develop > API Proxies 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 IU
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 IU
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 IU
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 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
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 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:
- 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 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
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
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:
- 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
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 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:
- 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
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 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.