Como gerenciar recursos

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:

Resource type 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 ou prod), 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 Visualizar Atualizar Excluir
API Interface API Interface API Interface API IU
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 da 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://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:

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:

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

  2. Selecione o proxy de API com os recursos que você quer ver. Isso exibirá a Visão geral do Editor de Proxy.

  3. Clique na guia Desenvolver.
  4. 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:

  1. Faça login na IU da Apigee.
  2. Selecione Develop > API Proxies na barra de navegação à esquerda.
  3. 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.
  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

Novo Editor de Proxy

Para criar um recurso usando o novo Editor de Proxy:

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

  2. Selecione o proxy de API com os recursos que você quer ver. Isso exibirá a Visão geral do Editor de Proxy.

  3. Clique na guia Desenvolver.
  4. No painel à esquerda, role para baixo até Recursos e clique no botão + à direita.
  5. 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.
  6. 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:

  1. Veja os recursos com escopo definido para a revisão de proxy de 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 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:

  1. Veja os recursos com escopo definido para a revisão de proxy de 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 Imagem do ícone de edição..
  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 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:

  1. Veja os recursos com escopo definido para a revisão de proxy de 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 Imagem do ícone de exclusão..
  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 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:

  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 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 ou multipart/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:

  1. 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 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 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:

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