{"id":98354,"date":"2022-12-15T09:52:30","date_gmt":"2022-12-15T08:52:30","guid":{"rendered":"https:\/\/fotc.com\/?p=98354"},"modified":"2022-12-15T10:01:21","modified_gmt":"2022-12-15T09:01:21","slug":"cloud-functions-wszystko-co-trzeba-wiedziec","status":"publish","type":"post","link":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","title":{"rendered":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107"},"content":{"rendered":"\n<p>Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem i co jest nam w stanie zaoferowa\u0107? W dzisiejszym wpisie przybli\u017camy podstawy tego rozwi\u0105zania, dost\u0119pnego w ramach \u015brodowiska chmurowego Google Cloud.<\/p>\n\n\n\n<h2 id=\"h-czym-jest-cloud-functions\">Czym jest Cloud Functions?<\/h2>\n\n\n\n<p>Cloud Functions jest bezserwerowym \u015brodowiskiem s\u0142u\u017c\u0105cym do \u0142\u0105czenia us\u0142ug w chmurze oraz wykonywania zada\u0144. Dzia\u0142a w modelu FaaS (Function as a Service) i umo\u017cliwia pisanie oraz wdra\u017canie fragment\u00f3w kodu uruchamianych w odpowiedzi na okre\u015blone zdarzenie emitowane przez Google Cloud. Mo\u017cliwe jest te\u017c uruchomienie zdarzenia spoza platformy, przy u\u017cyciu protoko\u0142u HTTP i unikalnego adresu URL. Uruchamianie kodu nast\u0119puje w \u015brodowisku wykonawczym Google, dzi\u0119ki czemu u\u017cytkownik nie musi dostarcza\u0107 ani konfigurowa\u0107 \u017cadnej us\u0142ugi.<\/p>\n\n\n\n<h2 id=\"h-czym-jest-rodowisko-bezserwerowe\">Czym jest \u015brodowisko bezserwerowe?<\/h2>\n\n\n\n<p>W tym miejscu warto powiedzie\u0107 kilka s\u0142\u00f3w o tym, czym \u015brodowisko bezserwerowe (serverless) i jaka jest jego funkcja. Jest to infrastruktura, w kt\u00f3rej uruchamiany jest Tw\u00f3j kod. Dzi\u0119ki niemu nie musisz przejmowa\u0107 si\u0119 zarz\u0105dzaniem maszyn\u0105, udost\u0119pnianiem, aktualizacj\u0105 systemu operacyjnego, zarz\u0105dzaniem sieci\u0105 czy r\u00f3wnowa\u017ceniem obci\u0105\u017cenia. To wszystko le\u017cy po stronie infrastruktury Google, natomiast zasoby skalowane s\u0105 automatycznie, zgodnie z bie\u017c\u0105cymi potrzebami.<\/p>\n\n\n\n<p>Je\u017celi Twoja aplikacja cieszy si\u0119 du\u017cym zainteresowaniem, wzrasta wi\u0119c ruch, Google przeskaluje infrastruktur\u0119 w g\u00f3r\u0119, a gdy obci\u0105\u017cenie spadnie, infrastruktura zostanie przeskalowana w d\u00f3\u0142. Co si\u0119 stanie w sytuacjach, w kt\u00f3rych w og\u00f3le nie ma ruchu? W takim wypadku us\u0142uga zostanie skalowana do zera, co pozwoli unikn\u0105\u0107 niepotrzebnych koszt\u00f3w, gdy\u017c w chmurze Google p\u0142acisz w modelu pay-as-you-use, czyli przy zerowym ruchu nie zap\u0142acisz nic.<\/p>\n\n\n\n<h2 id=\"h-wi-ksza-zwinno-dzi-ki-cloud-functions\">Wi\u0119ksza zwinno\u015b\u0107 dzi\u0119ki Cloud Functions<\/h2>\n\n\n\n<p>Wracaj\u0105c do Google Cloud Functions \u2013 us\u0142uga ta zwi\u0119ksza poziom zwinno\u015bci poprzez budowanie aplikacji sk\u0142adaj\u0105cych si\u0119 z ma\u0142ych, niezale\u017cnych jednostek funkcjonalno\u015bci, czyli modu\u0142\u00f3w. Ka\u017cdy z nich koncentruje si\u0119 na wykonaniu tylko jednej czynno\u015bci. Dzi\u0119ki Cloud Functions u\u017cytkownicy mog\u0105 tworzy\u0107 i wdra\u017ca\u0107 us\u0142ugi na poziomie pojedynczej funkcji, niekoniecznie z poziomu ca\u0142ej aplikacji, kontenera czy maszyny wirtualnej.<\/p>\n\n\n\n<p>Dost\u0119pne s\u0105 dwie generacje Cloud Functions. Drug\u0105 oparto na Cloud Run i Evantarc, co pozwoli\u0142o ulepszy\u0107 zestaw funkcji. Mimo \u017ce Google deklaruje wsparcie dla obu, to sugeruje si\u0119 korzystanie z drugiej generacji.<\/p>\n\n\n\n<h2 id=\"h-co-zapewnia-druga-generacja-cloud-functions\">Co zapewnia druga generacja Cloud Functions?<\/h2>\n\n\n\n<p>W\u015br\u00f3d zmian, kt\u00f3re pojawi\u0142y si\u0119 w drugiej generacji Cloud Functions warto zwr\u00f3ci\u0107 uwag\u0119 na:<\/p>\n\n\n\n<ul><li>D\u0142u\u017cszy czas przetwarzania \u017c\u0105da\u0144, dzi\u0119ki czemu mo\u017cesz uruchamia\u0107 obci\u0105\u017cenia takie jak przetwarzanie du\u017cych strumieni danych z Cloud Storage lub BigQuery.<\/li><li>Wi\u0119ksze rozmiary instancji, co pomo\u017ce uruchamia\u0107 r\u00f3wnolegle wi\u0119ksze obci\u0105\u017cenia, kt\u00f3re intensywnie korzystaj\u0105 z mocy obliczeniowej.<\/li><li>Ulepszon\u0105 wsp\u00f3\u0142zale\u017cno\u015b\u0107, dzi\u0119ki kt\u00f3rej mo\u017cliwa jest jednoczesna obs\u0142uga wielu \u017c\u0105da\u0144 za pomoc\u0105 jednej instancji funkcji, co wp\u0142ywa minimalizacj\u0119 op\u00f3\u017anie\u0144 czy tzw. cold start\u00f3w.<\/li><li>Zarz\u0105dzanie ruchem, kt\u00f3re sprawia, \u017ce mo\u017cna podzieli\u0107 go mi\u0119dzy r\u00f3\u017cne wersje funkcji, czy te\u017c przywr\u00f3ci\u0107 poprzedni\u0105 wersj\u0119.<\/li><li>Integracj\u0119 z Eventarc, czyli natywna obs\u0142uga trigger\u00f3w Eventarc, dzi\u0119ki kt\u00f3rej do Cloud Functions mog\u0105 trafi\u0107 wszystkie z ponad dziewi\u0119\u0107dziesi\u0119ciu \u017ar\u00f3de\u0142 zdarze\u0144 obs\u0142ugiwanych przez Eventarc.<\/li><li>Szersz\u0105 obs\u0142ug\u0119 CloudEvents \u2013 wsparcie dost\u0119pne jest we wszystkich \u015brodowiskach wykonawczych, co zapewnia sp\u00f3jne \u015brodowisko programistyczne.<\/li><\/ul>\n\n\n\n<p>Do pisania Cloud Functions mo\u017cesz skorzysta\u0107 z wielu j\u0119zyk\u00f3w oprogramowania wylistowanych<a href=\"https:\/\/cloud.google.com\/functions\/docs\/concepts\/execution-environment#runtimes\"> tutaj<\/a>. \u015arodowisko to rozszerza istniej\u0105ce us\u0142ugi w chmurze, umo\u017cliwiaj\u0105c obs\u0142ug\u0119 wielorakich przypadk\u00f3w w dowolnej logice programowania. Poniewa\u017c Cloud Functions ma dost\u0119p do danych logowania Google Service Account, uwierzytelnianie us\u0142ug takich jak Cloud Vision oraz wielu innych nast\u0119puje bezproblemowo. Dodatkowym u\u0142atwieniem integracji jest obs\u0142ugiwanie i wykorzystanie przez Cloud Functions licznych bibliotek klienckich.<\/p>\n\n\n\n<h2 id=\"h-eventy-chmurowe-i-triggery\">Eventy chmurowe i Triggery<\/h2>\n\n\n\n<p>Przedstawiaj\u0105c drug\u0105 generacj\u0119 Cloud Functions napomkn\u0119li\u015bmy o eventach i triggerach. Czym one s\u0105?<\/p>\n\n\n\n<p>Zdarzeniami w chmurze (events) s\u0105 wszystkie rzeczy dziej\u0105ce si\u0119 w Twoim \u015brodowisku chmurowym. B\u0119d\u0105 to wi\u0119c zar\u00f3wno zmiany w bazie danych, pliki dodane do systemu pami\u0119ci masowej lub te\u017c nowa instalacja maszyny wirtualnej. Zdarzenia b\u0119d\u0105 tworzone bez wzgl\u0119du na to, czy postanowisz na nie odpowiedzie\u0107. Je\u017celi tak, to w celu odpowiedzi potrzebujesz triggera.<\/p>\n\n\n\n<p>Trigger stanowi deklaracj\u0119 zainteresowania okre\u015blonym wydarzeniem lub zestawem wydarze\u0144. Wi\u0105\u017c\u0105c funkcj\u0119 z triggerem mo\u017cesz przechwytywa\u0107 wydarzenia. Mo\u017cesz skonfigurowa\u0107 Cloud Functions do odpowiadania na r\u00f3\u017cne scenariusze. Triggerem mog\u0105 by\u0107 \u017c\u0105dania HTTP(S) lub zdarzenia.<\/p>\n\n\n\n<h2 id=\"h-w-jakich-zastosowaniach-sprawdzi-si-cloud-functions\">W jakich zastosowaniach sprawdzi si\u0119 Cloud Functions?<\/h2>\n\n\n\n<p>Korzystaj\u0105c z Cloud Functions nie potrzebujesz w\u0142asnego serwera lub dedykowanego programisty, aby obs\u0142u\u017cy\u0107 asynchroniczne obci\u0105\u017cenia czy automatyzacj\u0119 w chmurz\u0119. Wystarczy wdro\u017cy\u0107 funkcj\u0119 powi\u0105zan\u0105 z danym zdarzeniem. Ze wzgl\u0119du na precyzj\u0119 oraz dzia\u0142anie na \u017c\u0105danie, Cloud Functions idealnie nada si\u0119 do lekkich interfejs\u00f3w API oraz webhook\u00f3w. Automatyczne udost\u0119pnianie punkt\u00f3w ko\u0144cowych http sprawia, \u017ce nie jest wymagana skomplikowana konfiguracja, tak jak ma to miejsce w przypadku innych us\u0142ug.<\/p>\n\n\n\n<h3 id=\"h-integracja-z-api\">Integracja z API<\/h3>\n\n\n\n<p>Dzi\u0119ki Cloud Functions mo\u017cesz udost\u0119pnia\u0107 w\u0142asne mikrous\u0142ugi za po\u015brednictwem interfejs\u00f3w API HTTP. Mo\u017cliwa jest te\u017c integracja z us\u0142ugami innych firm oferuj\u0105cymi integracj\u0119 element\u00f3w webhook. Pozwoli to szybko rozszerzy\u0107 aplikacj\u0119 o zaawansowane funkcje, takie jak np. potwierdzenie po pomy\u015blnej p\u0142atno\u015bci Stripe, wysy\u0142anie wiadomo\u015bci e-mail, czy odpowiedzi na zdarzenia w postaci wiadomo\u015bci tekstowych.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/qt7YtRP3Ph2auFgOY7Uyplp8qBbRUfWSrsAIphJivzIO8B-Qt2WfknhD3HX7K4crMoykpYzHKp17uIOV9K__l5FZFGMwfy-oniQ6DH4KEyuq4c8CK2_CFXexLlSApkXAeOd6UJOBaF7GBVSPiQU39EoOlUAP12R7chSO0cvx10xzjthiYjsZeT6r3sD2PA\" alt=\"\"\/><\/figure>\n\n\n\n<h3 id=\"h-bezserwerowe-zaplecze-mobilne\">Bezserwerowe zaplecze mobilne<\/h3>\n\n\n\n<p>U\u017cywaj\u0105c Cloud Functions bezpo\u015brednio z Firebase mo\u017cesz rozszerzy\u0107 funkcjonalno\u015b\u0107 aplikacji bez uruchamiania serwera. Dzi\u0119ki temu mo\u017cesz odpali\u0107 sw\u00f3j kod w odpowiedzi na dzia\u0142ania u\u017cytkownik\u00f3w, analizy i zdarzenia zwi\u0105zane z uwierzytelnianiem, aby zaanga\u017cowa\u0107 u\u017cytkownik\u00f3w za pomoc\u0105 powiadomie\u0144 opartych na zdarzeniach. Co wi\u0119cej, Pomaga to przenosi\u0107 zadania intensywnie obci\u0105\u017caj\u0105ce procesor i sie\u0107 do<a href=\"https:\/\/fotc.com\/pl\/google-cloud-platform\/\"> Google Cloud<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/0tpRzF4ImWHP88tdZ8qdZ97YoqmnhSQuWwihDdfUN5IXwK8qt0BkrDMsVWcgq94m0AFHbYT6bdAYTtQOuyi-9WURJonvjTfjjLHsGKbWGlInSrjQ6aj0SNrDJi27qtqqB4T-niQtSENUzRTbPlMqEVK6VkyvAVCizMF1aqxqXFjCX4z859dzVk1i-PO5LA\" alt=\"\"\/><\/figure>\n\n\n\n<h2 id=\"h-bezserwerowe-zaplecze-iot\">Bezserwerowe zaplecze IoT<\/h2>\n\n\n\n<p>Kolejnym ciekawym zastosowaniem Cloud Functions w po\u0142\u0105czeniu z Cloud IoT Core oraz innymi w pe\u0142ni zarz\u0105dzanymi us\u0142ugami jest tworzenie zaplecza do zbierania, przetwarzania i analizy danych telemetrycznych urz\u0105dze\u0144 IoT. W tym przypadku Cloud Functions umo\u017cliwia stosowanie niestandardowej logiki do ka\u017cdego zdarzenia w momencie jego nadej\u015bcia.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/5HFQBB911iSp0uAc0v3UtIGUYi5Ov3RkJrZo1Abs2ntu46wMVgCn4l4ZDYVCUB_KW8Jgohg1ZfubLyo5kGwHevdS-OIxapG5wIU1j27CgcpndS4mPiXLHJc07hlzyJTl4O5eS7oM2A11KyJjb_FXunaClB2xJ7hicxdvqH9RFymPsaAY20WMzz_B-nmoAg\" alt=\"\"\/><\/figure>\n\n\n\n<h2 id=\"h-podsumowanie\">Podsumowanie<\/h2>\n\n\n\n<p>Korzystaj\u0105c z Google Cloud Functions stworzysz i wdro\u017cysz us\u0142ugi na poziomie pojedynczego modu\u0142u, a nie ca\u0142ej aplikacji, maszyn wirtualnych czy kontener\u00f3w. Dzi\u0119ki zapewnionej warstwie logiki do \u0142\u0105czenia i rozszerzania innych us\u0142ug w chmurze Google mo\u017cesz pisa\u0107 i wdra\u017ca\u0107 funkcje, kt\u00f3re szybko po\u0142\u0105czysz ze zdarzeniami emitowanymi przez inne us\u0142ugi chmurowe. Poniewa\u017c us\u0142uga dzia\u0142a w modelu bezserwerowym, obni\u017cysz koszty, uwolnisz zasoby, kt\u00f3re przydadz\u0105 si\u0119 do rozwoju innowacji, zamiast pozostawia\u0107 je w obszarze utrzymania.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem i co jest nam w stanie zaoferowa\u0107? W dzisiejszym wpisie przybli\u017camy podstawy tego rozwi\u0105zania, dost\u0119pnego w ramach \u015brodowiska chmurowego Google Cloud. Czym jest Cloud Functions? Cloud Functions jest bezserwerowym \u015brodowiskiem s\u0142u\u017c\u0105cym do \u0142\u0105czenia us\u0142ug w chmurze oraz wykonywania zada\u0144. Dzia\u0142a w modelu FaaS (Function as&#8230;<\/p>\n","protected":false},"author":26,"featured_media":98356,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":4,"_editorskit_typography_data":[],"_editorskit_blocks_typography":"","_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}"},"categories":[560],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v16.7 (Yoast SEO v19.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107 - FOTC<\/title>\n<meta name=\"description\" content=\"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107\" \/>\n<meta property=\"og:description\" content=\"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/\" \/>\n<meta property=\"og:site_name\" content=\"FOTC\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-15T08:52:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-12-15T09:01:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fotc.com\/app\/uploads\/2022\/12\/BLOG_GCP_PL-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Micha\u0142 Krzak\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/\",\"url\":\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/\",\"name\":\"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107 - FOTC\",\"isPartOf\":{\"@id\":\"https:\/\/fotc.com\/#website\"},\"datePublished\":\"2022-12-15T08:52:30+00:00\",\"dateModified\":\"2022-12-15T09:01:21+00:00\",\"author\":{\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/8804ea9f08fae06c18c12d0163af3691\"},\"description\":\"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?\",\"breadcrumb\":{\"@id\":\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PL\",\"item\":\"https:\/\/fotc.com\/pl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Google Cloud\",\"item\":\"https:\/\/fotc.com\/pl\/blog\/category\/google-cloud-platform-pl\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fotc.com\/#website\",\"url\":\"https:\/\/fotc.com\/\",\"name\":\"FOTC\",\"description\":\"Partner Google Cloud\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fotc.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/8804ea9f08fae06c18c12d0163af3691\",\"name\":\"Micha\u0142 Krzak\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/fotc.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/cb052d2519758d2585eee1abaf8ab5ed?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/cb052d2519758d2585eee1abaf8ab5ed?s=96&d=mm&r=g\",\"caption\":\"Micha\u0142 Krzak\"},\"description\":\"Copywriter, dziennikarz, content marketer. Od 2005 roku tworzy artyku\u0142y , teksty blogowe i raporty dla bran\u017cy nowoczesnych technologii, druku 3D oraz logistyki.\",\"url\":\"https:\/\/fotc.com\/pl\/blog\/author\/michal-krzak\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107 - FOTC","description":"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","og_locale":"pl_PL","og_type":"article","og_title":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107","og_description":"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?","og_url":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","og_site_name":"FOTC","article_published_time":"2022-12-15T08:52:30+00:00","article_modified_time":"2022-12-15T09:01:21+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/fotc.com\/app\/uploads\/2022\/12\/BLOG_GCP_PL-5.png","type":"image\/png"}],"author":"Micha\u0142 Krzak","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","url":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/","name":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107 - FOTC","isPartOf":{"@id":"https:\/\/fotc.com\/#website"},"datePublished":"2022-12-15T08:52:30+00:00","dateModified":"2022-12-15T09:01:21+00:00","author":{"@id":"https:\/\/fotc.com\/#\/schema\/person\/8804ea9f08fae06c18c12d0163af3691"},"description":"Czym jest Cloud Functions? Jak rozpocz\u0105\u0107 prac\u0119 z tym \u015brodowiskiem w Google Cloud i co jest nam w stanie zaoferowa\u0107?","breadcrumb":{"@id":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fotc.com\/pl\/blog\/cloud-functions-wszystko-co-trzeba-wiedziec\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"PL","item":"https:\/\/fotc.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Google Cloud","item":"https:\/\/fotc.com\/pl\/blog\/category\/google-cloud-platform-pl\/"},{"@type":"ListItem","position":3,"name":"Cloud Functions \u2013 wszystko, co trzeba wiedzie\u0107"}]},{"@type":"WebSite","@id":"https:\/\/fotc.com\/#website","url":"https:\/\/fotc.com\/","name":"FOTC","description":"Partner Google Cloud","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fotc.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Person","@id":"https:\/\/fotc.com\/#\/schema\/person\/8804ea9f08fae06c18c12d0163af3691","name":"Micha\u0142 Krzak","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/fotc.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/cb052d2519758d2585eee1abaf8ab5ed?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cb052d2519758d2585eee1abaf8ab5ed?s=96&d=mm&r=g","caption":"Micha\u0142 Krzak"},"description":"Copywriter, dziennikarz, content marketer. Od 2005 roku tworzy artyku\u0142y , teksty blogowe i raporty dla bran\u017cy nowoczesnych technologii, druku 3D oraz logistyki.","url":"https:\/\/fotc.com\/pl\/blog\/author\/michal-krzak\/"}]}},"_links":{"self":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts\/98354"}],"collection":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/comments?post=98354"}],"version-history":[{"count":0,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/posts\/98354\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/media\/98356"}],"wp:attachment":[{"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/media?parent=98354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/categories?post=98354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fotc.com\/pl\/wp-json\/wp\/v2\/tags?post=98354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}