Apigee Edge 문서를 보고 있습니다.
Apigee X 문서로 이동하세요. info
Apigee Edge API 샘플에는 아래에 설명된 Apigee Edge API 서비스의 기능을 보여주는 샘플 API 프록시, 정책, 코드, 도구가 포함되어 있습니다.
샘플 사용에 대한 안내는 샘플 API 프록시 사용을 참고하세요.
직접 따라 하며 배워보세요
빨리 실습을 시작하고 Apigee Edge에 관한 탄탄한 지식 기반을 구축하고 싶으신가요? GitHub에는 가장 간단한 프록시부터 시작하여 API 키 유효성 검사, 할당량, 응답 캐싱, 오류 처리 등을 보여주는 프록시로 이동하는 몇 가지 샘플 프록시를 빠르게 배포, 호출, 추적할 수 있는 'learn-edge' 샘플 라이브러리가 있습니다.
저장소를 클론하고 환경을 설정하면 (몇 분 소요) 1분 이내에 각 샘플을 사용해 볼 수 있습니다. 각 샘플은 동일한 프록시의 새 버전을 만들기 때문에 환경이 많은 샘플로 인해 어수선해지지 않습니다. 언제든지 버전을 전환하고 관리 UI에서 다른 버전을 다시 배포하고 프록시 코드를 확인할 수 있습니다. 각 샘플의 README에는 샘플이 하는 일과 설정 방법에 관한 간략한 설명도 나와 있습니다.
직접 사용해 보세요. https://github.com/apigee/api-platform-samples/tree/master/learn-edge
문서 설명서 샘플
API 프록시 설명서 주제에 대한 샘플이 제공됩니다.
| 이름 | 설명 | 정책 유형 | 리소스 |
|---|---|---|---|
| javascript-cookbook | 변수에서 HTTP 헤더를 추가하고, JSON에서 XML로 XML 형식 날씨 보고서를 변환하고, 모바일 클라이언트를 위해 콘텐츠를 자르는 간단한 JavaScript 스니펫을 보여줍니다. | minimize.js setHeaders.js |
|
| javascript-mashup-cookbook | 공개 API를 호출하고 결과를 결합하며 클라이언트 앱에 대한 풍부한 응답을 생성하는 완전한 JavaScript 애플리케이션입니다. (참고: 이 API 프록시는 policy-mashup과 동일한 기능을 구현하여 다양한 기술을 사용하여 동일한 문제를 해결할 수 있음을 보여줍니다.) | JavaScript | MashItUp.js |
| java-hello | 간단한 hello world Java 콜아웃입니다. | JavaCallout | JavaHello.java |
| java-cookbook | 응답 콘텐츠와 헤더를 대문자로 변환합니다. | JavaCallout |
ResponseUppercase.java |
| java-properties | Java 콜아웃에서 속성을 사용하는 방법을 보여줍니다. | JavaCallout | JavaProperties.java |
| java-error | Java 콜아웃 코드에서 사용할 수 있는 오류 처리 패턴을 보여줍니다. | JavaCallout | JavaError.java |
| policy-mashup-cookbook | 정책 구성을 사용하여 두 개의 공개 API를 호출하고 결과를 결합하며 클라이언트 앱에 대한 풍부한 응답을 생성하는 완전한 애플리케이션입니다. (참고: 이 API 프록시는 javascript-mashup과 동일한 기능을 구현하여 다양한 기법을 사용하여 동일한 문제를 해결할 수 있음을 보여줍니다.) | AssignMessage ServiceCallout ExtractVariables Javascript XMLToJSON |
GenerateResponse.js |
샘플 API 프록시
다음 API 프록시는 GitHub에 있으며, README 페이지에 샘플에 대한 자세한 설명이 나와 있습니다. 샘플에서 특정 정책이 어떻게 작동하는지 알아보려면 아래의 정책 유형 열에서 관심 있는 정책을 찾은 다음 이름 열에서 샘플 이름을 클릭합니다. (정책은 문서의 각 참조 페이지에 연결되어 있습니다.)
참조 및 도구
위 표의 문서 쿡북 샘플 및 샘플 프록시 외에도 Edge GitHub 샘플에는 다음 리소스가 포함되어 있습니다.
| 이름 | 설명 | 정책 유형 | 리소스 |
|---|---|---|---|
| regex-protection | 정규 표현식 위협 보호 정책은 SQL 삽입 공격으로부터 백엔드 API와 마이크로서비스를 보호할 수 있습니다. | 해당 사항 없음 | |
| oauth-validate-key-secret | OAuth 비밀번호 부여 유형 흐름을 구현하고 있습니다. 사용자의 사용자 인증 정보를 검증하기 위해 외부 ID 공급업체를 호출하기 전에 Edge에서 애플리케이션 클라이언트 키와 보안 비밀을 모두 검증해야 합니다. | OAuthV2, 기타 | 해당 사항 없음 |
| condition-pattern-matching | 이 프록시를 사용하면 API 프록시 흐름에서 조건문을 쉽게 사용해 보고 테스트할 수 있습니다. | AssignMessage | 해당 사항 없음 |
| access-entity | Apigee Edge 데이터 스토어에서 항목의 프로필을 가져오는 방법을 보여줍니다. | AssignMessage AccessEntity ExtractVariables |
없음 |
| apikey | 간단한 API 키 검증을 구현합니다. | VerifyAPIKey AssignMessage Quota |
없음 |
| async-callout | JavaScript httpClient를 사용하여 간단한 비동기 콜아웃을 보여줍니다. | JavaScript | assemble_response.js callout.js |
| base64encoder | API 프록시의 JavaScript 리소스에서 JavaScript 인클루드를 호출하는 방법을 보여줍니다. | AssignMessage JavaScript |
core-min.js enc-utf16-min.js enc-base64-min.js encodeAuthHeader.js |
| conditional-policy | 간단한 조건부 정책 시행을 구현합니다. 요청에 HTTP 헤더 responsetime:true가 포함된 경우 정책은 성능 측정항목 집합을 HTTP 헤더로 응답 메시지에 추가하는 Python 스크립트를 실행합니다. | 스크립트(Python) | timer.py |
| dynamic-endpoint | 두 개의 URL과 하나의 기본 경로를 정의하는 약간 더 복잡한 시나리오에서 간단한 조건부 라우팅을 구현합니다. | 없음 | 없음 |
| jira-release-notes | Apigee 문서팀이 Jira에서 출시 노트를 생성하는 데 사용하는 API 프록시입니다. | JSONToXML XSL |
releasenotes_api.xsl |
| kerberos-credential-mediation | 이 샘플은 Apigee Edge에서 Kerberos 사용자 인증 정보 미디에이션을 실행하는 방법을 보여줍니다. | JavaCallout | Java JAR 파일 |
| oauth-advanced | Apigee Edge가 승인 서버인 승인 코드 부여 유형 흐름의 완전하고 작동하는 예시 |
GenerateAccessToken 기타 다수 |
예시 코드 참고 |
| oauth-client-credentials | 클라이언트 사용자 인증 정보 부여 유형에 맞게 구성된 완전한 기능을 갖춘 OAuth 2.0 토큰 엔드포인트를 보여줍니다. | GenerateAccessToken | 없음 |
| oauth-login-app | 지원 중단되었습니다. 대신 oauth-advanced 샘플을 살펴보는 것이 좋습니다. | ||
| oauth-validate-key-secret | 비밀번호 부여 유형 흐름에서 사용자 인증 정보를 검증하기 위해 ID 공급업체를 호출하기 전에 클라이언트의 키와 보안 비밀을 검증하는 기법을 보여줍니다. | OAuthV2 AssignMessage ExtractVariables ServiceCallout RaiseFault |
없음 |
| oauth-verify-accesstoken | OAuth 2.0 액세스 토큰의 유효성을 검사하고 할당량을 확인하도록 구성된 API 프록시를 보여줍니다. | VerifyAccessToken Quota |
없음 |
| oauth10a-3legged | OAuth 1.0a 3각 구성을 보여줍니다. | GenerateAceessToken GenerateRequestToken ServiceCallout VerifyAccessToken |
없음 |
| outbound-oauth | Microsoft Azure Translator API를 사용하여 트윗을 변환합니다. 이를 위해 아웃바운드 호출을 수행하여 OAuth 액세스 토큰을 가져온 다음, API 서비스 캐싱 정책에 따라 토큰을 캐시합니다. 그러면 아웃바운드 호출이 수행될 때마다 캐시된 토큰이 재사용됩니다. 또한 API 프록시를 호출하는 데 사용되는 데모 브라우저 앱도 포함됩니다. | AssignMessage LookupCache PopulateCache Javascript |
api-config.js api-token-get.js translate-query.js translate-results.js |
| 페이지로 나누기 | 클라이언트가 제공한 limit 및 offset 매개변수를 기반으로 XML 응답 메시지를 페이지로 나눕니다. | AssignMessage ExtractVariables ResponseCache VerifyApiKey XSL |
paginate.xslt |
| response-cache | Edge에서 10분 동안 날씨 예보를 캐시하는 방법을 보여줍니다. | ResponseCache AssignMessage |
없음 |
| simple-python | 헤더 값을 추가하는 Python 스크립트를 응답에 연결하는 간단한 시나리오를 보여줍니다. |
스크립트(Python) | setHeader.py |
| soap | ?wsdl 쿼리 매개변수가 포함된 요청에 대한 응답으로 WSDL 파일을 다시 작성하는 XSL 변환을 보여줍니다. | AssignMessage ExtractVariables Script (Python) XSL |
calculateaddress.py fixwsdl.xsl |
| 스트리밍 | HTTP 스트리밍 구성을 보여줍니다. | 없음 | 없음 |
| target-reroute | 요청 메시지의 콘텐츠를 기반으로 타겟 URL을 동적으로 선택하는 데 JavaScript를 사용하는 방법을 보여줍니다. | ExtractVariables Javascript |
rewriteTargetUrl.js |
| twitter-mobile-timeline | JavaScript를 사용하여 트윗에서 불필요한 매개변수를 삭제하여 리소스가 제한된 휴대기기에 적합한 간소화된 트위터 타임라인을 만드는 방법을 보여줍니다. | AssignMessage JavaScript |
MobileTimeline.js |
| twitter-oembed | 타임라인 응답 (예: statuses/user_timeline.json)을 타임라인 데이터를 리치 HTML 콘텐츠로 포함하는 oEmbed 응답으로 변환합니다. | AssignMessage JavaScript |
search-oembed.js |
| variables | 전송과 JSON 및 XML 메시지 내용을 기반으로 변수를 추출하고 설정하는 방법을 보여줍니다. | AssignMessage ExtractVariables XMLToJSON |
minimize.js |
| xmltojson | 응답 데이터를 XML에서 JSON으로 변환합니다. | XMLToJSON JSONToXML |
없음 |
|
|
API 프록시, 정책, API 제품, 개발자 및 앱 프로필을 구성할 때 참조로 사용할 수 있는 XML 스키마 파일 |
||
|
|
Apigee Edge의 조직으로 API 프록시를 가져온 후 지정된 환경에 배포하는 배포 도구 deploy.py가 포함되어 있습니다. |
||
|
|
조직 스냅샷 도구는 개발자, API 제품, 가상 호스트, 키-값 맵 등 조직 설정을 가져옵니다. 조직의 세부정보를 백업하거나 조직의 설정을 검색하는 데 사용할 수 있습니다. |
Apigee-127
코더라면 Apigee-127을 사용하여 Node.js 및 Swagger로 API 프록시를 코딩할 수 있습니다. GitHub(https://github.com/apigee-127/a127-samples)에서도 a127 샘플을 확인할 수 있습니다.
내 경험 공유하기
Apigee 개발자 포럼에서 경험을 공유하세요.