Você está vendo a documentação do Apigee Edge.
Acesse a
documentação da Apigee X. informações
Na terça-feira, 30 de agosto de 2016, lançamos uma nova versão do Apigee Edge para nuvem pública.
Novos recursos e atualizações
Veja a seguir os novos recursos e atualizações desta versão.
Payloads do JSON em "Atribuir mensagem" e "Informar falha"
Com essa melhoria, nenhuma solução alternativa é necessária para garantir a formatação correta das mensagens JSON, e as variáveis podem ser especificadas usando chaves sem criar JSON inválido. Por exemplo, o valor a seguir insere o valor de message.content na mensagem JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Se você usou uma solução alternativa, seu código continuará funcionando como está. Também é possível usar variablePrefix e variablessufixo em vez de chaves para indicar variáveis.
Consulte o elemento <Set><Payload> nos documentos de referência Atribuir política de mensagem e Política de aviso de falha. APIRT-1160
Melhorias na política XML para JSON
A política XML para JSON foi aprimorada com os recursos a seguir. É possível configurar a política para:
- Trate alguns elementos XML como matrizes durante a conversão, o que coloca os valores entre colchetes "[ ]" no documento JSON.
- Remova ou elimine os níveis da hierarquia do documento XML no documento JSON final.
Para mais informações, consulte a política de XML para JSON. (APIRT-1144).
Vários caracteres curinga em caminhos de recursos de produtos da API
Ao definir caminhos de recursos na API Product, você pode incluir caracteres curinga em vários lugares em um
caminho de recurso. Por exemplo, /team/*/invoices/**
permite chamadas de API com qualquer valor após /team
e qualquer caminho de recurso após invoices/
. Um URI permitido em uma chamada de API seria proxyBasePath/team/finance/invoices/company/a
.
Se, após esta versão, os caminhos dos recursos de produtos da API pararem de funcionar conforme o esperado, defina
a seguinte propriedade na sua organização para voltar ao comportamento
anterior: features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
Funções de criptografia em JavaScript
Um novo conjunto de funções crypto
JavaScript de alto desempenho está disponível para criar, receber e atualizar os seguintes objetos: MD5, SHA-1, SHA256, SHA512.
O objeto crypto também permite acessar a data em vários formatos. Para mais informações, consulte o modelo de objeto JavaScript.
(APIRT-2886)
Verificação de versão do JAR de frase de destaque em Java
Ao fazer upload de um recurso JAR Java para um proxy de API, um código de status HTTP 400 será retornado (em vez de um 500) se a versão do recurso Java for incompatível com a versão Java compatível com o Edge, listada em Softwares e versões compatíveis. (MGMT-3420)
Validação de recursos de proxy de API
Quando você tem arquivos de recursos do proxy de API (como JavaScript ou JARs Java) armazenados no escopo do ambiente ou da organização, o framework de validação não exige mais que você inclua também esses recursos no nível do proxy de API em um pacote de proxy para importação e aprovação na validação. A validação de recursos agora ocorre no momento da implantação, não no momento da importação. (MGMT-1430)
Configure o tempo limite para proxies de API individuais.
É possível configurar proxies de API para expirar após um período especificado (com um status de tempo limite do gateway 504). O principal caso de uso é para clientes de nuvem privada que têm proxies de API que levam
mais tempo para serem executados. Por exemplo, digamos que você precise de proxies específicos para expirar em 3 minutos. É possível
usar uma nova propriedade api.timeout
na configuração de um proxy de API. Confira como
fazer isso com o exemplo de três minutos:
- Primeiro, configure o balanceador de carga, o roteador e o processador de mensagens para expirar após três minutos.
- Em seguida, configure os proxies relevantes para expirar em três minutos. Especifique o valor em
milissegundos. Por exemplo:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ...
- No entanto, aumentar os tempos limite do sistema pode resultar em problemas de desempenho, porque
todos os proxies sem configuração api.timeout usam o novo e mais alto balanceador de carga, roteador e
tempo limite do processador de mensagens. Portanto, configure outros proxies de API que não exijam tempo limite mais longo para usar tempos limite menores. Por exemplo, o código a seguir configura um proxy de API para expirar após um minuto:
<Property name="api.timeout">60000</Property>
Os clientes do Cloud, que não podem modificar os tempos limite do Edge, também podem configurar um tempo limite do proxy de API, desde que ele seja menor que o tempo limite padrão do processador de mensagens do Edge, de 57 segundos.
Não é possível preencher o valor com uma variável. Essa propriedade é abordada na Referência de propriedades do endpoint. (APIRT-1778)
TLS/SSL para política de geração de registros de mensagens
<KeyStore>
e <TrustStore>
podem ser definidos na configuração SSLInfo
na política de geração de registros de mensagens, permitindo TLS/SSL de uma e duas vias com um serviço de geração de registros. Você configura SSLInfo na política de geração de registros de mensagens da mesma forma que
em um proxy
TargetEndpoint. No entanto, o TLS/SSL do Message Logging oferece suporte apenas ao protocolo TCP.
(APIRT-1858)
Bugs corrigidos
Os bugs a seguir foram corrigidos nesta versão. Esta lista é principalmente para usuários que verificam se os tíquetes de suporte foram corrigidos. Ela não foi projetada para fornecer informações detalhadas a todos os usuários.
Id do problema | Descrição |
---|---|
SECENG-609 | As chamadas do tempo de execução não falham durante a exclusão do truststore associado ou quando o certificado válido no truststore é excluído |
MGMT-3404 | A visualização/recuperação de registros do Node.js e a implantação de proxies são muito lentas |
MGMT-3400 | A chamada para a API de gerenciamento /userroles falhará se o usuário que estiver fazendo a chamada tiver um sinal "+" no nome |
MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, ao importar um pacote de proxy de API que contém o diretório resources/node/resources |
MGMT-3364 | OAuthV2: verificação de redirect_uri |
MGMT-3319 | Listar entradas em um Vault que tenha valor nulo em uma das entradas não funciona para organizações (CPS e não CPS) |
MGMT-3226 | A consulta no nível da organização/ambiente não precisa extrair todos os dados que causem falhas
na API O Release_160302 apresentou um bug em que a listagem de recursos no nível da organização/ambiente falhava quando o tamanho cumulativo dos recursos era maior que 16 MB. Essa correção resolveu o problema. |
AXAPP-2429 | A API Analytics usando response_status_code retorna erro de acesso a dados |
AXAPP-2386 | Corrigir conteúdo vazio nos relatórios diários por e-mail do Google Analytics |
AXAPP-2347 | Não recebo e-mails diários com o resumo das análises |
APIRT-3141 | As chamadas em Java falham ao chamar new ExecutionResult() porque o construtor se tornou privado |
APIRT-3140 | A política ServiceFrase de destaque não funciona em chamadas de API HEAD |
APIRT-3131 | createBy incorreto aparece para um proxy de API ao usar a monetização com um provedor de autenticação externo |
APIRT-3121 | A mudança no arquivo de recurso da organização não é 100% eficaz |
APIRT-3117 | O MP alcançou 100% de uso da CPU e parou de atender ao tráfego |
APIRT-3016 | Erros de "Chamada expirada" do roteador nas implantações |
APIRT-2975 | Falha no upload do pacote de certificados |
APIRT-2955 | Não é possível mascarar determinados atributos dos dados de resposta JSON para o cabeçalho Content-Type 'application/json+fhir' do FHIR-complaint |
APIRT-2946 | A política OAuthV2-RefreshToken não oculta atributos, mesmo que a exibição esteja definida como falsa |
APIRT-2908 | A aplicação do TLS1.2 para chamadas de API internas é obrigatória após a atualização do TLS1.2 no virtualhost |
APIRT-2901 | As respostas gzip retornadas do cache são compactadas duas vezes |
APIRT-2873 | Os MPs geram uma NullPointerException relacionada à VerifyAPIKey após a exclusão de produtos/desenvolvedores/proxies. |
APIRT-2871 | Políticas IOIntensive exibidas duas vezes no Trace |
APIRT-2825 | Erro gramatical na resposta de erro do accesstoken |
APIRT-2750 | Falhas de tráfego altas em uma organização específica |
APIRT-2685 | O tráfego não pode fluir com um erro desconhecido sendo gerado |
APIRT-2647 | Erro"O fluxo de entrada subjacente retornou zero bytes" com nonprod/dev |
APIRT-2630 | Problemas intermitentes ao tentar ler o valor do cache |
APIRT-2620 | Separar um pool de linhas de execução para algumas etapas de bloqueio |
APIRT-2610 | java.lang.ClassCastException com a política de cache de resposta |
APIRT-2608 | Erro na análise dos cabeçalhos da última modificação nas políticas do cache de resposta |
APIRT-2605 | Não permitir a substituição das variáveis"organization" e "environment" por meio de políticas |
APIRT-2566 | A política OAuthV2 retorna um cabeçalho WWW-Authenticate incorreto |
APIRT-2491 | A atualização do TargetServer falhou devido ao tempo limite de RPC entre o gerenciamento e os mps |
APIRT-2386 | O escopo de string vazio é criado em um produto de API com escopos OAuth permitidos vazios |
APIRT-2383 | As políticas de transformação XSL parecem não registrar dados em um erro (link em inglês) |
APIRT-2364 | As variáveis do fluxo de falha do OAuth não são atualizadas em caso de erro |
APIRT-2216 | Eventos enviados pelo servidor: problemas no stream de eventos na produção |
APIRT-2079 | A chamada de cURL DEBUG não é interrompida após o tempo limite expirar para a sessão criada |
APIRT-1495 | A proteção XML contra ameaças não captura o tipo de conteúdo novo |
APIRT-347 | A política de XSL não é validada corretamente na importação (não atribui resultados a variáveis de saída conforme documentado) |