ããã
æè¿è¿œå ãŸãã¯æŽæ°ããããªããžã§ã¯ããèŠã€ããããã«ãæ°åïŒæ°åäžã«å¢å ããå¯èœæ§ãé«ãïŒã®ãªããžã§ã¯ããšãã©ã«ããŒ/ãã¬ãã£ãã¯ã¹ãå«ããã±ãããæ€çŽ¢ã§ããããã«ããããšèããŠããŸãã ãã±ããå
šäœã§awss3 lsã1æ¥ã«æ°åå®è¡ããŠããããªã¹ãã䞊ã¹æ¿ããã®ã¯éå¹ççã§ãã æé<ã>ã=ç¹å®ã®ã¿ã€ã ã¹ã¿ã³ããå€æŽããããªããžã§ã¯ãã®ãªã¹ããåçŽã«èŠæ±ããæ¹æ³ã¯ãããŸããïŒ
ãŸããaws s3 lsãªã¯ãšã¹ãã«å¯ŸããŠ1åè«æ±ãããŸããããããšããªã¯ãšã¹ãã«ãã£ãŠè¿ããããªããžã§ã¯ãããšã«1åè«æ±ãããŸããïŒ
githubã¯åããŠã§ãããå®éã®ã³ãŒããæäŸããã®ã«ååãªç¥èãããã°ããã®ã§ãã...ãã«ãã«æè¬ããŸãã
S3 APIã¯ããããµããŒãããŠããªããããS3ã䜿çšããŠãããè¡ãå¯äžã®æ¹æ³ã¯ãã¯ã©ã€ã¢ã³ãåŽã®äžŠã¹æ¿ããè¡ãããšã§ãã
S3ã®äŸ¡æ Œèšå®ã«é¢ããŠã¯ãäžåºŠã«1000åã®ãªããžã§ã¯ããè¿ãListObjects
ãªã¯ãšã¹ãã䜿çšããŸãã ãããã£ãŠã aws s3 ls
ã䜿çšãããšã1000ãªããžã§ã¯ãããšã«LISTãªã¯ãšã¹ãã®æéãè«æ±ãããŸãã
ãã1ã€ã®æ¹æ³ã¯ãS3ã®å€éšã«è£å©ã€ã³ããã¯ã¹ïŒdynamodbãªã©ïŒãæ ŒçŽããããšã§ãã ä»ã«ãäžæãªç¹ãããããŸãããããæ°è»œã«ãåãåãããã ããã
ããããšãããããŸãã
ãã®æ©èœã¯aws-cliã«ã¯ãªãããã«èŠããŸãããbashã§ã¹ã¯ãªãããäœæããã®ã¯éåžžã«ç°¡åã§ãã äŸãã°ïŒ
#!/bin/bash
DATE=$(date +%Y-%m-%d)
aws s3 ls s3://bucket.example.com/somefolder/ | grep ${DATE}
@jwiederããã¯ããŠãŒã¶ãŒãs3ãžã®ãªã¹ãåŒã³åºãã®æ°ãæžããã®ã«åœ¹ç«ã¡ãŸããã æ¯æ¥ãæ倧1000ã®ãã¥ãŒã¹èšäºããã±ããã«ä¿åãããšããŸãã 次ã«ãã¯ã©ã€ã¢ã³ãåŽã§ã¯ãããã©ã«ãã§éå»3æ¥éã®èšäºãååŸããããšèããŠããŸãïŒæ瀺çã«èŠæ±ãããå Žåã®ã¿ïŒã æéã®åããããã¹ãŠã®èšäºã®ãªã¹ããããšãã°100kããã§ããããå¿ èŠããããšãæéããããããããã¯ãŒã¯ã³ã¹ããçºçããŸãïŒ1åã®ãªã¹ãåŒã³åºãã§æ倧1000ã¢ã€ãã ããè¿ãããªãããïŒã ã3æ¥åããäœæ/å€æŽãããã¢ã€ãã ã®ãªã¹ããæããŠãã ããããšèšãã°ãã£ãšããã§ãããã
äžåºŠïŒ
2016幎1æ17æ¥ååŸ11æ53åãPuchatekwSzortach <
[email protected]>ã¯æ¬¡ã®ããã«æžããŠããŸãïŒ
@jwiederhttps ïŒ//github.com/jwiederããã¯ãŠãŒã¶ãŒã®æžå°ã«ã¯åœ¹ç«ã¡ãŸãã
s3ãžã®ãªã¹ãåŒã³åºãã®æ°ã æ¯æ¥æ倧1000ã®ãã¥ãŒã¹ãä¿åãããšããŸã
ãã±ãã®äžã®èšäºã 次ã«ãã¯ã©ã€ã¢ã³ãåŽã§æåŸã®3ã€ã®èšäºãååŸããã
ããã©ã«ãã§ã¯æ¥æ°ïŒæ瀺çã«èŠæ±ãããå Žåã®ã¿ãã以äžïŒã ãã§ããããå¿ èŠããããŸã
æéã®åãããã®ãã¹ãŠã®èšäºã®ãªã¹ããããšãã°100kã¯æéãããããŸã
ãããã¯ãŒã¯ã³ã¹ããçºçããŸãïŒ1åã®ãªã¹ãåŒã³åºãã§è¿ãããã®ã¯1åã ãã§ããããïŒ
1000ã¢ã€ãã ãŸã§ïŒã ããªã¹ãããã ããã
3æ¥åããäœæ/å€æŽãããã¢ã€ãã ããâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/aws/aws-cli/issues/1104#issuecomment-172425517 ã
@PuchatekwSzortach @ChrisSLTããã§ããç§ã®
-rfileNameã®èªã¿åãäž
NS
if ["$ fileName" == "$ TODAY"]; ãããã
aws s3 sync $ BUCKETURL / some / local / directory --exclude "*" --include "$ fileName"
fi
å®äº<"$ FILE"
ããã§ã$ FILEã¯ããŒã«ã«ãã¡ã€ã«åã€ã³ããã¯ã¹ã§ããã$ TODAYã¯æ€çŽ¢ããæ¥ä»ã§ãã ãã®ã«ãŒãã®æ¡ä»¶ãå€æŽããå¿ èŠããããŸãããããŸãããã°ãããã§ã¢ã€ãã¢ãåŸãããŸãã
ãã®ããã«ããããšã§ããã±ããå ã®ãã¡ã€ã«ã®äžèŠ§è¡šç€ºã«é¢é£ããæéã軜æžãããŸãã ãã ããããŒã«ã«ãã¡ã€ã«ãªã¹ãã«ã¢ã¯ã»ã¹ã§ãããã©ãããæ€çŽ¢ããã¯ã©ã€ã¢ã³ãã«ãã£ãŠãç°ãªããŸã...ãã®çš®ã®ã¢ãããŒããå®è¡äžå¯èœã«ããå¯èœæ§ã®ããã¢ããªã±ãŒã·ã§ã³/ã·ã¹ãã ã¢ãŒããã¯ãã£ã«ãã£ãŠç°ãªããŸãã ãšã«ããããããç§ã®ä»¥åã®derpyã®è¿ä¿¡ã«åœ¹ç«ã€ããšãšè¬çœªããããšãé¡ã£ãŠããŸãã
åæããããããšã
åå10æç«æã2016幎1æ19æ¥ã«ã¯ããžã§ã·ã¥WIEDER [email protected]
æžããŸããïŒ
@PuchatekwSzortach https://github.com/PuchatekwSzortach @ChrisSLT
https://github.com/ChrisSLTããã§ããç§ã®äžå®å šãªè¿ä¿¡ããè©«ã³ããŸãã ãš
ãã®çš®ã®æ©èœãaws-cliã§éåžžã«åœ¹ç«ã€ããšã«åæããŸãã NS
ãã®åºæ¬æ©èœãé€å€ããããšãšãã¡ã€ã«ãªã¹ãã®è«æ±ã®çµã¿åãã
éåžžã«çãããã§ãã AWSããããŒãã³ããåæ¢ãã
ãã¡ã€ã«ã®ããããã£ãããã¯ç§ã䜿çšããå¥ã®ã¢ã€ãã¢ã§ãããé¢é£æ§ããããŸã
ãã®ã¹ã¬ãããžã®ãã®åŸã®ç§ã®æåã®è¿ä¿¡ïŒããã§è¿œè·¡ããå¿ èŠããããã¡ã€ã«ã®å Žå
ã¡ãªã¿ã«ããã¡ã€ã«ã«ã¯ã¿ã€ã ã¹ã¿ã³ããä»ããããŠããŸãã ãã¡ã€ã«ã®ãªã¹ãã¯ããŒã«ã«ã«ä¿åãããŸã
ããã¹ããã¡ã€ã«ïŒãŸãã¯ãå¿é ãããã¡ã€ã«ãæ°ãåããªãã»ã©ããå Žåã¯ãdbã«ãªãå¯èœæ§ããããŸãïŒã
æ¥ä»ãæ€çŽ¢ããã«ã¯ããã¡ã€ã«ãéããŠãã¡ã€ã«åãæ¢ãå¿ èŠããããŸã
ä»æ¥ã®æ¥ä»ã«äžèŽãããã®ã¯ã次ã®ããã«ãªããŸãã-rfileNameã®èªã¿åãäž
NS
if ["$ fileName" == "$ TODAY"]; ãããã
aws s3 sync $ BUCKETURL / some / local / directory --exclude "*" --include
ã$ fileNameã
fi
å®äº<"$ FILE"ããã§ã$ FILEã¯ããŒã«ã«ãã¡ã€ã«åã€ã³ããã¯ã¹ã§ããã$ TODAYã¯çŸåšã®æ¥ä»ã§ãã
æ¢ããŠããã ãã®ã«ãŒãã®æ¡ä»¶ãå€æŽããå¿ èŠããããŸããã
ããŸãããã°ãããã¯ããªãã«ã¢ã€ãã¢ãäžããããšãã§ããŸãããã®ããã«ããããšã§ããªã¹ãã«é¢é£ããæéãã解æŸãããŸãã
ãã±ããå ã®ãã¡ã€ã«ã ãããããã¯ããªããè¡ã£ãŠããã¯ã©ã€ã¢ã³ãã«ãäŸåããŸã
ããŒã«ã«ãã¡ã€ã«ãªã¹ããžã®ã¢ã¯ã»ã¹æš©ã®æ€çŽ¢...
ãã®çš®ã®ã¢ãããŒããè¡ãå¯èœæ§ã®ããã¢ããªã±ãŒã·ã§ã³/ã·ã¹ãã ã¢ãŒããã¯ãã£
å®è¡äžå¯èœã ãšã«ããããããç§ã®ä»¥åã®å©ããšè¬çœªãé¡ã£ãŠããŸã
ããŒããŒè¿ä¿¡ãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/aws/aws-cli/issues/1104#issuecomment-172878454 ã
s3apiãš--queryé¢æ°ã䜿çšããŠãããè¡ãæ¹æ³ããããŸãã ããã¯OSXã§ãã¹ããããŠããŸã
aws s3api list-objects --bucket "bucket-name" --query'Contents [ïŒLastModified> = 2016-05-20
] []ã{KeyïŒKey} '
次ã«ãjqãŸãã¯grepã䜿çšããŠãã£ã«ã¿ãªã³ã°ããä»ã®s3apié¢æ°ã§åŠçãè¡ãããšãã§ããŸãã
ç·šéïŒãªããããã衚瀺ãããªãã®ãããããŸããããã¯ãšãªããŠããæ¥ä»ãå²ãããã«ããã¯ã¯ã©ãŒãã䜿çšããå¿ èŠããããŸã
æ¯æ¥ãã©ã«ããäœæããããšã¯å¯èœã§ãããããããã°ãä»æ¥ã®ãã¡ã€ã«ã®ã¿ã«ã¢ã¯ã»ã¹ããããããããæšæ¥ã®ãã©ã«ãã«ã¢ã¯ã»ã¹ããŠææ°ã®ãã¡ã€ã«ãååŸããããšã«ãªããŸãã
ã¯ãã ããŒã«æ¥ä»ãã¬ãã£ãã¯ã¹ã䜿çšããæ¹ãç°¡åãªå ŽåããããŸãïŒ--bucketãªãã·ã§ã³ã䜿çšããŠbucketname / foldernameã®çµã¿åãããç §äŒããããšã¯ã§ããŸããïŒã æ¥ä»ãã¬ãã£ãã¯ã¹ã䜿çšãããšãCLIã§--prefixãã©ã°ã䜿çšããŠã¯ãšãªãé«éåã§ããŸããããã¯ãAWSãå¿çæéãé·ãããããã«ãããŒåã®å é ã«æ°åãŸãã¯ããã·ã¥ã䜿çšããããšãæšå¥šããŠããããã§ãã
@willstruebingã®å Žåã§ãããœãªã¥ãŒã·ã§ã³ã«ãã£ãŠS3 APIåŒã³åºãã®æ°ããµãŒããŒåŽã®ã¯ãšãªã®è€éãããŸãã¯--query
ãã©ã¡ãŒã¿ãŒã¯ãã¯ã©ã€ã¢ã³ãåŽã®jmespathãã£ã«ã¿ãªã³ã°ã®ã¿ãå®è¡ããŸãã
@kislyukç§ã¯å®å šã«åæããŸããããã¯å¹çã®åé¡ã«çãããã®ã§ã¯ãããŸããã ããããç§ã®æå³ã¯ç¹å®ã®è³ªåã«çããããšã§ããïŒ
Is there a way to simply request a list of objects with a modified time <, >, = a certain timestamp?
ãã®åºæ¬çãªè³ªåã¯ãç§ãã©ã®ããã«ããŠãã®ã¹ã¬ããã«ãã©ãçããããšããããšãªã®ã§ãããã«çããå«ããã®ã¯åççã ãšæããŸããã ãã®åé¡ã«ã¯ããaws s3 ls-å€æŽæ¥ã§ãã¡ã€ã«ãæ€çŽ¢ããŸããïŒããšããã©ãã«ãä»ããŠããŸãã
ç§ã¯èªåã§è³ªåãæã£ãŠãããããŸã èå³ãããã®ã§ã質åã®å¹çã®éšåã«ã€ããŠèª°ãã®ã¢ã€ãã¢ãèããŠã¿ããã§ãã
#for i in s3cmd ls | awk {'print $3'}
; aws s3 ls $ iãå®è¡ããŸã--recursive; å®äº>> s3-full.out
AWSããã¡ã€ã«ãè¿ãããã©ã«ãã¯äœã§ããïŒ ã¢ã«ãã¡ãããé ã§è¿ãããŸããããããšãæè¿å€æŽããããã®ã§è¿ãããŸããããããšã1000åã®ãã¡ã€ã«åã®æåã®ããããèŠæ±ãããšãã«äœ¿çšãããåºæºã¯äœã§ããïŒ
ç§ã¯ããã¡ã€ã«ãèŠæ±ãããšãã«äœ¿çšã§ããäœããã®ãã£ã«ã¿ãŒïŒæ¥ä»ãååãªã©ã§äžŠã¹æ¿ãïŒã確ãã«ååšããå¿ èŠãããããšã«åæããŸã...ééããªãäžè¶³ããŠããæ©èœã§ãã :(
ãã®ãã£ã«ã¿ãªã³ã°ã¯ãµãŒããŒåŽã§ããå¿ èŠããããåºæ¬çãªããŒãºã§ããããšã«åæããŸãã
ãµãŒããŒåŽã®ã¯ãšãª/ãã£ã«ã¿ãªã³ã°ã®å Žåã¯+1
ãµãŒããŒåŽãã£ã«ã¿ãªã³ã°ã®+1
ãŸã éåžžã«å¿ èŠã§ãã+ 1
@chescalesãšæ®ãã®éšåã«åæãããµãŒããŒåŽã®ãã£ã«ã¿ãªã³ã°ã«+1ããŸã
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
ããã¯ãŸã æ©èœã§ã¯ãªãã®ã§ããïŒ
+100000
+ 1e999
+1
+1
+1
+1
+1
+1
+1
+1
+65535
@willstruebingã®ã³ã¡ã³ãã¯ç§ã®ããã«åãããäŸãã°ïŒ
aws s3api list-objects --bucket "mybucket" --prefix "some/prefix" --query "Contents[?LastModified>=`2018-08-22`].{Key: Key}"
æ°ã«ããªãã§ãã ãã-ãã®ã³ãã³ãããã®ãããã¯ãŒã¯ãã©ãã£ãã¯ãç£èŠããåŸããã¹ãŠã®ããŒããŸã s3ããããŠã³ããŒããããŠãããaws cliãã¯ã©ã€ã¢ã³ãåŽã®ãã£ã«ã¿ãªã³ã°ãè¡ã£ãŠããããšãããããŸãïŒ
+1
+1
+1
+1
--excludeãã£ã«ã¿ãŒãš--includeãã£ã«ã¿ãŒã¯ã©ãã§ããïŒ
DATE = $ïŒæ¥ä»+ïŒ
Y-ïŒ
m-ïŒ
dïŒ
aws s3 ls s3ïŒ//bucket.example.com/somefolder/ --exclude " " --include " $ {DATE} *"
+1
+1
+1çŸäž
+1
+â
+â+ 1
+1
+1
+1
++
+1
+1
+1
+1 :( :(
ããã¯AWSã®äŸ¡æ Œèšå®ã¢ãã«ã®äžéšã§ãããè¶ å®äŸ¡ãªã¹ãã¬ãŒãžã§ãããã¢ã¯ã»ã¹ããã«ã¯æéãããããŸãã 倧ããªãã¡ã€ã«ã«ã¯é©ããŠããŸãããäœçŸäžãã®å°ããªãã¡ã€ã«ãã¯ãšãª/管çãããå Žåã¯å°ç¡ãã«ãªããŸãã
+1
ããã圌ããã¢ãããäœã£ãçç±ã ãšæããŸããïŒ ããã€ãã®ãã«ãšãã€ãã¹ã«ãè¿œå ããªããè«æ±ããå¥ã®æ¹æ³ã¯ãããŸããïŒ
+1
+1
+1
ããšãã°ã2ã€ã®æ¥ä»ã®éã«å€æŽãããs3ãã±ãããªããžã§ã¯ããäžèŠ§è¡šç€ºããå¿ èŠããããŸãã 2019-06-08ãã2019-06-11
誰ãã¢ã€ãã¢ã¯ãããŸããïŒ
aws s3api list-objects --bucket "BUCKET" --prefix "OPTIONAL" --query "Contents[?LastModified>='2019-06-08'][].{Key: Key,LastModified: LastModified}"
次ã«ãJQãŸãã¯ã奜ã¿ã®ããŒã«ã䜿çšããŠ2019-06-11以éã«é€å€ããŸã
ããã¯APIåŒã³åºããæé€ãããã®ã§ã¯ãããŸããã ãããã®ã¯ãšãªã¯ã¯ã©ã€ã¢ã³ãåŽã§ã
ç«ã2019幎6æ11æ¥ã«ã¯ã14:07 willstruebing [email protected]
æžããŸããïŒ
aws s3api list-objects --bucket "BUCKET" --prefix "OPTIONAL" --query
"Contents [ïŒLastModified> = '2019-06-08'] []ã{KeyïŒKeyãLastModifiedïŒ
LastModified} "ãã¯ãªãã¯ããŠãããJQãŸãã¯ã奜ã¿ã®ããŒã«ã䜿çšããŠåŸã§é€å€ããŸã
2019-06-11â
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/aws/aws-cli/issues/1104?email_source=notifications&email_token=AABLGMW5AFAU5BUNM7FEMZ3PZ7SV3A5CNFSM4A2VNZ2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AABLGMVTIZDPPIEUK2CZR6TPZ7SV3ANCNFSM4A2VNZ2A
ã
@dmeadç§ã¯å®å šã«åæããŸãã ãã ãããµãŒããŒåŽã®ãã£ã«ã¿ãªã³ã°ãå®è¡ããæ©èœã¯çŸåšååšããŸããïŒãã®ããããã®ç¹å®ã®æçš¿ã«å€ãã®äººãåå ããããšã«ãªããŸãïŒããããã£ãŠãããããåœé¢ã®ã¿ã¹ã¯ãå®äºããããã«ç§ãç¥ã£ãŠããå¯äžã®åé¿çã§ãã ãµãŒããŒåŽã§ãããè¡ãæ¹æ³ã¯ãããŸããããããšãããã¯ææ¡ããããœãªã¥ãŒã·ã§ã³ã«é¢ããåãªã芳å¯ã§ããïŒ ãããè¡ãæ¹æ³ãšAPIåŒã³åºãã®éãæžããæ¹æ³ã«ã€ããŠã®æèŠãèãããã§ãã
æéãããã°ãã¢ããã®ã¡ã¿ããŒã¿ãéžæããããšãæ€èšããŸãã ç§
èªåã«ã¯ãã£ã³ã¹ããããŸããã§ããããããã¯å¯èœãªè§£æ±ºçã®ããã§ããã
10ïŒ28 AM willstruebingã§æ°Žææ¥ã2019幎6æ12æ¥ã«ã¯[email protected]
æžããŸããïŒ
@dmeadhttps ïŒ//github.com/dmeadå®å šã«åæããŸãã ããã
ãµãŒããŒåŽã®ãã£ã«ã¿ãªã³ã°ãè¡ãæ©èœã¯çŸåšååšããŸããïŒç§ã¯æã
ãã®ãããéåžžã«å€ãã®äººããã®ç¹å®ã®æçš¿ã«è¡ãçããŸãïŒãããã
æå ã®ã¿ã¹ã¯ãå®äºããããã«ç§ãç¥ã£ãŠããå¯äžã®åé¿çã ãããŸãã
ããããµãŒããŒãµã€ãã§è¡ãæ¹æ³ããŸãã¯ããã¯ææ¡ããããã®ã«ã€ããŠã®åãªã芳å¯ã§ã
è§£æ±ºïŒ ç§ã¯ãããè¡ãæ¹æ³ã«ã€ããŠã®æèŠãèãããã®éãæžããããã§ã
APIåŒã³åºããâ
ããªããèšåãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/aws/aws-cli/issues/1104?email_source=notifications&email_token=AABLGMTQZD6OWVH4KDMSJPLP2EBY7A5CNFSM4A2VNZ2KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AABLGMRLA5OYSYGEYNPUY5DP2EBY7ANCNFSM4A2VNZ2A
ã
+24
ããã«è³æãã人ã¯èª°ã§ããAWSCLIã§ãã¡ã€ãªã³ã°ããŠã圹ã«ç«ã¡ãŸããã AWSCLIã¯S3ã«ãã€ã³ããããŠããŸãã ä¿®æ£ãããå Žåã¯ãããŒã«ã®githubã§ã¯ãªãS3ããŒã ã«ãã¡ã€ã«ããŠãã ããïŒP
@ mike-bailey OKãã©ãããã°ããã§ããïŒ
å人çãªå Žåã¯ãAWSãã±ãããæåºããŠããµãŒãã¹ããŒã ã«éä¿¡ããŸãã ããããç§ã¯AWSã§åããŠããŸããã ããã«ã+1ããšã³ã¡ã³ãããŠãå€æŽã«ã¯ãªããªãããšã¯ããã£ãŠããŸãã
s3apiãš--queryé¢æ°ã䜿çšããŠãããè¡ãæ¹æ³ããããŸãã ããã¯OSXã§ãã¹ããããŠããŸã
aws s3api list-objects --bucket "bucket-name" --query'Contents [ïŒLastModified> =2016-05-20
] []ã{KeyïŒKey} '
次ã«ãjqãŸãã¯grepã䜿çšããŠãã£ã«ã¿ãªã³ã°ããä»ã®s3apié¢æ°ã§åŠçãè¡ãããšãã§ããŸããç·šéïŒãªããããã衚瀺ãããªãã®ãããããŸããããã¯ãšãªããŠããæ¥ä»ãå²ãããã«ããã¯ã¯ã©ãŒãã䜿çšããå¿ èŠããããŸã
ãã®åçãè©Šãåã«ãææ°ããŒãžã§ã³ã®awscli
ã䜿çšããŠããããšã確èªããŠãã ããã ã¢ããã°ã¬ãŒãããŸãã
awscli 1.11.47-> 1.16.220
ãããŠããã¯æãããã¯ã©ã€ã¢ã³ãåŽã®ãã£ã«ã¿ãªã³ã°ãè¡ããŸããããããã¯æ©èœããŸããã
ãµãŒããŒåŽãã£ã«ã¿ãªã³ã°ã®å Žåã¯+1ã
+1
+1
ã¹ã¬ãããèªãã§ãã ããã+ 1ã¯äœãããŸãã
ãããç°¡åã«è¡ãããšã¯ã§ããŸãããããããã®ã³ã¡ã³ãã«åãããŠããã®ã¯æ¬¡ã®ãã³ãã§ãã
aws s3api list-objects --bucket "bucket-name" --query 'Contents[?LastModified>=`2016-05-20`][].{Key: Key}'
ããã¯ãŸã ã¯ã©ã€ã¢ã³ãåŽã§ãããå€ãã®èŠæ±ãå®è¡ããŸãã
ãã ããåè¿°ã®ããã«ãã¯ã©ã€ã¢ã³ãåŽã§åŠçããŸãã ãã®ããããŸã æœåšçã«ãã±ããåŒã³åºãã§å©ããŸãã
ãã£ã«ã¿ãªã³ã°ã¯ãµãŒããŒåŽã§ããå¿ èŠããããåºæ¬çãªããŒãºã ãšæããŸãã
ããã¯ãaws s3 syncã䜿çšããŠãæ°ãããã¡ã€ã«ã®ã¿ãããŠã³ããŒããããããã«ããäŸã§ãã ãã°ã1ã€ã®ãã°ãã¡ã€ã«ã«çµåãããã¡ã€ã«ãä¿åããåã«ã³ã¡ã³ããåé€ããŸãã ãã®åŸãgrepãªã©ã䜿çšããŠãã°ããŒã¿ãååŸã§ããŸãã ç§ã®å Žåãç¹å®ã®ãã¡ã€ã«ãžã®äžæã®ããããã«ãŠã³ãããå¿ èŠããããŸããã 以äžã®ã³ãŒãã¯ã次ã®ãªã³ã¯ããå€æŽãããŸãããhttps ïŒ//shapeshed.com/aws-cloudfront-log/ sedã³ãã³ãã¯Macã§ãæ©èœããèšäºã®å 容ãšã¯ç°ãªããŸãã ã圹ã«ç«ãŠãã°ïŒ
aws s3 sync s3://<YOUR_BUCKET> .
cat *.gz > combined.log.gz
gzip -d combined.log.gz
sed -i '' '/^#/ d' combined.log
# counts unique logs for px.gif hits
grep '/px.gif' combined.log | cut -f 1,8 | sort | uniq -c | sort -n -r
# above command will return something like below. The total count followed by the date and the file name.
17 2020-01-02 /px.gif
9 2020-01-03 /px.gif
ç§ã¯ãã®å€ãåé¡ãç¥ã£ãŠããŸãããããã«ãšã¬ã¬ã³ããªè§£æ±ºçãæ®ããŸãïŒ
aws s3api list-objects --output = text --query "Contents [ïŒLastModified> = <DATE_YOU_WANT_TO_START>
]ã{KeyïŒKey}"
æãåèã«ãªãã³ã¡ã³ã
@jwiederããã¯ããŠãŒã¶ãŒãs3ãžã®ãªã¹ãåŒã³åºãã®æ°ãæžããã®ã«åœ¹ç«ã¡ãŸããã æ¯æ¥ãæ倧1000ã®ãã¥ãŒã¹èšäºããã±ããã«ä¿åãããšããŸãã 次ã«ãã¯ã©ã€ã¢ã³ãåŽã§ã¯ãããã©ã«ãã§éå»3æ¥éã®èšäºãååŸããããšèããŠããŸãïŒæ瀺çã«èŠæ±ãããå Žåã®ã¿ïŒã æéã®åããããã¹ãŠã®èšäºã®ãªã¹ããããšãã°100kããã§ããããå¿ èŠããããšãæéããããããããã¯ãŒã¯ã³ã¹ããçºçããŸãïŒ1åã®ãªã¹ãåŒã³åºãã§æ倧1000ã¢ã€ãã ããè¿ãããªãããïŒã ã3æ¥åããäœæ/å€æŽãããã¢ã€ãã ã®ãªã¹ããæããŠãã ããããšèšãã°ãã£ãšããã§ãããã