Esta página aplica-se ao Apigee e ao Apigee Hybrid.
Veja a documentação do
Apigee Edge.
Compreenda e faça a gestão dos recursos, conforme descrito nas secções seguintes.
Acerca dos recursos
Muitos tipos de políticas dependem de recursos. Os recursos são os ficheiros que implementam o código ou a configuração a serem executados por uma política quando anexados a um proxy de API. Em alguns casos, como com JavaScript e JavaCallout, uma política define simplesmente um ponto de anexação num proxy de API onde algum código deve ser executado. A política JavaScript ou JavaCallout é um ponteiro para um recurso.
Tipos de recursos
A tabela seguinte resume os tipos de recursos:
Tipo do recurso | Descrição |
---|---|
GraphQL (graphql) |
Ficheiro de esquema GraphQL referenciado pelas políticas GraphQL. |
JAR (java) |
Classes Java num ficheiro JAR referenciado por políticas JavaCallout. |
JavaScript (js) |
JavaScript referenciado por políticas de JavaScript. |
JavaScript (jsc) |
JavaScript compilado referenciado por políticas de JavaScript. |
OpenAPI Specification (oas) |
Especificação OpenAPI usada para validar mensagens de pedido e resposta do tipo JSON ou YAML. |
Property Set (properties) |
Coleção de pares de chave/valor que podem ser referenciados por conjuntos de propriedades de um proxy de API. |
Python (py) |
Scripts Python referenciados por políticas PythonScript. Os recursos têm de ser implementados em "Python puro" (apenas na linguagem Python). |
Security policy (securityPolicy) |
Política de segurança personalizada referenciada por políticas JavaCallout. |
WSDL (wsdl) |
Ficheiros WSDL referenciados por políticas de validação de mensagens SOAP. |
XSD (xsd) |
Esquemas XML referenciados pelas políticas SOAPMessageValidation. |
XSL Transformations (xsl) |
Transformações XSLT referenciadas por políticas XSLTransform. |
Onde são armazenados os recursos
Pode armazenar recursos nas seguintes localizações. Não pode armazenar ficheiros de recursos numa organização.
- Revisão do proxy da API: os recursos estão disponíveis apenas para as revisões do proxy da API nas quais os recursos estão incluídos. Por exemplo, pode 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 num ambiente (por exemplo,
test
ouprod
), os recursos estão disponíveis para qualquer proxy de API implementado no mesmo ambiente.
O repositório do ambiente está disponível no seguinte URI, conforme descrito pela
API de ficheiros de recursos de lista e mais tarde em Faça a gestão de recursos através da API:
/organizations/$ORG/environments/$ENV/resourcefiles
A tabela seguinte mostra os métodos que pode usar para criar, atualizar e eliminar recursos para cada repositório:
Repositório | Criar | Ver | Atualizar | Eliminar | ||||
---|---|---|---|---|---|---|---|---|
API | IU | API | IU | API | IU | API | IU | |
Revisão do proxy de API | ||||||||
Ambiente |
Por exemplo, todos os ficheiros 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 do nome do recurso
Resolva os nomes dos recursos do âmbito mais específico para o âmbito mais geral. Os nomes dos recursos são resolvidos "na hierarquia", desde o nível de revisão do proxy da API até ao nível do ambiente.
Suponhamos que preencheu o mesmo recurso em dois repositórios diferentes: a revisão do proxy de 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>
Não é possível resolver explicitamente a referência da política para um repositório. O primeiro recurso no âmbito mais detalhado cujo nome corresponda ao nome do recurso na política é resolvido.
Assim, quando o proxy de API é implementado no ambiente prod
, a política é resolvida para o recurso pathSetter.js
com âmbito do ambiente.
Quando implementada no ambiente test
, a política é resolvida para o recurso com âmbito de revisão do proxy de API, porque o recurso com âmbito de ambiente está no ambiente prod
e não no ambiente test
.
Diretrizes de recursos Java
Pode adicionar recursos Java compilados como ficheiros JAR através de várias opções no curl, como a opção -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}"
Veja também:
- Práticas recomendadas para Java: práticas recomendadas para a conceção e o desenvolvimento de proxies de API
- Exemplo de livro de receitas Java: política de transformação XSL
Faça a gestão de recursos através da IU
Faça a gestão de recursos com âmbito numa revisão do proxy de API através da IU, conforme descrito nas secções seguintes.
Veja recursos através da IU
Apigee na Cloud Console
-
Na Google Cloud consola, aceda à página Desenvolvimento de proxy > Proxies de API.
Selecione o proxy da API cujos recursos quer ver. É apresentada a vista Vista geral do editor de proxy.
- Clique no separador Desenvolver.
- No painel de navegação, desloque a página para baixo até Recursos. Os recursos atuais são apresentados abaixo.
IU clássica
Para ver os recursos com âmbito numa revisão do proxy de API através do editor de proxy clássico:
- Inicie sessão na IU do Apigee.
- Selecione Desenvolver > Proxies de API na barra de navegação do lado esquerdo.
- Selecione um proxy de API na lista para o qual quer criar um recurso.
O editor de proxy de API é aberto e o separador Vista geral é apresentado por predefinição. - Clique no separador Desenvolver.
- Se necessário, selecione a revisão no menu pendente Revisão.
Os recursos com âmbito na revisão do proxy da API são apresentados na secção Recursos na vista Navigator.
Crie um recurso através da IU
Apigee na Cloud Console
Para criar um recurso através do Apigee na Cloud Console :
-
Na Google Cloud consola, aceda à página Desenvolvimento de proxy > Proxies de API.
Selecione o proxy da API cujos recursos quer ver. É apresentada a vista Vista geral do editor de proxy.
- Clique no separador Desenvolver.
- No painel de navegação, desloque a página para baixo até Recursos e clique no botão + à sua direita.
- Na caixa de diálogo Adicionar recurso, introduza o seguinte:
- Tipo de recurso: selecione o tipo de ficheiro para o recurso.
- Em Origem, selecione Criar um novo ficheiro ou Importar ficheiro. Se escolher Ficheiro de importação, selecione também um ficheiro para importar no campo Ficheiro.
- Nome do recurso: introduza um nome para o recurso.
- Clique em Adicionar.
Apigee clássico
Para criar recursos com âmbito numa revisão de proxy de API através da IU do Apigee clássico:
- Veja os recursos com âmbito na revisão do proxy da API.
- Clique em + na secção Recursos na vista Navegador para abrir a caixa de diálogo Novo recurso.
- Introduza os seguintes dados:
Campo Descrição Origem Selecione para criar um novo ficheiro ou importar um ficheiro. Tipo de ficheiro Selecione um tipo de recurso na lista pendente. Nome do ficheiro Nome do ficheiro. A extensão do nome de ficheiro tem de ser válida para o tipo de ficheiro selecionado.
Atualize um recurso através da IU
Atualize um recurso com âmbito numa revisão do proxy de API apenas se a revisão não tiver sido implementada. Depois de implementar uma revisão do proxy de API, esta torna-se imutável.
Para atualizar um recurso com âmbito numa revisão do proxy de API através da IU:
- Veja os recursos com âmbito na revisão do proxy da API.
- Na vista Navigator, em Recursos, clique no recurso que quer atualizar.
Nota: para ficheiros JAR, posicione o cursor sobre o recurso que quer editar e clique em.
- Atualize o recurso, conforme necessário.
Nota: depois de carregar um novo ficheiro JAR, clique em Atualizar.
Elimine um recurso através da IU
Elimine um recurso com âmbito numa revisão do proxy de API apenas se a revisão não tiver sido implementada. Depois de implementar uma revisão do proxy de API, esta torna-se imutável.
Para eliminar um recurso com âmbito de revisão de proxy de API através da IU:
- Veja os recursos com âmbito na revisão do proxy da API.
- Na vista do navegador, em Recursos, posicione o cursor sobre o recurso que quer eliminar para apresentar o menu de ações.
- Clique em
.
- Clique em Eliminar para confirmar a ação.
Faça a gestão de recursos através da API
Faça a gestão dos recursos através da API, conforme descrito nas secções seguintes.
Crie recursos através da API
Crie recursos com âmbito numa revisão do proxy de API ou num ambiente, conforme descrito nas secções seguintes.
Crie recursos com âmbito numa revisão do proxy de API através da API
Crie recursos com âmbito numa revisão do proxy de API através da API, conforme descrito nas secções seguintes.Para criar um recurso com âmbito de uma revisão do proxy de API através da API:
- Crie o ficheiro de recursos.
- Adicione o ficheiro de recursos a um pacote de configuração de proxy de API.
- Carregue o pacote através de uma das seguintes APIs:
Crie recursos no âmbito de um ambiente através da API
Crie recursos com âmbito num ambiente através da API emitindo um pedido POST
para o seguinte recurso:
/organizations/$ORG/environments/$ENV/resourcefiles
Transmita as seguintes informações com o seu pedido:
- Defina o parâmetro de consulta
name
com o nome do recurso - Defina o parâmetro de consulta
type
para o tipo de recurso necessário - Transmita o conteúdo do ficheiro de recursos como
application/octet-stream
oumultipart/form-data
)
O exemplo seguinte mostra como criar um recurso JavaScript transmitindo o respetivo conteúdo no corpo do pedido.
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");'
Onde $TOKEN
está definido como a sua chave de acesso OAuth 2.0, conforme descrito em
Obter uma chave de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte a secção
Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo
Definir
variáveis de ambiente para pedidos de API Apigee.
O exemplo seguinte mostra como carregar o recurso como um ficheiro a partir do seu computador local. É importante usar -F
para o carregamento binário no curl para que os ficheiros JavaScript com âmbito de organização ou ambiente sejam acessíveis pela política de 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
Segue-se um exemplo da resposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Veja recursos através da API
As secções seguintes descrevem como ver recursos através da API.
Veja todos os recursos através da API
Veja todos os recursos com âmbito num ambiente através da API, conforme descrito nas secções seguintes.
Ao usar a API, só pode ver recursos com âmbito num ambiente.
Para ver todos os recursos num ambiente através da API, emita um pedido GET
para o seguinte recurso:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles
O exemplo seguinte apresenta todos os recursos no ambiente test
:
curl -X GET https://apigee.googleapis.com/v1/organizations/myorg/environments/test/resourcefiles
-H "Authorization: Bearer $TOKEN"
Onde $TOKEN
está definido como a sua chave de acesso OAuth 2.0, conforme descrito em
Obter uma chave de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte a secção
Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo
Definir
variáveis de ambiente para pedidos de API Apigee.
Para mais informações, consulte o artigo API List environment resource files.
Segue-se um exemplo da resposta.
{
"resourceFile": [
{
"name" : "pathSetter.js",
"type" : "jsc"
}
]
}
Veja o conteúdo de um recurso através da API
Para ver o conteúdo de um recurso num ambiente através da API, emita um pedido GET
para o seguinte recurso:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
O exemplo seguinte apresenta o conteúdo do ficheiro 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"
Onde $TOKEN
está definido como a sua chave de acesso OAuth 2.0, conforme descrito em
Obter uma chave de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte a secção
Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo
Definir
variáveis de ambiente para pedidos de API Apigee.
Segue-se um exemplo da resposta:
request.headers["RequestPath"] = context.getVariable("proxy.basepath");
Atualize recursos através da API
Atualize os recursos com âmbito numa revisão do proxy de API ou num ambiente, conforme descrito nas secções seguintes.
Atualize recursos com âmbito de uma revisão do proxy de API através da API
Para atualizar um recurso com âmbito numa revisão do proxy de API através da API:
- Transfira o pacote de configuração do proxy da API através da API Get API proxy revision com as seguintes opções:
- Defina o parâmetro de consulta
format
comobundle
- Definir o cabeçalho
Accept
comoapplication/zip
- Defina o parâmetro de consulta
- Atualize o ficheiro de recursos no pacote de configuração do proxy de API.
- Carregue o pacote de configuração do proxy de API através da API Update API proxy revision.
Atualize recursos com âmbito num ambiente através da API
Atualize um recurso com âmbito num ambiente através da API emitindo um pedido PUT
para o seguinte recurso:
/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
Transmita o conteúdo do ficheiro de recursos como application/octet-stream
ou multipart/form-data
.
O exemplo seguinte mostra como atualizar um recurso JavaScript transmitindo o respetivo conteúdo no corpo do pedido.
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");'
Onde $TOKEN
está definido como a sua chave de acesso OAuth 2.0, conforme descrito em
Obter uma chave de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte a secção
Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo
Definir
variáveis de ambiente para pedidos de API Apigee.
O exemplo seguinte mostra como atualizar o ficheiro de recursos através de um ficheiro do seu computador local. É importante usar -F
para o carregamento binário no curl para que os ficheiros JavaScript com âmbito de organização ou ambiente sejam acessíveis pela política de 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
Segue-se um exemplo da resposta:
{ "name" : "pathSetter.js", "type" : "jsc" }
Elimine recursos através da API
Elimine o recurso com âmbito definido para uma revisão do proxy de API ou um ambiente, conforme descrito nas secções seguintes.
Elimine recursos com âmbito de uma revisão de proxy de API através da API
Com a abordagem híbrida, para eliminar um recurso com âmbito definido para um proxy de API através da API:
- Transfira o pacote de configuração do proxy da API através da API Get API proxy revision com as seguintes opções:
- Defina o parâmetro de consulta
format
comobundle
- Definir o cabeçalho
Accept
comoapplication/zip
- Defina o parâmetro de consulta
- Elimine o ficheiro de recursos do pacote de configuração do proxy de API.
- Carregue o pacote de configuração do proxy de API através da API Update API proxy revision.
Elimine um recurso com âmbito num ambiente através da API
Elimine um recurso com âmbito num ambiente através da API, conforme descrito nas secções seguintes.
Para eliminar um recurso com âmbito num ambiente através da API, emita um pedido DELETE
para o seguinte recurso:
https://apigee.googleapis.com/v1/organizations/$ORG/environments/$ENV/resourcefiles/$TYPE/$NAME
O exemplo seguinte elimina o ficheiro de recursos JavaScript pathSetter.js
do ambiente test
:
curl -X DELETE https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/resourcefiles/jsc/pathSetter.js \ -H "Authorization: Bearer $TOKEN"
Onde $TOKEN
está definido como a sua chave de acesso OAuth 2.0, conforme descrito em
Obter uma chave de acesso OAuth 2.0. Para informações sobre as opções de curl
usadas neste exemplo, consulte a secção
Usar o curl. Para uma descrição das variáveis de ambiente que pode usar, consulte o artigo
Definir
variáveis de ambiente para pedidos de API Apigee.
Para mais informações, consulte o artigo API Delete resource file.
Segue-se um exemplo da resposta.
{
"name" : "pathSetter.js",
"type" : "jsc"
}
Aceda ao recurso
A forma como acede ao recurso depende do tipo de recurso. Para mais informações, consulte a vista geral de referência das políticas.
Os exemplos nesta secção demonstram como criar e gerir um recurso JavaScript denominado pathSetter.js
para permitir que seja referenciado por políticas do tipo JavaScript.
Para anexar o JavaScript ao Request PostFlow, crie uma política denominada
PathSetterPolicy.xml
que faça referência ao ficheiro pathSetter.js
:
<Javascript name='PathSetterPolicy' timeLimit='200'> <ResourceURL>jsc://pathSetter.js</ResourceURL> </Javascript>
Em seguida, consulte a política na configuração do ponto final:
<PostFlow> <Request> <Step><Name>PathSetterPolicy</Name></Step> </Request> <PostFlow>
Para mais informações, consulte a política de JavaScript.