현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동 정보
2016년 8월 30일 화요일에 퍼블릭 클라우드용 Apigee Edge의 새 버전이 출시되었습니다.
새로운 기능 및 업데이트
다음은 이번 출시의 새로운 기능과 업데이트입니다.
메시지 할당 및 오류 발생의 JSON 페이로드
이 개선사항을 통해 적절한 JSON 메시지 형식을 보장하기 위한 해결 방법이 필요하지 않으며 잘못된 JSON을 만들지 않고도 중괄호를 사용하여 변수를 지정할 수 있습니다. 예를 들어 다음은 JSON 메시지에 message.content의 값을 삽입합니다.
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
해결 방법을 사용했다면 코드는 계속 있는 그대로 작동합니다. 중괄호 대신 변수 접두사 및 varSuffix를 사용하여 변수를 표시할 수도 있습니다.
메시지 할당 정책 및 오류 정책 참조 문서에서 <Set><페이로드> 요소를 확인하세요. (APIRT-1160)
XML에서 JSON으로 정책 개선사항
XML to JSON 정책이 다음 기능으로 개선되었습니다. 다음과 같이 정책을 구성할 수 있습니다.
- 변환 중에 일부 XML 요소를 배열로 취급하여 JSON 문서에서 값을 대괄호 '[ ]' 안에 넣습니다.
- 최종 JSON 문서에서 XML 문서 계층 구조의 수준을 제거하거나 제거합니다.
자세한 내용은 XML to JSON 정책을 참고하세요. (APIRT-1144)
API 제품 리소스 경로의 여러 와일드 카드
API 제품에서 리소스 경로를 정의할 때 리소스 경로의 여러 위치에 와일드 카드를 포함할 수 있습니다. 예를 들어 /team/*/invoices/**
는 /team
뒤에 값이 하나 있고 invoices/
이후의 리소스 경로를 사용하는 API 호출을 허용합니다. API 호출에 허용되는 URI는 proxyBasePath/team/finance/invoices/company/a
입니다.
이 출시 이후 기존 API 제품 리소스 경로가 예상대로 작동하지 않으면 조직에서 다음 속성을 설정하여 이전 동작으로 되돌리세요. features.enableStandardWildCardMatchForAPIProductResources = true
(MGMT-3273)
JavaScript의 암호화 함수
MD5, SHA-1, SHA256, SHA512 객체를 만들고, 가져오고, 업데이트하는 데 새로운 고성능 자바스크립트 crypto
함수 세트를 사용할 수 있습니다.
crypto 객체를 사용하면 다양한 형식으로 날짜를 가져올 수도 있습니다. 자세한 내용은 JavaScript 객체 모델을 참조하세요.
(APIRT-2886)
Java 콜아웃 JAR 버전 확인
API 프록시에 자바 JAR 리소스를 업로드할 때 자바 리소스 버전이 지원되는 소프트웨어 및 지원되는 버전에 나와 있는 에지 지원 자바 버전과 호환되지 않으면 500 대신 HTTP 400 상태 코드가 반환됩니다. (MGMT-3420)
API 프록시 리소스 검증
API 프록시 리소스 파일 (예: 자바스크립트 또는 자바 JAR)이 환경 또는 조직 범위에 저장된 경우 유효성 검사 프레임워크에서는 유효성 검사를 통과하기 위해 가져올 수 있도록 이러한 리소스를 프록시 번들의 API 프록시 수준에도 포함할 필요가 없습니다. 이제 리소스 검증은 가져오기 시점이 아닌 배포 시에 수행됩니다. (MGMT-1430)
개별 API 프록시의 제한 시간 구성
지정된 시간 (504 게이트웨이 제한 시간 상태)이 지나면 타임아웃되도록 API 프록시를 구성할 수 있습니다. 기본 사용 사례는 API 프록시를 사용하는 데 시간이 더 오래 걸리는 Private Cloud 고객을 위한 것입니다. 예를 들어 3분에 타임아웃되려면 특정 프록시가 필요하다고 가정해 보겠습니다. API 프록시 구성에서 새 api.timeout
속성을 사용할 수 있습니다. 3분 예시를 사용하여 이 작업을 실행하는 방법은 다음과 같습니다.
- 먼저 3분 후에 타임아웃되도록 부하 분산기, 라우터, 메시지 프로세서를 구성해야 합니다.
- 그런 다음 관련 프록시를 3분 후에 타임아웃하도록 구성합니다. 밀리초 단위로 값을 지정합니다. 예를 들면 다음과 같습니다.
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ...
- 그러나 api.timeout 설정이 없는 모든 프록시는 더 높은 새 부하 분산기, 라우터, 메시지 프로세서 시간 제한을 사용하기 때문에 시스템 시간 제한을 늘리면 성능 문제가 발생할 수 있습니다. 따라서 더 짧은 제한 시간을 사용하려면 더 긴 제한 시간이 필요하지 않은 다른 API 프록시를 구성해야 합니다. 예를 들어 다음은 1분 후에 타임아웃되도록 API 프록시를 설정합니다.
<Property name="api.timeout">60000</Property>
Edge 시간 제한을 수정할 수 없는 클라우드 고객은 제한 시간이 표준 Edge 메시지 프로세서 제한 시간인 57초보다 짧으면 API 프록시 제한 시간을 구성할 수도 있습니다.
변수로 값을 채울 수 없습니다. 이 속성은 엔드포인트 속성 참조에서 다룹니다. (APIRT-1778)
메시지 로깅 정책용 TLS/SSL
메시지 로깅 정책의 SSLInfo
구성에서 <KeyStore>
및 <TrustStore>
를 설정하여 로깅 서비스와 함께 단방향 및 양방향 TLS/SSL을 허용할 수 있습니다. 프록시
TargetEndpoint에서와 동일한 방식으로 메시지 로깅 정책에 SSLInfo를 구성합니다. 하지만 메시지 로깅 TLS/SSL은 TCP 프로토콜만 지원합니다.
(APIRT-1858)
수정된 버그
다음은 이번 출시 버전에서 수정된 버그입니다. 이 목록은 주로 자신의 지원 티켓에서 제기한 문제가 수정되었는지 확인하는 사용자를 위한 것입니다. 모든 사용자에게 자세한 정보를 제공하기 위한 목적은 아닙니다.
문제 ID | 설명 |
---|---|
SECENG-609 | 연결된 트러스트 저장소를 삭제하는 중에 또는 트러스트 저장소의 유효한 인증서가 삭제될 때 런타임 호출이 실패하지 않음 |
MGMT-3404 | Node.js 로그 보기/검색 및 프록시 배포가 매우 느림 |
MGMT-3400 | 호출하는 사용자의 이름에 '+' 기호가 있는 경우 /userroles 관리 API 호출이 실패함 |
MGMT-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, resource/node/resources 디렉터리가 포함된 API 프록시 번들을 가져올 때 |
MGMT-3364 | OAuthV2: redirect_uri 검사 |
MGMT-3319 | 조직 (CPS 및 비CPS)에 적합하지 않은 항목 중 하나에 null 값이 포함된 Vault 항목 나열 |
MGMT-3226 | 조직/환경 수준에서 쿼리해도 API 오류를 야기하는 모든 데이터를 가져올 수 없음 Release_160302에서 리소스의 누적 크기가 16MB를 초과하면 조직 수준/환경 수준에서 리소스 나열에 실패하는 버그가 발생했으며 이 수정사항으로 문제가 해결되었습니다. |
AXAPP-2429 | response_status_code를 사용하는 애널리틱스 API가 데이터 액세스 오류를 반환함 |
AXAPP-2386 | 애널리틱스 일일 이메일 보고서에서 빈 보고서 내용 수정 |
AXAPP-2347 | 일일 분석 요약 이메일을 받지 못함 |
APIRT-3141 | 생성자가 비공개로 설정되었기 때문에 새 ExecutionResult()를 호출할 때 Java 콜아웃이 실패함 |
APIRT-3140 | HEAD API 호출에서 ServiceCall 정책이 작동하지 않습니다. |
APIRT-3131 | 외부 인증 제공업체를 통해 수익 창출을 사용할 때 API 프록시에 표시되는 잘못된 createdBy |
APIRT-3121 | 조직 리소스 파일 변경이 100% 효과적이지 않음 |
APIRT-3117 | MP가 100% CPU 사용률에 도달하고 트래픽 처리를 중지함 |
APIRT-3016 | 배포의 라우터 '호출 시간 초과' 오류 |
APIRT-2975 | 인증서 번들 업로드 실패 |
APIRT-2955 | FHIR-complaint Content-Type 헤더 'application/json+fhir'에 대해 JSON 응답 데이터의 특정 속성을 마스킹할 수 없음 |
APIRT-2946 | 표시가 false로 설정되어 있는데도 OAuthV2-RefreshToken 정책이 속성을 숨기지 않음 |
APIRT-2908 | virtualhost의 TLS1.2 업데이트 후 내부 API 호출에 TLS1.2를 적용해야 합니다. |
APIRT-2901 | 캐시에서 반환된 gzip으로 압축된 응답은 이중 압축됨 |
APIRT-2873 | 제품/developers/proxies를 삭제한 후 MP에서 VerifyAPIKey와 관련된 NullPointerException을 발생시킵니다. |
APIRT-2871 | Trace에 IOIntensive 정책이 두 번 표시됨 |
APIRT-2825 | accesstoken 오류 응답에 문법적 오류가 있음 |
APIRT-2750 | 특정 조직에서 트래픽 실패가 높음 |
APIRT-2685 | 알 수 없는 오류가 발생하여 트래픽이 전달될 수 없음 |
APIRT-2647 | nonprod/dev에서 '기본 입력 스트림이 0바이트를 반환함' 오류 발생 |
APIRT-2630 | 캐시에서 값을 읽으려고 할 때 간헐적으로 발생하는 문제 |
APIRT-2620 | 일부 차단 단계를 위한 별도의 스레드 풀 |
APIRT-2610 | 응답 캐시 정책이 있는 java.lang.ClassCastException |
APIRT-2608 | 응답 캐시 정책의 Last-Modified 헤더 파싱 오류 |
APIRT-2605 | 'organization' 및 'environment' 변수를 정책을 통해 덮어쓸 수 없어야 합니다. |
APIRT-2566 | OAuthV2 정책이 잘못된 형식의 WWW-Authenticate 헤더를 반환함 |
APIRT-2491 | 관리와 mps 간의 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 정책이 제대로 검증되지 않습니다 (문서화된 대로 출력 변수에 결과를 할당하지 않음). |