Esta página se aplica à Apigee e à Apigee híbrida.
Confira a documentação da Apigee Edge.
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.
Tipos de recurso
A tabela a seguir resume os tipos de recursos:
Tipo de recurso | Descrição |
---|---|
GraphQL (graphql) |
Arquivo de esquema do GraphQL referenciado pelas políticas do GraphQL. |
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. |
OpenAPI Specification (oas) |
Especificação OpenAPI usada para validar mensagens de solicitação e resposta do tipo JSON ou YAML. |
Property Set (properties) |
Coleção de pares de chave-valor que podem ser referenciados em um conjunto de propriedades de proxy de API. |
Python (py) |
Scripts Python referenciados por políticas do PythonScript. É preciso implementar os recursos em "Python puro" (somente na linguagem Python). |
Security policy (securityPolicy) |
Política de segurança personalizada referenciada por políticas de JavaCallout. |
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
Você pode armazenar recursos para os locais a seguir. Não é possível armazenar arquivos de recursos em uma organização.
- 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 somente ao recurso JavaScript, e a revisão 2 tem acesso somente 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.
O repositório de ambiente está disponível no URI a seguir, conforme descrito pela
API
List resource files e, mais à frente, em Gerenciar recursos usando a API:
/organizations/$ORG/environments/$ENV/resourcefiles
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 | Exibir | Atualizar | Excluir | ||||
---|---|---|---|---|---|---|---|---|
API | Interface | API | Interface | API | Interface | API | Interface | |
Revisão do proxy de API | ||||||||
Ambiente |
Por exemplo, todos os arquivos JavaScript disponíveis para o ambiente test
estão
armazenados no seguinte repositório e 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
Resolva nomes de recursos do escopo mais específico ao escopo mais geral. Os nomes de recursos são resolvidos "acima da cadeia", do nível de revisão de proxy da API para o nível do ambiente.
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 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
). Por exemplo:
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ --data-binary @{jar_file}
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -T "{jar_file}"
curl "http://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles?name={jar_file}&type=java" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/octet-stream" \ -F "file=@{jar_file}"
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
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 interface
Novo Editor de Proxy
Para ver os recursos usando o novo Editor de Proxy:
Se você estiver usando a interface da Apigee no console do Cloud: selecione Desenvolvimento de proxy > Proxies de API.
Se você estiver usando a interface clássica da Apigee: selecione Desenvolver > Proxies de API e, no painel Proxies, selecione o ambiente do proxy com os recursos que você quer ver.
Selecione o proxy de API com os recursos que você quer ver. Isso exibirá a Visão geral do Editor de Proxy.
- Clique na guia Desenvolver.
- No painel à esquerda, role para baixo até Recursos. Os recursos atuais são exibidos abaixo.
Editor de Proxy clássico
Para ver os recursos com escopo definido para uma revisão de proxy de API usando o Editor de Proxy clássico:
- Faça login na IU da Apigee.
- 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.
Por padrão,
o editor de proxy de API é aberto e a guia Overview é exibida. - 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
Novo Editor de Proxy
Para criar um recurso usando o novo Editor de Proxy:
Se você estiver usando a interface da Apigee no console do Cloud: selecione Desenvolvimento de proxy > Proxies de API.
Se você estiver usando a interface clássica da Apigee: selecione Desenvolver > Proxies de API e, no painel Proxies, selecione o ambiente do proxy com os recursos que você quer ver.
Selecione o proxy de API com os recursos que você quer ver. Isso exibirá a Visão geral do Editor de Proxy.
- Clique na guia Desenvolver.
- No painel à esquerda, role para baixo até Recursos e clique no botão + à direita.
- Na caixa de diálogo Adicionar recurso, insira o seguinte:
- Tipo de recurso: selecione o tipo de arquivo para o recurso.
- Em Origem, selecione Criar um novo arquivo ou Importar arquivo. Se você escolher Importar arquivo, selecione também um arquivo para importar no campo Arquivo.
- Nome do recurso: insira um nome para o recurso.
- Clique em Adicionar.
Apigee clássica
Para criar recursos com escopo definido para uma revisão de proxy de API usando a IU clássica da Apigee:
- Veja os recursos com escopo definido para a revisão de proxy de 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
Atualizar um recurso com escopo para uma revisão de proxy da API somente se a revisão não tiver sido implantada. Depois que uma revisão do proxy de API é implantada, ela é imutável.
Para atualizar um recurso com escopo para uma revisão de proxy da API usando a IU:
- Veja os recursos com escopo definido para a revisão de proxy de 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
Excluir um recurso com escopo para uma revisão de proxy da API somente se a revisão não tiver sido implantada. Depois que uma revisão do proxy de API é implantada, ela é imutável.
Para excluir um recurso com escopo definido para uma revisão de proxy de API usando a IU:
- Veja os recursos com escopo definido para a revisão de proxy de 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 de proxy da API ou ambiente, conforme descrito nas seções a seguir.
Criar recursos com escopo para uma revisão de proxy de API usando a API
Crie recursos com escopo para uma revisão de proxy da API usando a API, conforme descrito nas seções a seguir.Para criar um recurso com escopo para uma revisão de proxy da API usando a API:
- 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 recursos com escopo para um ambiente usando 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://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
Em que $TOKEN
está definido como seu token de acesso OAuth 2.0, conforme descrito em
Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte
Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como configurar variáveis de ambiente para solicitações da API Apigee.
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://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles?name=pathSetter.js&type=jsc
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
Veja a seguir um exemplo de resposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Ver recursos usando a API
As seções a seguir descrevem como visualizar recursos usando a API.
Ver todos os recursos usando a API
Veja todos os recursos definidos para um ambiente usando a API, conforme descrito nas seções a seguir.
Usando a API, você só pode ver os recursos com escopo para um ambiente.
Para visualizar todos os recursos em um ambiente usando a API, emita uma solicitação GET
para o seguinte recurso:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles
O exemplo a seguir lista todos os recursos no ambiente test
:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles
-H "Authorization: Bearer $TOKEN"
Em que $TOKEN
está definido como seu token de acesso OAuth 2.0, conforme descrito em
Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte
Como usar curl. Para uma descrição das variáveis de ambiente usadas,
consulte Como definir variáveis de ambiente para solicitações de API da Apigee.
Para mais informações, consulte Listar APIs de arquivos de recursos de ambiente.
Veja a seguir um exemplo da resposta.
{
"resourceFile": [
{
"name" : "pathSetter.js",
"type" : "jsc"
}
]
}
Ver o conteúdo de um recurso usando a API
Para visualizar o conteúdo de um recurso em um ambiente usando a API, emita uma solicitação GET
para o seguinte recurso:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
O exemplo a seguir lista o conteúdo do arquivo JavaScript pathSetter.js
(jsc
) no ambiente test
:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN"
Em que $TOKEN
está definido como seu token de acesso OAuth 2.0, conforme descrito em
Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte
Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte
Como definir variáveis de ambiente para solicitações de API da Apigee.
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 ou ambiente, conforme descrito nas seções a seguir.
Atualizar recursos com escopo para uma revisão de proxy de API usando a API
Para atualizar um recurso com escopo para uma revisão de proxy da API usando a API:
- Faça o download do pacote de configuração de proxy de API usando a API para obter o proxy de API 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 o upload do pacote de configuração de proxy de API usando a API para atualizar a revisão de proxy de API.
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://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:application/octet-stream" \
-d 'request.headers["RequestPath"] = context.getVariable("proxy.basepath");'
Em que $TOKEN
está definido como seu token de acesso OAuth 2.0, conforme descrito em
Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte
Como usar curl. Para uma descrição das variáveis de ambiente usadas, consulte Como configurar variáveis de ambiente para solicitações da API Apigee.
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://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles/jsc/pathSetter.js
-H "Authorization: Bearer $TOKEN" \
-H "Content-type:multipart/form-data" \
-F file=@pathSetter.js
Veja a seguir um exemplo de resposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Excluir recursos usando a API
Exclua o recurso com escopo para uma revisão de proxy da API ou ambiente, conforme descrito nas seções a seguir.
Excluir recursos com escopo para uma revisão de proxy de API usando a API
Com híbrido, para excluir um recurso com escopo para um proxy de API usando a API:
- Faça o download do pacote de configuração de proxy de API usando a API para obter o proxy de API 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 o upload do pacote de configuração de proxy de API usando a API para atualizar a revisão de proxy de API.
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://apigee.googleapis.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 DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js \ -H "Authorization: Bearer $TOKEN"
Em que $TOKEN
está definido como seu token de acesso OAuth 2.0, conforme descrito em
Como receber um token de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte
Como usar curl. Para uma descrição das variáveis de ambiente usadas,
consulte Como definir variáveis de ambiente para solicitações de API da Apigee.
Para mais informações, consulte Excluir API de arquivo de recursos.
Veja a seguir um exemplo da resposta.
{
"name" : "pathSetter.js",
"type" : "jsc"
}
Acessar o recurso
A forma como você acessa o recurso depende do tipo de recurso. Para saber mais, consulte a Visão geral de referência da política.
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.