Amazon Marketplace 연결과 보고서 추출
Amazon Marketplace 커넥터는 원천 탐색, 배치 동기화, 증분 수집과 OAuth 2.0 인증을 지원하는 Foundry 제공 JDBC 드라이버입니다. Beta 단계이므로 플랫폼 인스턴스에서 제공되지 않을 수 있고 개발 중 동작이 변경될 수 있습니다.
판매자 보고서를 가져오는 연결은 SellerCentral 스키마를 사용하고 공급자 데이터에는 VendorCentral을 사용합니다.
연결 구성
Data Connection의 +New Source에서 Amazon Marketplace를 선택합니다. OAuth 인증 코드 흐름은 Foundry 워커에서 구성합니다. 소스에 자동으로 입력되는 콜백 URL을 Amazon의 사용자 정의 OAuth 애플리케이션에 등록하고 client ID와 secret을 넣습니다. 저장 후 소스 개요의 Authorize에서 승인합니다.
승인 시작, 갱신과 철회에는 기본적으로 소스의 Owner 역할이 필요합니다. OAuth 인증 코드 흐름에서는 ConnectOnOpen=true를 사용하지 않습니다. InitiateOAuth=REFRESH는 이미 승인한 토큰의 갱신에 사용하는 값이며, CData의 직접 연결에서 최초 발급과 갱신을 함께 수행하는 값은 GETANDREFRESH입니다. Foundry에서 관리하는 승인 절차를 우회하기 위해 로컬 브라우저 설정을 그대로 복사하지 않습니다.
| 속성 | 요구 수준 | 의미와 설정 | 기본값 |
|---|---|---|---|
IncludeReports | 권장 | 이미 생성한 보고서를 뷰로 노출할지 지정합니다. SellerCentral과 VendorCentral 모두에 적용합니다. | FALSE |
InitiateOAuth | 권장 | OAuth 액세스 토큰 발급 또는 갱신 절차입니다. Foundry의 승인 흐름과 맞춰 설정합니다. | REFRESH |
Marketplace | 권장 | 판매자로 등록한 판매 지역입니다. | United States |
OAuthClientId | 권장 | 사용자 정의 OAuth 앱의 client ID, 즉 consumer key입니다. | 미지정 |
OAuthClientSecret | 권장 | 사용자 정의 OAuth 앱의 client secret, 즉 consumer secret입니다. | 미지정 |
Schema | 권장 | SellerCentral 또는 VendorCentral을 선택합니다. 판매자 보고서는 SellerCentral을 사용합니다. | SellerCentral |
SellerId | 권장 | 계정 생성 시 발급한 Seller ID 또는 판매자 식별자입니다. | 미지정 |
Marketplace 지역 값에는 Australia, Belgium, Brazil, Canada, Egypt, France, Germany, India, Ireland, Italy, Japan, Mexico, Netherlands, Poland, Saudi Arabia, Singapore, Spain, Sweden, Turkey, United Arab Emirates, United Kingdom, United States가 있습니다.
외부 통신 대상과 리전
필요한 각 대상에 외부 통신 정책을 추가합니다. Foundry에서 직접 도달할 수 없는 경로는 에이전트 프록시를 사용하며 에이전트 호스트도 대상에 접근할 수 있어야 합니다.
Selling Partner API의 판매 리전과 AWS 리전은 같은 문자열이 아닙니다.
| 판매 리전 | API 호스트 | 대응 AWS 리전 |
|---|---|---|
| 북미 | sellingpartnerapi-na.amazon.com | us-east-1 |
| 유럽 | sellingpartnerapi-eu.amazon.com | eu-west-1 |
| 극동 | sellingpartnerapi-fe.amazon.com | us-west-2 |
북미 엔드포인트는 캐나다, 미국, 멕시코와 브라질 스토어에 사용합니다. 유럽 엔드포인트는 아일랜드, 스페인, 영국, 프랑스, 벨기에, 네덜란드, 독일, 이탈리아, 스웨덴, 남아프리카공화국, 폴란드, 사우디아라비아, 이집트, 튀르키예, 아랍에미리트와 인도 스토어에 사용합니다. 극동 엔드포인트는 싱가포르, 호주와 일본 스토어에 사용합니다.
| 대상 | 사용 조건 |
|---|---|
sts.<AWSRegion>.amazonaws.com | AWS STS를 호출하는 드라이버 인증 경로에서 해당 AWS 리전에 맞춰 허용합니다. 예: sts.us-east-1.amazonaws.com. |
sellingpartnerapi-<판매 리전>.amazon.com | Selling Partner API 연결에서 na, eu, fe 중 맞는 값을 사용합니다. |
sandbox.sellingpartnerapi-<판매 리전>.amazon.com | Selling Partner 샌드박스를 사용하는 경우의 대상입니다. |
mws.amazonservices.<Marketplace> | 이전 Marketplace/MWS 구성의 네트워크 대상입니다. 신규 SellerCentral 연결의 대상으로 사용하지 않습니다. |
api.amazon.com | OAuth에 필요합니다. |
| Seller Central 승인 URL | OAuth 승인에 필요합니다. 선택한 판매 지역의 승인 대상을 사용합니다. |
oa.cdata.com | CData 내장 OAuth 인증 정보를 사용할 때 필요합니다. 사용자 정의 앱 설정과 구분합니다. |
STS 호스트의 도메인은 amazonaws.com입니다. Selling Partner API 호스트의 amazon.com과 혼동하지 않습니다. CData 내장 인증 정보는 주기적으로 교체되며 드라이버가 oa.cdata.com에서 받아 저장할 수 있으므로 해당 경로를 사용하는 경우 방화벽에서 차단하지 않습니다.
보고서 파일 추출
GetReport 저장 프로시저로 보고서를 다운로드할 수 있습니다. 다음 1234는 가상 ReportDocumentId이며 실제 보고서 ID로 바꿉니다.
EXECUTE GetReport @ReportDocumentId = '1234'
동기화 출력에는 파일 내용이 Base64 문자열 열로 저장됩니다. 하위 변환에서 바이너리로 디코딩하여 원래 내용을 사용합니다.
| 입력 | 자료형과 조건 |
|---|---|
ReportDocumentId | 필수 String. 다운로드할 보고서의 고유 ID입니다. |
DownloadPath | 선택 String. 파일 저장 경로입니다. 지정하지 않으면 파일을 메모리의 FileData 출력으로 반환합니다. Foundry 데이터셋으로 내용을 수집할 때에는 이 출력 경로를 사용합니다. |
IsRestrictedReport | 선택 Boolean. 개인 식별 정보가 포함된 제한 보고서인지 나타냅니다. 기본값은 false입니다. |
FileStream | 선택 String이며 출력 스트림을 받을 수 있습니다. 다운로드한 파일 스트림입니다. |
결과에는 성공 여부의 Boolean Success, 보고서 식별 정보의 String Url, 파일 내용의 String FileData가 있습니다. 로컬 파일 저장과 데이터셋으로 반환되는 파일 내용을 구분해 설정합니다.