개발 도구

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

서비스 제공업체는 클라이언트 앱에서 사용할 API를 개발합니다. API 프록시 및 API 제품을 만들고 구성하고 유지보수하려면 UI를 사용하거나 API에 HTTP 요청을 실행하여 다음 섹션에 설명된 대로 RESTful 서비스에 액세스하면 됩니다.

Edge UI 사용

Apigee Edge UI는 API 프록시 및 API 제품을 만들고 구성하고 관리하는 데 사용할 수 있는 브라우저 기반 도구입니다. 일부 작업은 API를 사용해서만 수행할 수 있습니다.

다음 표에서는 Edge UI에 액세스하는 방법을 설명합니다.

제품 UI 이름 액세스 URL
Edge Edge UI

Edge UI에 액세스하려면 다음 URL을 사용하세요.

https://apigee.com/edge

Edge UI 사용에 관한 튜토리얼은 첫 번째 API 프록시 빌드를 참고하세요.

프라이빗 클라우드용 Edge 기본 Edge UI

프라이빗 클라우드용 Edge의 Edge UI에 액세스하려면 다음 URL을 사용하세요.

http://ms-ip:9000

여기서 ms-ip는 관리 서버 노드의 IP 주소 또는 DNS 이름입니다.

Edge UI를 사용하면 다음을 수행할 수 있습니다.

  • 코드를 수정하고 프록시를 통해 요청 흐름을 추적하여 API 프록시를 만듭니다.
  • 클라이언트 요청에 노출하기 위해 프록시를 번들로 묶는 API 제품을 만듭니다.
  • 개발자 및 개발자 앱을 관리합니다.
  • 테스트 및 프로덕션 환경을 구성합니다.
  • JavaScript 및 Node.js 애플리케이션을 구현합니다.

다음 이미지는 API 프록시를 만들고 구성하는 데 사용할 수 있는 UI의 API 프록시 편집기를 보여줍니다.

Edge UI의 API 프록시 편집기에서 개발 탭이 선택된 상태를 보여줍니다.

Edge API 사용

Edge API를 사용하여 API 리소스를 관리할 수 있습니다. API는 UI에 노출되지 않는 하위 수준 기능에 대한 액세스도 제공합니다.

API 엔드포인트는 구성 정보가 포함된 데이터를 사용하는 경우가 많으며 액세스하려면 사용자 이름, 비밀번호와 같은 인증 정보를 전달해야 합니다. RESTful 원칙에 따라 API 리소스에서 HTTP GET, POST, PUT, 및 DELETE 메서드를 호출할 수 있습니다.

Apigee Edge API의 전체 목록은 Apigee Edge API 참조를 확인하세요.

Edge API 기본 경로 이해

API 요청에 사용할 경로는 다음을 연결합니다.

  • 조직 이름을 포함하는 기본 경로 입니다. 예: https://api.enterprise.apigee.com/v1/organizations/org_name
  • 액세스하는 Edge 리소스를 가리키는 엔드포인트 입니다.

예를 들어 조직 이름이 apibuilders인 경우 API에 대한 모든 호출은 다음 기본 경로를 사용합니다.

https://api.enterprise.apigee.com/v1/organizations/apibuilders

조직의 API 프록시 목록을 검색하려면 다음에서 GET을 호출합니다.

https://api.enterprise.apigee.com/v1/organizations/apibuilders/apis

많은 리소스가 환경별로 범위가 지정됩니다. 기본적으로 두 가지 환경(테스트 및 프로덕션)이 제공됩니다. 예를 들어 캐시는 환경별로 범위가 지정됩니다. 'mycache'라는 공유 캐시는 기본적으로 모든 환경에 포함됩니다.

다음과 같이 캐시 리소스에서 GET을 호출하여 캐시를 나열할 수 있습니다.

https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/test/caches
https://api.enterprise.apigee.com/v1/organizations/apibuilders/environments/prod/caches

액세스 인증

API를 호출할 때는 API 서버에 인증해야 합니다. 다음 방법 중 하나로 이 작업을 수행할 수 있습니다:

또한 Apigee 계정에 2단계 인증 사용 설정 에 설명된 대로 2단계 인증을 사용하는 것이 좋습니다.

Edge API 한도

각 조직은 다음과 같은 Edge API 호출 비율로 제한됩니다.

  • 유료 요금제 조직의 분당 호출 10,000회
  • 평가판 조직의 분당 호출 600회

HTTP 상태 코드 401403은 이 한도에 포함되지 않습니다. 이러한 한도를 초과하는 호출은 429 Too Many Requests 상태 코드를 반환합니다.

Edge API 작업 도움말

이 섹션에서는 Edge API 작업을 더 쉽게 만드는 몇 가지 기법을 설명합니다.

요청 URL 약어

Edge API에 대한 요청 URL을 빌드할 때 다음 약어를 사용할 수 있습니다.

  • /e = /environments
  • /o = /organizations
  • /r = /revisions

약어를 사용하는 경우 일관되게 사용해야 합니다. 즉, 위에 설명되고 다음 예에 나와 있는 것처럼 경로의 모든 요소를 약어로 표시하거나 약어로 표시하지 않아야 합니다. 동일한 경로에서 전체 요소와 약어 요소를 모두 사용하면 오류가 발생합니다.

예를 들면 다음과 같습니다.

THIS:
https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/environments/prod/apis/helloworld/revisions/1/deployments
CAN BE MUCH SHORTER:
https://api.enterprise.apigee.com/v1/o/ahamilton-eval/e/prod/apis/helloworld/r/1/deployments

curl 명령어 실행

HTTP 클라이언트를 사용하여 API에 요청합니다. 문서의 많은 예에서는 널리 사용되는 HTTP 클라이언트인 curl을 사용하는 샘플 API 요청을 제공합니다. 을 설치해야 하는 경우 http://curl.haxx.se에서 다운로드할 수 있습니다.curl

API 호출은 응답에 gzip 압축을 지원합니다. API 호출에서 'Accept-Encoding: gzip, deflate'를 설정하면 1024바이트보다 큰 응답이 gzip 형식으로 반환됩니다.

XML 및 JSON 요청 및 응답 형식 지정

Edge API는 기본적으로 데이터를 JSON으로 반환합니다. 많은 요청에서 응답을 XML로 다시 전송할 수 있습니다. 이렇게 하려면 다음 예와 같이 Accept 요청 헤더를 application/xml로 설정합니다.

curl -H "Authorization: Bearer `get_token`" \
  -H "Accept: application/xml" \
  https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  | xmllint --format -

다음과 같은 응답이 표시됩니다.

<List>
  <Item>SOAP-Message-Validation-1</Item>
  <Item>Spike-Arrest-1</Item>
  <Item>XML-to-JSON-1</Item>
</List>

이 예에서는 prettyprint를 사용하여 xmllint를 통해 응답을 파이핑하여 결과를 표시합니다.

acurl 유틸리티는 Accept 헤더를 지원하지 않습니다. 따라서 JSON 형식의 응답만 acurl 가져올 수 있습니다.

JSON 응답에 prettyprint를 사용하려면 json.tool Python 라이브러리를 사용하면 됩니다.

curl https://api.enterprise.apigee.com/v1/organizations/ahamilton-eval/apis/helloworld/revisions/1/policies/ \
  -H "Accept: application/json" \
  -H "Authorization: Bearer `get_token`" \
  | python -m json.tool

다음은 응답의 예시입니다.

[
  "SOAP-Message-Validation-1",
  "Spike-Arrest-1",
  "XML-to-JSON-1"
]

XML의 경우 xmllint를 사용할 수 있습니다.

curl https://ahamilton-eval-test.apigee.net/getstarted -u email_address | xmllint --format -

XML에서 페이로드를 POST하거나 PUT할 때는 Content-type HTTP 헤더를 사용합니다.

acurl -H "Content-type:text/xml" -X POST -d \
'<XMLPayload>
 </XMLPayload> ' \
https://api.enterprise.apigee.com/v1/organizations/apifactory/apis -u email_address

배포 환경

Apigee Edge를 사용하는 모든 조직에는 기본적으로 API를 개발, 테스트, 배포하는 데 사용할 수 있는 두 가지 이상의 환경("test" 및 "prod")이 있습니다. API를 공개적으로 제공하기 전에 "test" 환경을 사용하여 API를 개발하고 테스트 합니다. 내부 개발자만 테스트 환경에 배포된 API 에 액세스할 수 있습니다. API를 'prod' 환경에 배포하여 앱 개발자가 공개적으로 사용할 수 있도록 합니다.

디버깅 및 테스트

Apigee는 엔드투엔드 요청 및 응답 흐름을 디버그할 수 있는 추적 도구를 제공합니다. 추적 결과에는 요청 및 응답 헤더와 페이로드, 정책 실행, 변수 값, 흐름 중에 발생할 수 있는 오류가 표시됩니다.

문제 해결에 사용할 주요 데이터 포인트는 다음과 같습니다.

  • 타임스탬프: 타임스탬프를 사용하여 각 단계를 실행하는 데 걸리는 시간을 확인합니다. 타임스탬프를 비교하면 API 호출 속도를 저하시키는, 가장 오래 걸리는 정책을 격리하는 데 도움이 됩니다.
  • 기본 경로: 기본 경로를 확인하면 정책이 올바른 서버로 메시지를 라우팅하는지 확인할 수 있습니다.
  • 정책 실행 결과: 이러한 결과를 통해 메시지가 XML에서 JSON으로 변환되는지 또는 메시지가 캐시되는지 등 메시지가 예상대로 변경되는지 확인할 수 있습니다.

다음 그림은 추적 결과를 보여줍니다.

Edge UI의 API 프록시 편집기에서 선택된 추적 탭을 보여줍니다.

각 추적 세션은 다음과 같은 주요 단계로 나뉩니다.

  • 클라이언트에서 수신된 원래 요청: 클라이언트 앱의 요청 동사 및 URI 경로, 헤더, 본문 데이터, 쿼리 매개변수를 표시합니다.
  • 백엔드 서비스로 전송된 요청: API 프록시에서 백엔드 서비스로 전송된 요청 메시지를 표시합니다.
  • 백엔드 서비스에서 반환된 응답: 백엔드 서비스에서 반환된 응답 헤더 와 페이로드를 표시합니다.
  • 클라이언트로 전송된 최종 응답: 응답 흐름이 실행된 후 요청 클라이언트 앱으로 반환된 응답 메시지입니다.