# 추천 리스트 ì½ì–´ì˜¤ê¸° [lambda-gallery](./lambda-gallery/index.js)ì—서는 사용ìžì˜ id를 ê°€ì§€ê³ í•´ë‹¹ 사용ìžì— 대한 추천 ì´ë¯¸ì§€ 리스트를 ê°€ì ¸ì˜¬ 수 있습니다. PersonalizeRuntimeì„ ì´ìš©í•˜ì—¬ ì¶”ì²œì •ë³´ë¥¼ ê°€ì ¸ì˜¬ 수 있습니다. ```java const aws = require('aws-sdk'); const personalizeRuntime = new aws.PersonalizeRuntime(); ``` [lambda-gallery](./lambda-gallery/index.js)ì—서는 Personalize로 ì¶”ë¡ (inference)ì„ ìš”ì²í•©ë‹ˆë‹¤. ì´ë•Œ [getRecommendations](https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html)로 userIdì— ëŒ€í•œ 추천 리스트를 ê°€ì ¸ì˜µë‹ˆë‹¤. ```java let userId = body['id']; let recommendationParams = { campaignArn: campaignArn, userId: userId }; let recommendation; try { recommendation = await personalizeRuntime.getRecommendations(recommendationParams).promise(); console.log ('recommendation: ', JSON.stringify(recommendation)); } catch (error) { console.log(error); return; } ``` ì¶”ì²œì •ë³´ëŠ” itemList로 ë‚´ë ¤ì˜¤ë¯€ë¡œ "recommendation['itemList']"로 리스트 ì •ë³´ë¥¼ 확ì¸í• 수 있습니다. ```java let result = []; for (let i in recommendation['itemList']) { let itemStr = recommendation['itemList'][i].itemId; console.log("itemStr: ", itemStr); const url = itemStr; console.log('url: ', url); const imgProfile = { url: url, }; result.push(imgProfile); } let response = { statusCode: 200, body: JSON.stringify(result) }; return response; ``` [gallery](./html/gallery.js)ì—서는 "ê°ì • 추천"ê³¼ "ê°œì¸í™” 추천"ì„ ì œê³µí•©ë‹ˆë‹¤. "ê°ì • 추천"ì˜ ê²½ìš°ì—는 성별과 ê°ì •ì˜ ì¡°í•©ìœ¼ë¡œ ì¶”ì²œì„ ìˆ˜í–‰í•˜ê³ â€œê°œì¸í™” 추천â€ì€ ì‚¬ìš©ìž ì•„ì´ë””와 ê°ì •ì˜ ì¡°í•©ìœ¼ë¡œ ì¶”ì²œì„ ìˆ˜í–‰í•©ë‹ˆë‹¤. Rekognitionì—서 ê°ì •ì€ 8가지로 분류ë˜ë¯€ë¡œ ìƒí˜¸ìž‘용으로 모아지는 추천 ì •ë³´ëŠ” 사용ìžë‹¹ 최대 8개까지 ì €ìž¥ë 수 있습니다. ```java if(type == 'emotionbase') { drawGallery(emotionValue, gender, `${gender}/${emotionValue}`); } else { // userbase drawGallery(emotionValue, gender, `${userId}/${emotionValue}`); } ```