16.08.17 - 퍼블릭 클라우드용 Apigee Edge 출시 노트

Apigee Edge 문서입니다.
Go to the Apigee X 문서로 이동합니다.
info

2016년 8월 30일 화요일에 Apigee Edge for Public Cloud의 새 버전이 출시되었습니다.

새로운 기능 및 업데이트

다음은 이번 출시의 새로운 기능과 업데이트입니다.

메시지 할당 및 오류 발생의 JSON 페이로드

메시지 할당 또는 오류 발생 정책을 사용하여 JSON 페이로드를 설정할 때 사용자는 메시지에 변수가 사용되지 않은 경우에도 런타임에 JSON 메시지가 올바르게 형식이 지정되도록 하기 위해 페이로드를 백슬래시 '\'로 시작하거나 Payload 요소에 variablePrefix 및 variableSuffix를 지정하는 등의 해결 방법을 사용해야 하는 경우가 있었습니다.

이 개선사항을 사용하면 올바른 JSON 메시지 형식을 보장하기 위해 해결 방법이 필요하지 않으며 잘못된 JSON을 만들지 않고 중괄호를 사용하여 변수를 지정할 수 있습니다. 예를 들어 다음은 JSON 메시지에 message.content 값을 삽입합니다.

<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>

해결 방법을 사용한 경우 코드는 그대로 계속 작동합니다. 중괄호 대신 variablePrefix 및 variableSuffix를 사용하여 변수를 나타낼 수도 있습니다.

메시지 할당 정책오류 발생 정책 참조 문서에서 <Set><Payload> 요소를 참조하세요. (APIRT-1160)

XML to JSON 정책 개선사항

XML to JSON 정책이 다음과 같은 기능으로 개선되었습니다. 정책을 다음과 같이 구성할 수 있습니다.

  • 변환 중에 일부 XML 요소를 배열로 처리하여 JSON 문서의 대괄호 '[ ]' 안에 값을 넣습니다.
  • 최종 JSON 문서에서 XML 문서 계층 구조의 수준을 삭제하거나 제거합니다.

자세한 내용은 XML to JSON 정책을 참조하세요. (APIRT-1144)

API 제품 리소스 경로의 여러 와일드 카드

API 제품에서 리소스 경로를 정의할 때 리소스 경로의 여러 위치에 와일드 카드를 포함할 수 있습니다. 예를 들어 /team/*/invoices/**/team 뒤에 하나의 값이 있는 API 호출과 invoices/ 뒤에 리소스 경로를 허용합니다. API 호출에서 허용되는 URI는 proxyBasePath/team/finance/invoices/company/a입니다.

이 출시 후 기존 API 제품 리소스 경로가 예상대로 작동하지 않으면 조직에서 다음 속성을 설정하여 이전 동작으로 되돌립니다. features.enableStandardWildCardMatchForAPIProductResources = true

(MGMT-3273)

JavaScript의 암호화 함수

다음 해시 객체(MD5, SHA-1, SHA256, SHA512)를 만들고 가져오고 업데이트하는 데 사용할 수 있는 고성능 JavaScript crypto 함수가 새로 제공됩니다. 암호화 객체를 사용하면 다양한 형식으로 날짜를 가져올 수도 있습니다. 자세한 내용은 JavaScript 객체 모델을 참조하세요. (APIRT-2886)

Java 콜아웃 JAR 버전 확인

Java JAR 리소스를 API 프록시에 업로드할 때 Java 리소스 버전이 지원되는 소프트웨어 및 지원되는 버전에 나열된 Edge 지원 Java 버전과 호환되지 않으면 HTTP 500 대신 HTTP 400 상태 코드가 반환됩니다. 지원되는 소프트웨어 및 지원되는 버전에 나열된 Edge 지원 Java 버전과 호환되지 않으면 HTTP 500 대신 HTTP 400 상태 코드가 반환됩니다. (MGMT-3420)

API 프록시 리소스 유효성 검사

환경 또는 조직 범위에 저장된 API 프록시 리소스 파일 (예: JavaScript 또는 Java JAR)이 있는 경우 유효성 검사 프레임워크에서 유효성 검사를 통과하기 위해 가져오기용 프록시 번들의 API 프록시 수준에 이러한 리소스를 포함하도록 더 이상 요구하지 않습니다. 이제 리소스 유효성 검사는 가져오기 시간이 아닌 배포 시간에 발생합니다. (MGMT-1430)

개별 API 프록시의 시간 제한 구성

지정된 시간 (504 게이트웨이 시간 제한 상태)이 지나면 타임아웃되도록 API 프록시를 구성할 수 있습니다. 기본 사용 사례는 실행하는 데 시간이 오래 걸리는 API 프록시가 있는 프라이빗 클라우드 고객을 위한 것입니다. 예를 들어 특정 프록시를 3분에 타임아웃해야 한다고 가정해 보겠습니다. API 프록시 구성에서 새 api.timeout 속성을 사용할 수 있습니다. 3분 예시를 사용하여 이 작업을 수행하는 방법은 다음과 같습니다.

  1. 먼저 3분 후 부하 분산기, 라우터, 메시지 프로세서가 시간 초과되도록 구성해야 합니다.
  2. 그런 다음 3분 후에 타임아웃되도록 관련 프록시를 구성합니다. 값을 밀리초 단위로 지정하세요. 예를 들면 다음과 같습니다.
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath>
        <Properties>
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
  3. 그러나 시스템 시간 제한을 늘리면 api.timeout 설정이 없는 모든 프록시가 새로운 상위 부하 분산기, 라우터, 메시지 프로세서 시간 제한을 사용하므로 성능 문제가 발생할 수 있습니다. 따라서 더 짧은 시간 제한을 사용하기 위해 더 이상 시간 제한이 필요 없는 다른 API 프록시를 구성합니다. 예를 들어 다음은 1 분 후 API 프록시가 시간 초과되도록 설정합니다.
    <Property name="api.timeout">60000</Property>

Edge 시간 제한을 수정할 수 없는 클라우드 고객은 표준 Edge 메시지 프로세서 제한 시간인 57 초보다 짧은 경우 API 프록시 시간 제한도 구성할 수 있습니다.

변수로 값을 채울 수는 없습니다. 이 속성은 엔드포인트 속성 참조에 설명되어 있습니다. (APIRT-1778)

메시지 로깅 정책의 TLS/SSL

<KeyStore><TrustStore>는 로깅 서비스와 함께 단방향 및 양방향 TLS/SSL을 사용할 수 있도록 SSLInfo 구성의 메시지 로깅 정책에서 설정할 수 있습니다. 프록시 TargetEndpoint에서와 마찬가지로 메시지 로깅 정책에서 SSLInfo를 구성합니다. 그러나 메시지 로깅 TLS/SSL은 TCP 프로토콜만 지원합니다. (APIRT-1858)

수정된 버그

다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 자신의 지원 티켓에서 제기한 문제가 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.

문제 ID 설명
SECENG-609 연결된 트러스트 저장소를 삭제하거나 트러스트 저장소의 유효한 인증서가 삭제될 때 런타임 호출이 실패하지 않음
MGMT-3404 Node.js 로그 보기/검색 및 프록시 배포가 매우 느림
MGMT-3400 호출을 수행하는 사용자의 이름에 "+" 기호가 있는 경우 /userroles 관리 API 호출이 실패함
MGMT-3368 리소스/노드/리소스 디렉터리가 포함된 API 프록시 번들을 가져올 때 java.lang.ArrayIndexOutOfBoundsException: 1
MGMT-3364 OAuthV2: redirect_uri 확인
MGMT-3319 항목 중 하나에 null 값이 있는 볼트의 항목 목록이 조직 (CPS 및 비 CPS)에서 작동하지 않음
MGMT-3226 조직/환경 수준에서 쿼리하면 API가 실패하는 모든 데이터를 가져오지 않아야 함
Release_160302에는 리소스의 누적 크기가 16MB를 초과하는 경우 조직 수준/환경 수준에서 리소스 목록이 실패하는 버그가 있었습니다. 이 수정사항은 이 문제를 해결합니다.
AXAPP-2429 response_status_code를 사용하는 Analytics API가 데이터 액세스 오류를 반환함
AXAPP-2386 분석 일일 이메일 보고서에서 빈 보고서 콘텐츠 수정
AXAPP-2347 일일 분석 요약 이메일을 받지 못함
APIRT-3141 생성자 가 비공개로 설정되어 있으므로 new ExecutionResult()를 호출할 때 Java 콜아웃이 실패함
APIRT-3140 HEAD API 호출에서 ServiceCallout 정책이 작동하지 않음
APIRT-3131 외부 인증 제공업체와 함께 수익 창출을 사용할 때 API 프록시에 대해 잘못된 createdBy가 표시됨
APIRT-3121 조직 리소스 파일 변경사항이 100% 적용되지 않음
APIRT-3117 MP가 100% CPU 사용률에 도달하고 트래픽 제공을 중지함
APIRT-3016 배포 시 라우터 '호출 시간 초과' 오류
APIRT-2975 인증서 번들 업로드 실패
APIRT-2955 FHIR 규정 준수 Content-Type 헤더 'application/json+fhir'의 JSON 응답 데이터의 특정 속성을 마스크할 수 없음
APIRT-2946 OAuthV2-RefreshToken 정책이 표시가 false로 설정되어 있어도 속성을 숨기지 않음
APIRT-2908 가상 호스트에서 TLS1.2 업데이트 후 내부 API 호출에 TLS1.2를 적용해야 함
APIRT-2901 캐시에서 반환된 Gzip 압축 응답이 이중 압축됨
APIRT-2873 제품/개발자/프록시 삭제 후 MP가 VerifyAPIKey와 관련된 NullPointerException을 발생시킴
APIRT-2871 IOIntensive 정책이 트레이스에 두 번 표시됨
APIRT-2825 액세스 토큰 오류 응답의 문법 오류
APIRT-2750 특정 조직에서 트래픽 실패가 높음
APIRT-2685 알 수 없는 오류가 발생하여 트래픽이 흐를 수 없음
APIRT-2647 "기본 입력 스트림이 0바이트를 반환했습니다" 오류(비프로덕션/개발)
APIRT-2630 캐시에서 값을 읽으려고 할 때 간헐적인 문제 발생
APIRT-2620 일부 차단 단계의 별도 스레드 풀
APIRT-2610 응답 캐시 정책의 java.lang.ClassCastException
APIRT-2608 응답 캐시 정책의 Last-Modified 헤더 파싱 오류
APIRT-2605 '조직' 및 '환경' 변수를 정책을 통해 덮어쓰도록 허용해서는 안 됨
APIRT-2566 OAuthV2 정책이 잘못된 형식의 WWW-Authenticate 헤더를 반환함
APIRT-2491 관리와 MP 간의 RPC 제한 시간으로 인해 TargetServer 업데이트가 실패함
APIRT-2386 허용된 OAuth 범위가 비어 있는 API 제품에서 빈 문자열 범위가 생성됨
APIRT-2383 XSL 변환 정책이 오류 시 데이터를 로깅하지 않는 것으로 보임 오류
APIRT-2364 오류 시 OAuth 오류 흐름 변수가 업데이트되지 않음
APIRT-2216 서버 전송 이벤트 - 프로덕션에서 이벤트 스트림에 문제가 있음
APIRT-2079 생성된 세션의 제한 시간이 만료된 후에도 디버그 cURL 호출이 중지되지 않음
APIRT-1495 XML 위협 방지가 fhir Content-Type을 포착하지 않음
APIRT-347 XSL 정책이 가져오기 시 올바르게 검증되지 않음 (문서화된 대로 출력 변수에 결과를 할당하지 않음) )