Zbudowałem własne API publikacyjne w jedną noc
Zeszłej nocy sfilmowałem mojego kota Pierre'a w łóżku. Robił swoje – wdrapywał się na mnie, wpatrywał się, w końcu śpiewał. Skompresowałem wideo, uruchomiłem jedno polecenie i automatycznie pojawiło się na górze mojego kanału na żywo.
Odpowiedź nadeszła w kilka sekund: 98 filmów. Pierre na górze. Kanał zaktualizowany. Gotowe.
Co właściwie się stało
Pod maską jeden Cloudflare Worker obsłużył wszystko: przyjął bajty wideo, zapisał je w magazynie obiektów R2, pobrał istniejący JSON kanału, dodał nowy URL wideo na początek listy, zapisał zaktualizowany JSON z powrotem do R2 i zaktualizował magazyn klucz-wartość. Żadnego serwera. Żadnej bazy danych. Żadnego potoku wdrożeniowego. Tylko Worker, bucket i magazyn klucz-wartość.
Całkowity koszt infrastruktury przy obecnej skali jest praktycznie zerowy.
Dlaczego to wydaje się ważne
Przed zeszłą nocą dodanie filmu wymagało ręcznego przesłania do R2 przez AWS CLI, edycji JSON kanału, ponownego przesłania i czyszczenia pamięci podręcznej CDN. Teraz barierą jest jedno polecenie curl. Albo docelowo żadne polecenie – wystarczy „hej Claude, wrzuć to wideo”.
Posiadanie API do własnej strony zmienia to, co jest możliwe. To różnica między stroną internetową a platformą.
Jedno uwierzytelnione żądanie POST wystarczy, aby opublikować w sieci. Stąd ten sam wzorzec rozciąga się na wiele kanałów, wiele platform, docelowo na YouTube. Jedno wrzucenie, wszędzie jednocześnie.
Szerszy obraz
Rozpocząłem 333-dniowy eksperyment z sygnałem, aby zmusić się do konsekwentnego budowania publicznie. Czwartej nocy mam na żywo kanał wideo, automatyczną rotację cron, sieć 8 połączonych domen, wynik sygnału i teraz API publikacyjne, z którego mogę korzystać z dowolnego miejsca.
Łańcuch ma 4 dni. Fundament już jest. Następnie: jeden skrypt powłoki, który wrzuca wideo, tweetuje je i aktualizuje wszystkie punkty końcowe naraz. Jedno polecenie. Całkowita dystrybucja.
Get new posts
Subscribe in your language
Get new posts
Subscribe in your language
New posts delivered to your inbox. Unsubscribe anytime.
Receive in: