Amazon Web Services 한국 블로그
AWS Data Exchange for APIs 발표 – 일관된 인증으로 타사 API 검색, 구독 및 사용 기능 제공
기계 학습 모델 훈련에 사용되는 대규모 데이터 세트, 관계형 데이터베이스, API 기반 통합 등 데이터는 많은 프로세스와 제품의 중심에 있습니다. AWS Data Exchange를 사용하면 Reuters, Foursquare, Change Healthcare, Vortexa, IMDb 등과 같은 타사에서 제공하는 Amazon Simple Storage Service(Amazon S3)를 통해 수백 개의 파일 기반 데이터 세트를 검색, 구독 및 사용할 수 있습니다. 또한 Amazon Redshift용 AWS Data Exchange를 사용하면 수동으로 처리하거나 변환하지 않고도 Amazon Redshift 데이터 웨어하우스에서 타사 데이터를 훨씬 쉽게 수집할 수 있습니다.
그러나 많은 경우 소량의 정보를 동기적으로 자주 검색해야 하기 때문에 데이터 프로젝트에 정적 데이터 세트 이상의 데이터가 필요합니다. 매시간 주가를 가져와야 하는 경우를 예로 들 수 있습니다. 데이터 API를 사용하면 대량 데이터 세트를 수집, 처리 및 분석하기 위한 임시 데이터 파이프라인을 구축할 필요 없이 특정 질문에 신속하게 답변할 수 있습니다. 그러나 각 API 제공업체마다 자체적인 사용 편의성, SDK, 문서 및 인증 메커니즘이 있으므로 작업이 필요한 수준보다 더 어려워집니다.
오늘, 새로운 기능인 API용 AWS Data Exchange가 정식 출시된다는 것을 발표하게 되어 기쁩니다. 이 기능을 통해 일관된 AWS 네이티브 인증 및 거버넌스뿐 아니라 AWS SDK를 사용하는 일관된 액세스를 통해 타사 API를 검색, 구독 및 사용할 수 있습니다. 따라서 여러 타사 API에 대한 액세스를 통합하고 보호해야 하는 개발자 및 IT 관리자의 업무가 간소화됩니다.
이제 RESTful 또는 GraphQL API를 AWS Data Exchange로 직접 호출하고, 원하는 프로그래밍 언어로 AWS SDK를 사용하여 필요한 정보가 포함된 동기 응답을 수신할 수 있습니다. AWS가 API 제공업체와의 통합, 적절한 인증 구현, API 구독 관리, AWS 청구서에 요금 표시를 모두 처리합니다. AWS Identity and Access Management(IAM)를 사용하여 중앙에서 API 액세스를 관리할 수 있습니다.
데이터 제공업체는 OpenAPI 사양을 사용하여 AWS Data Exchange 카탈로그에 API를 나열하고 Amazon API Gateway 엔드포인트와 함께 처리함으로써 수백만 명의 AWS 고객이 API를 검색할 수 있도록 합니다.
API용 AWS Data Exchange 실행
먼저 AWS Data Exchange 카탈로그에서 API 제품을 찾고 구독 약관, 지원 정보 및 자동 갱신을 검토합니다. 각 API 제품에는 여러 공개 또는 비공개 구독 제안과 기간이 포함될 수 있습니다.
[구독(Subscribe)]을 선택하면 몇 분 후에 구독이 완료됩니다.
API 제품 내에서 권한이 부여된 데이터 세트와 최신 수정 버전을 선택합니다.
각 API 개정에는 특정 API 엔드포인트 및 고유한 자산 ARN에 해당하는 하나 이상의 API 자산이 포함됩니다.
AWS Data Exchange에서 올바른 인증으로 API 엔드포인트 호출을 처리합니다.
사용자는 AWS 명령줄 인터페이스(CLI)를 기반으로 하는 지침과 코드 조각이 포함된 [통합 참고 사항(Integration notes)]만 확인하면 됩니다.
물론 AWS SDK 중 하나를 사용하여 자주 사용하는 프로그래밍 언어로 동일한 API 호출을 구현할 수도 있습니다.
예를 들어, Python에서 간단한 래퍼 함수를 구현하는 방법은 다음과 같습니다.
import json
import urllib
import boto3
adx = boto3.client('dataexchange')
def get_api_response(path, method="GET", querystring={}, headers={}, body={}):
return adx.send_api_asset(
DataSetId="4b3fbabc31171662851531b8576a3411",
RevisionId="e8e78e921af12c76499edc40f92e3082",
AssetId="557d858c317efdfb5b6c9a2860ec4a03",
Method=method,
Path=path,
QueryStringParameters=urllib.urlencode(querystring),
RequestHeaders=urllib.urlencode(headers),
Body=json.dumps(body),
)
위의 코드에는 하드 코딩된 자격 증명이 없습니다. 모든 승인이 AWS Identity and Access Management(IAM)를 통해 이루어지기 때문입니다.
이것이 바로 API용 AWS Data Exchange를 통해 첫 번째 API 호출을 수행하는 방법입니다.
정식 출시
API용 AWS Data Exchange는 일반적으로 AWS Data Exchange가 사용 가능한 모든 AWS 리전에서 사용할 수 있습니다. AWS는 이번 출시를 통해 타사 API의 관리 및 거버넌스를 단순화하고 중앙 집중화하는 동시에 일상적이면서 번거로운 작업을 처리하도록 도울 수 있게 되기를 기대합니다.
이제 Infutor, Variety Business Intelligence, IMDb, PeopleDataLabs, Neustar, Experian, Foursquare, PredictHQ, WeatherTrends International 등과 같은 타사 API를 통합할 수 있습니다.
개발자인 경우 새로운 API용 AWS Data Exchange 설명서를 참조하여 API 구독 및 사용에 대해 자세히 알아보세요. API 제공업체인 경우 새 게시 설명서를 참조하여 AWS Data Exchange 카탈로그에 새 API를 게시하는 방법에 대해 자세히 알아보세요.
— Alex