2020-01-01ãã1ã¶æéã®è¨äºä¸è¦§
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
tl;dr åå å®è£ 2 ã¤ã®å®è£ å®è£ (1) IAM ã¦ã¼ã¶ã¼ã®åå² ã æ¬çªç°å¢ã®ãªã½ã¼ã¹æä½ãæå¦ãã ã å®è£ (2) Chrome Extension ã«ãã IAM ã¦ã¼ã¶ã¼ã®å¤å¥ æå¾ã« tl;dr å æ¥, å®å ¨ã«èªåã®ãã£ãã㧠AWS ãªã½ã¼ã¹ããªããã¹ã§å£ãã¦ãã¾ããµã¼ãã¹é害ãâ¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ããããã㨠諸注æ ãã£ãã㨠ããã¾ã§ã® docker-compose.yml 令åã® docker-compose.yml ä»¥ä¸ åè ããããã㨠docker-compose.yml ãæ¸ãã¦ãã¦, åãå 容ãä½åº¦ãä½åº¦ãæ¸ãã¦ãã¦, 令åã®æ代ã«ããã¯ã¢ã«ã³ã¨ãããã¨ã§ Anchor, Alias ã§å°ãã§ã â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ããããã㨠諸注æ ãã£ãã㨠ç°å¢æ§ç¯ã¨ã ãã¹ãã³ã¼ãå ¨è² ä½ã£ããã® åè ããããã㨠PostgreSQL 9.x ã«ããã¦, localhost 以å¤ãããã¼ã¿ãã¼ã¹æ¥ç¶ãè¨å®ã«ã¤ãã¦ã¾ã¨ããã®ã¯åå. ä»åã¯, ãããæ¤è¨¼ããã«ããã£ã¦ Go ã® testing ããã±ã¼ã¸â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ããããã㨠諸注æ ãã£ãã㨠ç°å¢ã®æ§ç¯ã¨ã ã¤ã³ã¹ãã¼ã«ç´å¾ã®ç¶æ listen_addresses ã®å¤æ´ pg_hba.conf ãã¡ã¤ã« ããã»ã¹ã®åèµ·å æ¥ç¶ç¢ºèª åè ããããã㨠PostgreSQL 9.x ã«ããã¦, localhost 以å¤ãããã¼ã¿ãã¼ã¹æ¥ç¶ãè¨å®ããæ©ä¼ããã£ãâ¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ããããã㨠åå, Nginx ã§ç¹å®ã®ãã¹ã«ããã¦åºå®ã®ã¬ã¹ãã³ã¹ (ã¹ãã¼ã¿ã¹ã³ã¼ã, ããã£) ãè¿ãçºã®è¨å®ã«ã¤ãã¦ã¡ã¢ã£ããã©, ä»åã¯, ãããæ¤è¨¼ããã«ããã£ã¦ Go ã® testing ããã±ã¼ã¸ã§ãã¹ãã³ã¼ããæ¸ãã¦æ¤è¨¼ããã話ãå°ã. inokara.hatebloâ¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ããããã㨠諸注æ ãã£ãã㨠åè ããããã㨠Nginx ã§ç¹å®ã®ãã¹ã«ããã¦åºå®ã®ã¬ã¹ãã³ã¹ (ã¹ãã¼ã¿ã¹ã³ã¼ã, ããã£) ãè¿ã. 諸注æ åä½ç¢ºèªç°å¢ã¯ä»¥ä¸ã®éã. $ nginx -V nginx version: nginx/1.15.10 built by gcc 6.3.0 20170516 (Debian 6.3â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
tl;dr ä½ã£ããã® å¦ã³ GCP Golang Terraform Github Actions ä»¥ä¸ tl;dr æè¿, GCP ã® Cloud Functions ããããæ©ä¼ããã£ãã®ã¡ã¢ãã¦ããã¾ã. ä½ã£ããã® HTTP ããªã¬ã¼ã¸ã®ãªã¯ã¨ã¹ãã Google Cloud Storage ã«ä¿åãã¦, ä¿åããå 容ã BigQuery ã«â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦
ã¢ã¯ãã£ãã㣠(ä»ã¾ã§ã®èµ°è¡ (æ©è¡) è·é¢) Fitibit Charge2 ã®ã¢ã¯ãã£ããã£ããèµ°è¡ (æ©è¡) è·é¢ã Fitbit Web API ã§åå¾ã㦠Pixela ã§èçããã¦ãã. è²ãæ¿ããªãã°æ¿ããªãç¨å¼·åº¦ãé«ã (æ©è¡, èµ°è¡è·é¢ãé·ã) ã¨ãããã¨ã§. å®è£ ã®è©³ç´°ã¯ãã¡ã.â¦