17/08/16 - Notas de lançamento do Apigee Edge para nuvem pública

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"

Ao configurar um payload JSON usando uma política de atribuição de mensagem ou de aviso de falha, às vezes os usuários precisavam usar soluções alternativas para garantir que uma mensagem JSON fosse formatada corretamente no ambiente de execução. Por exemplo, iniciar o payload com uma barra invertida "\" ou especificar um "variablePrefix" e "variablesufixo" no elemento Payload, mesmo que nenhuma variável fosse usada na mensagem.

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:

  1. Primeiro, configure o balanceador de carga, o roteador e o processador de mensagens para expirar após três minutos.
  2. 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>
        ...
    
  3. 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)