ã¯ããã«
ç§ã¯æå±ããéšã®Amazon Q Developer Proãµãã¹ã¯ãªãã·ã§ã³ã管çããŠããŸãã
åãŠãŒã¶ãŒã«å¯Ÿããçºè¡/è§£çŽã®å€æã¯ãéšé
äžã®åã»ã¯ã·ã§ã³(â課)ã§è¡ãããããã®å€æææãšãªãã¬ããŒãã宿çã«åºåããŠããŸãã
ããã·ã¥ããŒãã§å šäœã®åŸåã¯æŽããŸãããåãŠãŒã¶ãŒã®ç¶æ³ã现ããææ¡ããããããS3ã«åºåãããŠãŒã¶ãŒã¢ã¯ãã£ããã£ã¬ããŒããAthenaã§éèšåæããŠããŸãã
æ¬èšäºã§ã¯ååã§ã¢ã¯ãã£ããã£ã¬ããŒãã®åææ¹æ³ããåŸåã§å®éã«ç®¡çã»æšé²ãããšãã®æµããå ±æãããŠããããŸãã

ããã·ã¥ããŒãã¯äŸ¿å©ã§ããããŠãŒã¶ãŒåå¥ã®æ å ±ãŸã§ã¯ç¢ºèªãé£ãããããã¢ã¯ãã£ããã£ã¬ããŒããå©çšããŸãã
ã¢ã¯ãã£ããã£ã¬ããŒãåæ
ãŠãŒã¶ãŒã¢ã¯ãã£ããã£ã¬ããŒãåºå
ãŠãŒã¶ãŒæ¯ã®ã¢ã¯ãã£ããã£ãèšé²ããã«ã¯ãèšå®ãããQ Developer user activity reportããæå¹ã«ããŠåºåå ã®S3ãã£ã¬ã¯ããªãæå®ããå¿ èŠããããŸãã

ã¢ã¯ãã£ããã£ã¬ããŒããä¿åãããã±ããã«ã¯ããã€ãåææ¡ä»¶ããããŸãã
Amazon Q Developer ã§ã®ç¹å®ã®ãŠãŒã¶ãŒã®ã¢ã¯ãã£ããã£ã®è¡šç€º
ã«æèšãããŠããã®ã§ãããã«åŸã£ãŠæºåã»èšå®ããŠãã ããã
ãã°ãæžã蟌ãããã®ãã±ããããªã·ãŒèšå®ãå¿
èŠã§ãã
åºåå
Amazon Q ã¯ãæ¯æ¥åå 0 æ (00:00) åå®äžçæ (UTC) ã«ã¬ããŒããçæããæ¬¡ã®ãã¹ã® CSV ãã¡ã€ã«ã«ä¿åããŸãã
s3://bucketName/prefix/AWSLogs/accountId/QDeveloperLogs/by_user_analytic/region/year/month/day/00/accountId_by_user_analytic_timestamp.csv
ä»åã¯åºåå ã« s3://q-developer-activity-{accountId}/q-developer/ ãæå®ãããšããŠé²ããŸãã
ããã¥ã¡ã³ãã«èšèŒãããŠããéãæ¥æ¬¡ã®ã¬ããŒããCSVã§åºåãããŸãã
åºåãããé ç®ãšãã®è§£èª¬ã¯ ãŠãŒã¶ãŒã¢ã¯ãã£ããã£ã¬ããŒãã®ã¡ããªã¯ã¹ ã«èšèŒãããŠããŸãã
ãŠãŒã¶ãŒæ¯ã«æ¥æ¬¡ã®ã¬ã³ãŒãè¡ãäœãããŸããããŠãŒã¶ãŒã¯IDã§è¡šçŸãããŠããããããã®ãŸãŸã§ã¯äœ¿ãã«ããã§ãããŠãŒã¶ãŒåãæ¬²ãããšããã§ãã

ãŠãŒã¶ãŒåãã©ãããæã£ãŠãããïŒ
ã¬ããŒãã«ã¯ãŠãŒã¶ãŒæ å ±ã¯IDããå«ãŸããªããããAWS Identity CenterãããŠãŒã¶ãŒæ å ±ãæã£ãŠããããã«ããŸãã
ä»åã®Identity Centerãšãµãã¹ã¯ãªãã·ã§ã³ã®æ§æã¯ã以äžã®ããã«ããŠããŸãã

åè:çµç¹ã§ Amazon Q Developer ãå§ããããã® AWS IAM Identity Center å ¥é
ãã®æ§æã§ã¯Identity Centerã®æ å ±ã¯çµç¹ã€ã³ã¹ã¿ã³ã¹ã®ãã管çã¢ã«ãŠã³ãããååŸããå¿ èŠããããŸãã
ååŸããŠCSVãšããŠåºåããã¹ã¯ãªãããçšæããŸããã
get_identity_center_users.py
ãµãã¹ã¯ãªãã·ã§ã³ç»é²ãã°ã«ãŒãåäœã§è¡ãªã£ãŠããããããµãã¹ã¯ãªãã·ã§ã³å¯Ÿè±¡ã®ã°ã«ãŒãIDãæå®ããŠæœåºãã圢åŒã«ããŠããŸãã
管çã¢ã«ãŠã³ãã®AWS CloudShellã§ã¹ã¯ãªãããå®è¡ããŸãã
python3 get_identity_center_users.py <group_id_1> [group_id_2 ...] > users.csv
ãã®ã¹ã¯ãªããã Q Developerã«äœã£ãŠããããŸããã
- ãŠãŒã¶ãŒã®ããžã§ãé¢é£æ
å ±ããååŸãããã®ã§
describe_userããªã¯ãšã¹ããããšãExtensions=["aws:identitystore:enterprise"]ãæå®ããããæç€ºããŠããŸãã - ãããã°ãå ŒããŠãæå±ããã°ã«ãŒãIDãæåŸã®åã§åºåããããæç€ºããŸããã
ããã§ååŸãã users.csv ãã¢ã¯ãã£ããã£ã¬ã³ãŒãåºåå
ã®S3ãã±ããã«æ ŒçŽããŠãããŸãã
ä»å㯠s3://q-developer-activity-{accountId}/identity-center/users/users.csv ã«ä¿åããŸãã

å¿ èŠã«å¿ããŠã宿å®è¡ãæ å ±å€æŽããªã¬ãŒã§åããS3ã«ã¢ããããŒããŸã§ããLambdaã«ããŠããŸããšäŸ¿å©ã§ãã
AthenaããŒãã«äœæ
ãS3ã«èšé²ãããã¢ã¯ãã£ããã£ã¬ã³ãŒãããS3ã«ä¿åããIdentity Centerã®ãŠãŒã¶ãŒãªã¹ãããAthenaããŒãã«ãšããŠç»é²ããŸãã
{}å
ã¯å®éã®ç°å¢ã«åãããŸãã
ã¢ã¯ãã£ããã£ã¬ã³ãŒãããŒãã«
CREATE EXTERNAL TABLE `q_developer_by_user_analytic`(
`userid` string,
`date` string,
`chat_aicodelines` string,
`chat_messagesinteracted` string,
`chat_messagessent` string,
`codefix_acceptanceeventcount` string,
`codefix_acceptedlines` string,
`codefix_generatedlines` string,
`codefix_generationeventcount` string,
`codereview_failedeventcount` string,
`codereview_findingscount` string,
`codereview_succeededeventcount` string,
`dev_acceptanceeventcount` string,
`dev_acceptedlines` string,
`dev_generatedlines` string,
`dev_generationeventcount` string,
`docgeneration_acceptedfileupdates` string,
`docgeneration_acceptedfilescreations` string,
`docgeneration_acceptedlineadditions` string,
`docgeneration_acceptedlineupdates` string,
`docgeneration_eventcount` string,
`docgeneration_rejectedfilecreations` string,
`docgeneration_rejectedfileupdates` string,
`docgeneration_rejectedlineadditions` string,
`docgeneration_rejectedlineupdates` string,
`inlinechat_acceptanceeventcount` string,
`inlinechat_acceptedlineadditions` string,
`inlinechat_acceptedlinedeletions` string,
`inlinechat_dismissaleventcount` string,
`inlinechat_dismissedlineadditions` string,
`inlinechat_dismissedlinedeletions` string,
`inlinechat_rejectedlineadditions` string,
`inlinechat_rejectedlinedeletions` string,
`inlinechat_rejectioneventcount` string,
`inlinechat_totaleventcount` string,
`inline_aicodelines` string,
`inline_acceptancecount` string,
`inline_suggestionscount` string,
`testgeneration_acceptedlines` string,
`testgeneration_acceptedtests` string,
`testgeneration_eventcount` string,
`testgeneration_generatedlines` string,
`testgeneration_generatedtests` string,
`transformation_eventcount` string,
`transformation_linesgenerated` string,
`transformation_linesingested` string)
PARTITIONED BY (
`year` string,
`month` string,
`day` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'escapeChar'='\\',
'quoteChar'='"',
'separatorChar'=',')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://q-developer-activity-{accountId}/q-developer/AWSLogs/{accountId}/QDeveloperLogs/by_user_analytic/{region}'
TBLPROPERTIES (
'projection.day.digits'='2',
'projection.day.range'='01,31',
'projection.day.type'='integer',
'projection.enabled'='true',
'projection.month.digits'='2',
'projection.month.range'='01,12',
'projection.month.type'='integer',
'projection.year.range'='2024,2040',
'projection.year.type'='integer',
'skip.header.line.count'='1',
'storage.location.template'='s3://q-developer-activity-{accountId}/q-developer/AWSLogs/{accountId}/QDeveloperLogs/by_user_analytic/{region}/${year}/${month}/${day}')
- year, month, day ã§ããŒãã£ã·ã§ã³ãåã£ãŠããŸãã
Identity CenterãŠãŒã¶ãŒãªã¹ã
CREATE EXTERNAL TABLE `identity_center_users`(
`userid` string,
`username` string,
`email` string,
`displayname` string,
`division` string,
`department` string,
`costcenter` string,
`employeenumber` string,
`organization` string,
`groupids` string
)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'escapeChar'='\\',
'quoteChar'='\"',
'separatorChar'=',')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
's3://q-developer-activity-{accountId}/identity-center/users'
TBLPROPERTIES (
'skip.header.line.count'='1')
ã¬ããŒãäŸ
æéChat_MessagesSentéèš
SELECT
u.userid,
u.displayname AS name,
u.division,
COALESCE(SUM(a.chat_messagessent), 0) AS chat_messagessent
FROM identity_center_users u
LEFT JOIN q_developer_by_user_analytic a
ON u.userid = a.userid AND a.year = '2026' AND a.month = '02'
GROUP BY u.userid, u.displayname, u.division
ORDER BY chat_messagessent DESC;
identity_center_usersã«å¯ŸããŠq_developer_by_user_analyticãLEFT JOINããŠããŸãã
æ¥ä»æ¡ä»¶ãJOINã®ONå¥ã«å
¥ããããšã§ãè©²åœæã«ã¢ã¯ãã£ããã£ããªããŠãŒã¶ãŒãNULL â COALESCE(âŠ, 0) ã§0ãšããŠéèšããŠããŸãã
ã¢ã¯ãã£ããã£ãå šããªããŠãŒã¶ãŒã¯ãããããã¢ã¯ãã£ããã£ã¬ã³ãŒããèšé²ãããŸããïŒå®éã®éçšã§ç¢ºèªïŒã ãã®ãããªãŠãŒã¶ãŒã0ã§éèšã«çŸããããã«ãããããidentity_center_usersãå·ŠåŽã«ããŠããŸãã

æéåçš®ã¢ã¯ãã£ããã£ãåèšã¹ã³ã¢ã«ããŠéèš
SELECT
u.userid,
u.displayname AS name,
u.division,
COALESCE(SUM(a.chat_messagessent
+ a.inline_acceptancecount
+ a.codefix_acceptanceeventcount
+ a.codereview_succeededeventcount
+ a.dev_acceptanceeventcount
+ a.docgeneration_eventcount
+ a.inlinechat_totaleventcount
+ a.testgeneration_eventcount
+ a.transformation_eventcount), 0) AS activity_score
FROM identity_center_users u
LEFT JOIN q_developer_by_user_analytic a
ON u.userid = a.userid AND a.year = '2026' AND a.month = '02'
GROUP BY u.userid, u.displayname, u.division
ORDER BY activity_score DESC;
- ã²ãšãŸãç°¡æçã«countç³»ã®ã¡ããªã¯ã¹ãåçŽã«åèšãããã®ãã¹ã³ã¢ãšããŠããŸãã
- ããŒãã«å®çŸ©ã§ã¯å šã«ã©ã ãstringåãšããŠããæé»ãã£ã¹ããå©çšããŠããŸããå¿ èŠã«å¿ããŠCASTãåå®çŸ©ã®ãã¥ãŒãã³ã°ãè¡ã£ãŠãã ããã

ãããé·æé0ãæ¥µç«¯ã«äœããŠãŒã¶ãŒã¯Proãµãã¹ã¯ãªãã·ã§ã³äžèŠãªå¯èœæ§ããããããèŠçŽããŠãããããšããããŸãã
Q Developerã®ç®¡çãšæšé²
éšåäœã§Q Developerã®Proãµãã¹ã¯ãªãã·ã§ã³ã管çãå§ããŠå幎以äžã«ãªããŸãã4æããäœå¶ãå€ããç®¡çæ¹æ³ãå€ããã®ã§ããããŸã§ã®ç®¡çããããŒãæ¬èšäºã§ã¯æ¯ãè¿ããå ŒããŠãŸãšããŸãã
æšé²
Proãµãã¹ã¯ãªãã·ã§ã³ã®å°å
¥æãåæçºè¡æ°ã決ããŠçšè°ãéããåéšçœ²ããå
è¡å©çšè
ãéžåºããŠããããŸããã
ãã°ããçã§äœ¿ã£ãŠã¿ãŠãFree Tierãšã®æ¯èŒãAWS GameDayããã³ãºãªã³ãå
±æäŒãªã©ã䞊è¡ããŠéå¬ããªããããã£ãã»ãããããšå€æãããšããããåŸã
ã«å©çšè
ãå¢ãããŠãã圢ã«ããŸããã
é¢é£: AI & Automation 掻çšããAWSãã¹ãã©ææ¡ã¯ãŒã¯ã·ã§ããéå¬ããŠã¿ã
å è¡å©çšè ãäžå¿ãšãªã£ãŠäœ¿ãæããªã¹ã¹ã¡èšå®ã®å ±æãå課ã§ã®æšé²ãè¡ãªã£ãŠããããããä»ã§ã¯èª²ãã¡ã³ããŒã«ãã£ãŠã¯å¿ é ã®ãµãã¹ã¯ãªãã·ã§ã³ãšãªã$19/ãŠãŒã¶ãŒ/æã®å©çšæã«å¯ŸããŠå€§ããªå¹æãåºããŠãããŠããŸãã
管ç
- 瀟å ã®ç³è«ã·ã¹ãã ãããµãã¹ã¯ãªãã·ã§ã³çºè¡ãç³è«
- æå±äžé·ãå¯åŠã倿ããæ¿èªã®å Žåã¯ãµãã¹ã¯ãªãã·ã§ã³ç®¡çã¡ã³ããŒã«åä»
- æ¿èªãããç³è«å å®¹ã«æ²¿ã£ãŠãµãã¹ã¯ãªãã·ã§ã³ãç»é²/è§£çŽ
ææ¬¡ã¬ããŒããèŠãŠãæ¬äººãæå±äžé·ã倿ããŠå¿
èŠã«å¿ããŠè§£çŽãåããããŒã§ç³è«ããŸãã
ä»ã®AIã¢ã·ã¹ã¿ã³ããå©çšããŠããæ¥ã
å€åãããããããã£ããã¢ãããšå
±ã«é©åã«èŠçŽããè¡ãã®ã«ã¢ã¯ãã£ããã£ã¬ããŒãã®å©çšã掻ããŠããŸãã
ã¬ããŒãã®åæçµæã¯ãµãã¹ã¯ãªãã·ã§ã³ã®ç¶ç¶å€æã ãã§ãªãã瀟å å匷äŒããã³ãºãªã³ã®éå¬ããã¢ãªã³ã°ã®åèã«ãããŠããŸããå©çšéã®å€ãã¡ã³ããŒããå€ãã®æ©èœã䜿ã£ãŠããã¡ã³ããŒã«äœ¿ãåæãæããŠããã£ããã瀟å ã§ã®å ±æããé¡ãããããšããããŸãã
Transformæ©èœã®åŸé課é
Transform(Amazon Q Developer Agent for code transformation)ã¯Proå¥çŽãŠãŒã¶ãŒæ° à 4,000 LOCã®ããŒã«äžéãè¶ ããå ŽåãåŸé課éãçºçããŸãããã®ç¶æ³ææ¡ã«ãã¢ã¯ãã£ããã£ã¬ã³ãŒãã¯åœ¹ç«ã£ãŠããŸãã
åè: Amazon Q Developer ã®æé
Pro å©çšæ ã® Q Developer å€é©ã®ã客æ§ã«ã¯ãå€é©çšã® Amazon Q Developer ãšãŒãžã§ã³ãã«ã€ããŠããŠãŒã¶ãŒ 1 人ãããæ¯æ 4,000 LOC ãæäŸãããŸãããããã®å²ãåœãŠã¯ãAWS æ¯æè ã¢ã«ãŠã³ãã¬ãã«ã§æ¯æéèšãããŸããQ Developer Pro å©çšæ ã®å²ãåœãŠãè¶ ãã䜿çšéã«ã€ããŠã¯ã倿çšã«éä¿¡ããã LOC ããã 0.003 USD ã課éãããŸãã
Transformæ©èœã䜿ãå Žåã¯ã瀟å ç³è«ãã©ãŒã ã«ããã®äºå®èŠæš¡ãèšå ¥ããŠããããã©ãŒãããã«ããŠãäºåã«äºæž¬ããããããã«ããŠããŸãã
ãŸãšã
æ¬èšäºã§ã¯ Q Developer ã®ã¢ã¯ãã£ããã£ã¬ããŒããAthenaã§åæããIdentity Centerã®ãŠãŒã¶ãŒæ
å ±ãšçµã¿åãããŠãŠãŒã¶ãŒå¥ã®å©çšç¶æ³ãå¯èŠåããæ¹æ³ã玹ä»ããŸããã
ãŸããçµç¹ã§Proãµãã¹ã¯ãªãã·ã§ã³ã管çã»æšé²ããŠããå®éã®éçšã«ã€ããŠãå
±æããŸããã
éçšãéããŠæãããã€ã³ããããã€ãæããŸãã
- ã¢ã¯ãã£ããã£ã¬ããŒããããããšã§ããµãã¹ã¯ãªãã·ã§ã³ã®çºè¡ã»è§£çŽãããªããšãªããã§ã¯ãªãæ ¹æ ãæã£ãŠå€æã§ãã
- å©çšéã®å€ãã¡ã³ããŒãå·»ã蟌ãã§å ±æã»çºä¿¡ããŠãããããšã§ãæšé²ãå éãã
- ä»ã®AIã¢ã·ã¹ã¿ã³ããå«ãç¶æ³ã¯æ¥ã å€ããããã宿çãªèŠçŽããµã€ã¯ã«ãåãããšãéèŠ
å°å ¥ïŒIdentity Centerã»ããã¢ããïŒâ æšé²ïŒãã³ãºãªã³ã»å ±æäŒïŒâ éçšåæïŒæ¬èšäºïŒãšããæµãã®äžã§ãä»åã¯éçšåæã«ãã©ãŒã«ã¹ããŸããããªã«ãã²ãšã€ã§ãåèã«ãªãã°å¹žãã§ãã
管çãçµ±å¶ãè¡ãããã®æ©èœãã¢ããããŒããéæè¡ãããŠãããããä»åŸããã£ããã¢ãããAWSãžã®ãã£ãŒãããã¯ãããŠãããããšæããŸãã