From 9a5493577bddb23e88e9e45a715002438e739880 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Stormacq?= Date: Wed, 27 Nov 2024 11:12:08 +0100 Subject: [PATCH 01/16] add deploy with console and CLI --- img/readme/console-10-regions.png | Bin 0 -> 54926 bytes img/readme/console-20-dashboard.png | Bin 0 -> 69044 bytes img/readme/console-30-create-function.png | Bin 0 -> 72186 bytes img/readme/console-40-select-zip-file.png | Bin 0 -> 68312 bytes img/readme/console-50-upload-zip.png | Bin 0 -> 17354 bytes img/readme/console-60-prepare-test-event.png | Bin 0 -> 42334 bytes .../console-70-view-invocation-response.png | Bin 0 -> 76048 bytes img/readme/console-80-delete-function.png | Bin 0 -> 32924 bytes img/readme/console-80-delete-role.png | Bin 0 -> 29266 bytes readme.md | 331 +++++++++++++++++- 10 files changed, 317 insertions(+), 14 deletions(-) create mode 100644 img/readme/console-10-regions.png create mode 100644 img/readme/console-20-dashboard.png create mode 100644 img/readme/console-30-create-function.png create mode 100644 img/readme/console-40-select-zip-file.png create mode 100644 img/readme/console-50-upload-zip.png create mode 100644 img/readme/console-60-prepare-test-event.png create mode 100644 img/readme/console-70-view-invocation-response.png create mode 100644 img/readme/console-80-delete-function.png create mode 100644 img/readme/console-80-delete-role.png diff --git a/img/readme/console-10-regions.png b/img/readme/console-10-regions.png new file mode 100644 index 0000000000000000000000000000000000000000..afe97b5320eaf96a9f1dc7a498fc5b5c83219f67 GIT binary patch literal 54926 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 _(`;@c3NcGR_>;Wi$|RWw)voeFh-|2ZPZi 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%0DD`(r_91+~s|T3)O*d8HN9h}2ieOrPDps}T4B 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 Ss++No`&>1>Zc<@ literal 0 HcmV?d00001 diff --git a/img/readme/console-40-select-zip-file.png b/img/readme/console-40-select-zip-file.png new file mode 100644 index 0000000000000000000000000000000000000000..da4ff924793853365168ef0a39ac542f6a0f2b72 GIT binary patch literal 68312 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

mHKWDyRHZi>;E_C4Id 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 Yn&ij(fn+jPE%= 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 A2><{9 literal 0 HcmV?d00001 diff --git a/img/readme/console-50-upload-zip.png b/img/readme/console-50-upload-zip.png new file mode 100644 index 0000000000000000000000000000000000000000..89eedab9271bc4af67a25d0f74bbc93dec853e0a GIT binary patch literal 17354 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 literal 0 HcmV?d00001 diff --git a/img/readme/console-80-delete-function.png b/img/readme/console-80-delete-function.png new file mode 100644 index 0000000000000000000000000000000000000000..f205f47b00bcf5a98ac907734b3de75e6a44b923 GIT binary patch literal 32924 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

p#K^Ko${zuzJP*ci7h}pZ#WG zva{FAQ_>yti(I z$lsj2E}2Rquby7|qDy`J1Y1dY;xhknCASA09^O*tRuB&|el^l4o8!3AP%uuAkql*h z5bm_05V|=_=(wD@>99vOz0F7*YAmI;?YXY2(y>9I+%| zfIVhU%BFE&HCo6pC&uf%l9LCb=eRpM3ZI{uF_qa(YN7YOWvbAWq7fCoiJm!zT4U3*_#nTv4 zvGy;AzD4~VC8oH$Mqiwt(Yg)qAZe7m@vzp*EeNf1(rC8-Wx3GBQT8AKEtQc;4}hAR z79jK&Nsn`CJeU~w>#&E*5)c|JZYaEp=`C_DkU6{DElLYKmRN1n%zQSUsPF3&F@Sm9 zwXk^)HM+=!i>d=1AV(x^e{8L)ngB9`Y4W{x#+n$oKP~GU=#wn^5nYXNt~XxoGpR}1 z#X^s>rK92Or{778+}++fAJ3UMI@Z_8%W6VN&VL2lw<*8WU{jx*>U5ac+0``azVIfC zo0t?mKi~Q2`n;UK_9!YT-FQ}xBws_srWMg|FfMo8CP^>%J^rjD&doXHp?yu$(!>6% zqcrp7$@WUc!fGx+9jqhBaR?tN{<*ZQY=s1VduL|=hwP8^3XJTMsb*Da>1Q72lYl%8 zbMs+|@9%H5G&I^sxa?O`(=_Nmd{~={eaZG5MlU)HEH&qGI*K^B;@{?4 z85OtN_Kw%?VCO%RSRVE>@CZr#4~}V>Sq?;N2FD9afhgZ^k1VQqn7?bQe0Daoin-n^SdOr|}!~T$Yckx{Ppf>n!JncNk6dtm#SWu@hh?gi*NY@qM~G^`*u!-^o@G4L z$x}H#ef+q%{H5%qOy?yoF$o7l12y~Hq^jM#>p8=w#kE(AaBJ)5aNV{cX(JrU-Vfnk z+?5WOuE(N;I?Od)Gwod33;WBA4cFf{gOdkd|1$yn$)=HKA}Mj9 zBK#XCI8~l*8a|!#x|?Bj+g&4Tk#JyTt{*U#MQZV#;rW)QEZ%DUn&3$=y>#`OhHezm zYO6S)y}fO0@Au&H^fp*JD!RGs86=w;=3@3hEVrpk{9#mq!m9?&Vf(Zjhz%fP!kcjN6DwXAKFu2znXnuzSESgFY$M$W%q zlVs<8*u%5j2S0X)D{!ej$3>ncE>_gljr?f%Ng`l3&B5QP{m5swt%(k{+i(LGUthCZ z-~cRe{(wRl)R-p@fkQv*jSLGl62K@-ymt{!h@;g*-3>=)ht9;+CRuJ$M28AxSkUu0g34eA2H)iLSBnuR>SJ{$GMor+=olcc}=`Jo^NOIIVAB`jb`B7_a@Sg zm+uc7GgQhvfheb^Bx2re&gWBg+)v|8U9^T|Mm8PKQHe+rUON^#4H-NxD>XaR#3luA zi?a+of@b^OFc@vNk&${cpOd4TM4i_-Ts%DRxRl^%=-+^NRgaSODK<{(6;?L3f%Ior zu-fzIeG=bAEsxvfo#=`>%~1Ib_b096gM;e8?bQAd3)hC4DZ8jm^2;W1NXUzy2bYU% z;11pwse~nZ#&;K?Fn0%~kMP+ch~Q0*3y&npm=`EYAhq9ILEg zM_1HLPrvh>EdgmRlo#&B8PPS<6O|NQCW|!)_&b-y(JbH zw|XmZGlc7Mnuo2W5<`00+1B2g3Mc#GpRkO9$P>bc4@h3IXI}B5829cJSSn5HD@mJX z@~S+>RVKWX$@=JWgD2QJPioe%kV~(90dPBexB)Xh0jgs|vcbt3d8bv41!|(QRnq&c z=yKR$Zdb45R;n55TPVgzikyU^Emq%%=~F@YWgQ(dX`1O{sb6M*1+A^_)TzMVqcdVC zsyRE{m~@PvYu8Cbx7^^jK}C*05PraHos-? zE1B8Q>TulC)JOwAhZJ7gJ6Nu-a>-Jo#wwaghR(3S*pf>LC4e<6vAV}!z=icW$O|!n8uTyf~#$7m^wPkH1nO=`5x7SK?r5pUU zoEtBRJ0U<#pPe!tXG&Rcg3LC^SZ2)DtHW}M64=smyA@2v!;HrsN!qTaME8ed6N(F< z6JT0MT!R&tUZsA-iQ(~b@AQZQW3f;Is;a8iWLP15`lo$;u=vyr4BuBL8STa^*JFk8 zXS;pe{~gG#+90RLf;<$A>t!TE>K`qho$Ct+J3A2U-XCk_0*VQNoLR#vyC-$5)OlR?LoKR+Kr zogeM1px+ZZeCkJT(@$#)rgxWVJF5NX)^4AUl{A0u6F#1VPs60?5Lkr31*0e_Ctv4F zw5?8?WOUSUyV7a5B`hhJlAXL~lsxzencPYxcslfj^~h~s+1tHY?kokbP(i;Z6|^T@ z|K2tAFmG)3AW?89wV*S;R@+T9^>|fI_p%XfYgUYPF6J2MtjS;7!@XXdOEP_W$uta) zCarJb;=3Krf%Wb5_NdGq8K=>bcFE7AS}F-LeM*`h9XhVzS*OTu$%r%_GZ|&g55nPM z4Iq4|xCE75-%1LIrP+oyqYTQW*LK}UzeYEpw9~7%|9VTWR6K5rTBVNRl}ril2VI-x z`%`t0;;c@2al5>`%0B5`Hl_B-$1%gf7I9|}9-?Ds$H zSwJ<+r?8t?_oT3n73Td*QnBmrp~#ruOmPs9St#m%QrP11B18ZSrw;x6C0_wA+8$c1 zJ|Io$ek+X*_du#p|M%D=J7CSp`0I$4#xtM`r4+gnafR7QU27r#2tES=x2lLf`4!s3u-#0AG0W}yo= z{KkkN?V#t0AIX%E0fsITkW3rX^`f1Zm;}44Jh!fGRVojBAH{JkSd_oqMS&%@(O$*x zFe>|$e<82I35u?D()fNmK?awAh_Ts8tLjH$vD~&azP#!AIjV11n)GwU&`rBkda(p; zXY$_N4`0E#HtKhpq;^vh7P8}O|K$nKpq!ZPgk~0&- z@^G=8I>wvk(Y523$#d_tm3V}jo`S`YUipqHv51IvL_GLFxT2z>DxYL0-UE{f?BF*Q zcg?TTzBm*n1j~h@#2LAvI9P^q%$IC)jL|c>q?tH7H|`?O#tgpY$5(?mz1)3qk1+l~ zys-e4@=Z9>aEkyzSjXzl=dlfT@Mo-TQe1p|$yFSK5DbR|6Ft2g7~%vJ>XNUyypHw5 z!%`AwB0?Jv^PGutN!V;J-RG~3JIxAN4P~lJRCb$tV`)2%QIkkgc&Zip&VkloM!Xna zy@!VuF-?xG_iV@{h_EL$Ey)QuYx4Onfos991o^AW>6|W&BYXgCY^?+s4nnz*3CyWn zlqToX&rgRFI!>!(5Txt%!VzRm%U@$dbI^!)%-+j)@m@k;w zOpSBRKt>>5`OD`>-k0g)?CtkugjA+f)`%v#beaD@X@+lzaI8jQIjW6SYQdLOm%YEg z#?O=7+6k(rJ0D`aE#+HAytbizh`a|aNmYh?;yxiUQKz&OItvq}Il;YuCrVw^TQ$=f z8quVDy;GaN1t)G;(iSq|4x;igfelVUUV-k7VuB|TqkPJT*-Ib(%;lu{T^Sym>wP`B z(TM8Bv42(w_#@7$-+!Dd79Q8&OH<<040pZv$ip7obM4)>%6OIlR_xG%zF>51=sm< z`{!J}93t0|WQK+U);8#qZtrjGwV&i`M~QT+cbj~6SU26cWl7$1(oC;?hez26u!9s5 zs)cAt;BK4gx|%C4tJDYxZOp>acRFj{eNG?*e)0q3#ITgKP2bn5P*2zKCqK`Gxeu!Y zS!rpf*Wr}c=x(gJ;vhRon0@q0Ir%6Lx2%^u>pOo7Ty3ppUz+1r)vi~bX%im0jPkqF zY=DVhbI@9=CWO+>!@doBX-`6&PK>-suGMYQuhl5b|9%@~VtIg?)CGAr#D5ExzY+!g z^-$n7(d!j~iEHwkK(07$j-5Y0G4kz!B^nxU@CVU#-+PR;3ab_8!`vRDBGoTS+lmJm zMRwr{t5fe+$kzm$RbdA(eUR{M4na593{qF!CQ!Z)j5#_*Tt@R@wPCElaY?BmsSiz02oQ=&|yv`(nK$yqp5|@)1#-JX!Hi^(`KAkMb(>E z*mc#=5B+oqnS1A1-nh`(0MF0J#|*(~!j0BBsxeNitNb|553V!;`4AaXFTxd^k_NiX ztghRr!o8cql1BV(mBO`IrC>}5->M#FgE8Dh*|yNxS=`&GJaC9taBB=KOHbfmlRs(L z-*aBfNmXmQ8=W|<8L?XSd54gmQf(tR{5;+5?(W<~Qe_aWc-v#A^zQMrCXP`$;(hfw zqfHapsT}70QH{yIbE<6xE^@n*n*`T>%_G z;4Av8thcaFa1+blCtD+dlL_W2$YQ*+_41zpFu%u%lU-KkV~t5T%EF@B>&5u!?-gGLIr*BqhM)vCNJD!8i`0X*G@A_Ox2zrz!aR%%Sw49nVj) zy^a$~-16lVW%Tf1P*X(-z2cb=&K`y6>YHI5Lx(`99en^GL)kcJMQaGUcv^2~WB1t^2 zFXL!v6CdM@ZNxCpi#VwNC<5)tXQBrv8RF@A7&VO;q^_gk8;3t#i!Ujya);ZuB`Foj z-Tck{I%sC^Np+XC#MU}jOtVZh7S=yTd1l@L1MN=SzRT$0*^Z$aj>0eeNX$#FZ&|9o z{%MVJ)nMM~LRM1iCy|NE(xdv?_~z#__S1aPiLvAQqJ76!u)lj@sVNCY2i^FY!rvIn zT%Ghv0=ry^_>5(n4Yes_Xb!S(tpG*lG~~(KLnbY}&Qz=keM#y=<@}!nC4Epf!>iel zx=HaSmO<-59wDJq&DoWYW$9PMjcY#>>>H$_LTyeMJ3`1Wi*_i|?!ky6L_F3#mE&cI z5cFJAqh>FT5t^1W3Ae_Xu+}0Pn)_;LceaUoin+P1LjGv3X}lRk3UAOd723ff;sRkc zg-H=&I!}j;hQ=3>?3*`;w9de_18NeQtezO}tRqFD9r~~ebO2uu7P|R(9q)^;yU<6} zPI57+71%-^zkgq7UJ0^RGz&5e_eY|!F*S`@-;jwS+&2A0!il`)**zq3jhf2`d--uAHN!_M z@r)od{L4B>pzNNwQVDsi^Unu$$7I@K7TanuI5kL^&H>(gcX^udI;6alh}tJrL*dWz zG_U2$;CcIErY6LZk>OP|)@c$h_t7PrVJxuFXktQwW!LTY)iex`fxyeq#M<|lDxXt2 zS@lPJbA$eqrP}zL+-2<&j@Ri+d;9b$xjuu9hYFh(H1G182l|~z1YMvtkk1nY0W@!Q zm2eU>f*|ah*T68uZW~56-O>1szp)5DA?jO{a2GWDZ*+v8?qG81m-px*7mR?V-)$Cm z{6#(u_7BrUd$fMsZ*7P=cp*3wJy{4waAw6Yo28{kxdTu;mn+-#RpbSgOQeDYYPZX@ z;02h6E5YM*o*UcCmaJe%w&v^M8*K6CAqNoLnr!6ztP~29l{CKpX^rq(BCC5fVUFud zs^DT0cE;@-mE`T>iR&N*vQ9Xd=IkB9@lz`an2mFwvzC46(vXghxyiPxWa-oHoes%a zb(0}GZpU2FUf?pOwm3uMJFMZm&2gU!i|z9xM-LLinsM2AXb{vHVZnSXD{ahGHZA8P ztF;3`%XD5C;!=Jy6=LylY#cKuoDTM8&-$Ff@jN)0>&Z|oC%^fZN~IcO;EvdPuX5+6 zj=~{&7`$ICYYo!GQJ#lfTR(zj90x1crVq{PwsR?|r_Ic)8swVJ9nTyl_j>@l4=DKM z4FxhynDJEjXAY0tG`e{LSBD(5Je)f5Jx`yT-1OyfDp90H3;O%V6MDLP#ZQ_#ADmX2 zx9n*7ixz!hg45N5744K8OUhx_3}JbR@du4Z1~oE}Lg(m`MH@W+@^?^)+cPKTBBTDxwei^7rH@xkmAqT0G$t4Xb&LiS3{*z zhf-qdD3yCcF}nj1rua^r+}>oDh9#fZE3uJ;MP`LUBI{r82Gy%rMDYQK@$RA(qXLFf z{o8kj<9bsOY9{>prX=6Zesac`lZmQQk zyspwabV3uY`(~n80u+FFka)Tq&6!}jfQvDX(8$YzZ>vjlha%$1h7=?*fmF64Tq}*| zwoMa@n?F{($CkQVDK`VNpk@Mgf4qU(F=(HP5^d#$cN7DAj)le>-V5>R<=LB#Vcs< z&<&DNHbSJG95DHE;)}))N?&p4Vmi^2)>|ZlhX4_ZplMb%;du==g#DdH;BWK&SE5i* z1j^%ytS>+1H+HM{Hh*OtJ6+6!ea`-k{4sw*HtiDA^GXCv>#JJ{Y)o1d6~y<8rlH!^ z8Xw(~yQ|z&6NiRJfos(EuwUlb%$y~&PwJJ4%nd){z}-IKPKuj!msBCa zGFi9F5OtxYU9g<$Vo!UpT1vr$9+hKphD%G_Rb}qjbP;0F*(P!*t(G0Oa#0mctP&G{ zXwGea>ti(MUuu8=i@&Rkz4wJ|P2|t`B37$v&`vDmLCAYz27@85E93XkvsNrnq_oeR zgX22I&hG4Gj%AoUVrt(7j<20$xnoJmiy9jG8+K}LEYc|y`?$;cNO)}jWcTsT$yNoW z1w-oQ8&wc`s`KDnP&ql&?#1wFgtKEbLRVGtNe{5P-9jS`U@&|?I0mBA`BYvlAeQT) zI_XVo(#5I6f8*c0Eh;t@J4ni34t>G>gbZ-uU*&^4V}Cfi{(C0f`t#Cz&#MmSb?o23 z>E;;?Ku{>3Q-jgQcvznY75&yhx#FI9gmA!{q^j$^(g)&ApvIcbA}CK><8R33IbIk* znRy9XAp}jDmHuR8D}o@TeGaixu}1|+uePmg7uf_zM4T^D_r(0B2;JONqu}Vn!<`>s zfe%xQg`ADpg)UY1MWKIdth^r_65?v*wk@hYLSx=(Bv{Q^sxw}~=diN1cAE4>zU+4A zIfZHO4{O6BBRjSZ=(z837{{9rCbM$B{Yl^{ni~w*n6Vv9 zGVy$-J5AorV&>#rSW@CvQm4J68$!nffi9{fem)hv=}N@$vgXpdAPzEbcL1T4~#0ixMFE`03E=&6>{eoPI{= z@pd8#j6CLfAP7>U&P5|9%nsTMp;S4zas#*?@=ii2W@3e0TVuER=+6Pq^(2pI1*el7 zw$4!yM466e%^r6rPA8P2HPelsZN)nBvhsLY!YjenjKM24*IedAlaI2eL?yD5aF6oA zQv)6`7-q#p6sE!l3mwk_3GjDG8o!3TZ1qejkGYcE_2`({_dwC~t;P9Vo=i80S#rNg z0;VoMl6Z8&gjElc_AnnY2qE@}e1aW#ug+Ve(bs1T^mD+Sw(+IFqa^pwltjXM_#JKX zR}UT#+|85EJC6G(aKCoWRXtE4ux&t_VgE2r7Vzm+-upM!mS&E8wCkZ|&ChoNA;RzT z4M0~UR94=qk`FI$B&)4&2)xv)%m=y(8r(6Bu>x-I@RQy@w15}Pph3QEWW%pVs@`ir zM$vRfJ>Dk75?;+;!oks@y(zn%%tF$p=p@->4{tb1_jFM3)$^xnHa>*zUvpuH+ij3OfCj40aSzX6HwuOEAjt{;n>KGlM(?uv; zV_yK5mX|+ebc>mo;y#wXx26}SE}@F z`xo7+Z$Ce4h`ZZ2+-XB$jOlqvg0QKx!+h@U!_>Q8%4U5+~GUNs=6DbE;wsUFRSd*gY0f z!e-3=)-Uzz5%|N9sOA??#1>KVgQAM|Hu~-)>%l~}zy8q+!`110PqS{*XUDo}$ zaCc0yt}-er(aN!MnXk{mje!jjcLCYf`9+biol5IbByC^hc0J@Ge1HEIxwACY{`*O{ zP)u@_f0RJ4{3?w*Minz#j=3lWCSmvXoY`I2pFxA)sq{;oN#fGiQ>4CbO^kIGzrV#i z8xK1?K40B{BrEmW6b!ktQC!`g({Sv2sAuDg)Xdx@vSpKc-`rO!PRGaIdq-msgY{8< zm*HuICy2KlD$UzCcEzSsQB$|PU>u30m0%36jQRvej3G-=2}PN+2nJXY%)IwdHe@f?W$_ zEJh|aCN3_YC`*;NTBAY#XFJTOV`CLFeOnyE7q@!SCU5aO2y)GM&rydK2qd7+2t7hH`nPIGA{QeNt3iFh;sUg(&|zIDraY)VEw1A~<{YF&s{9I0;iH7|phk{8>rXDU0B7L-JFrSDbf@dG06!f+ zDB0(4*ws}^x%c9qdv~4>^2#5&qRUhn@SBSj$*v__>>_urt>^tT%EsOhkzf72aWCy| zxRt!$tYQTA*qu+8j+H^IeGdgbjdhYCDwAjZ`&l*drP6h#uO~A^8B+_K8}19f=7Jw~ zK~aS4pPIkAYu?Ue(^&<=jM3tSztRU;7TWe5DsiAb;(M4(VpS{rpd_-~Ry6Rp>i)}R zy_zw%1*rDDa{T55=p@BP1R&-rN$GGPOR$js(OIIx1r4AWWN>wZjn52{t#-o-tRp&} z%kI+0X}yNG0Qkz+6rAbE~Ym8Ml~QKn~4B-K%M#4U-y?y6&=sgf~v&;H)%CF}lA zkb5jTCbW5PkM7EEgnKcPj^{rBa&9NW5#(+doKlT?V|x;ntCe~ z{j^*;lX$%IDWi%<_x|RX?MyE?8m9By;^Yr1y!;+RnXpjc<)m zX`fvT{Trl040Jn9JyX9a#gyEHm=l|zV6q)U z(=Z^_=~CITiaebo_?jEkih+j^g-Bfc;-f$+_D8Et$^zAE{IATU=WEwX?`s*ih=q4@ z3(WV%BNnIB6RJ|5#lh4ss#7a_y7$XOHY)>>(MvOmv4mCT^0QqEwh3(`uK>njYETp!_{WZ<^h=*fPwb%UOjLn4Hm(UTr4aZ7 z1WynX0N3&h<4Mj&*!9G9vBjdT}c>@#%W<^85K^! zAqQsk`TxUxyy#B&S9p?2p#>Rysvy!npNqX_$j@#Rc zdxE-qQ2+3j2dek>T3K3N+G+vTW+VF(YwDcGq!#3O{Yi;Pb&dxR9U&eyV%d;LL>`CV zz-kJTiFxD@p&4X`1DV|JuwCi7B={!NxJ>uL<3=U}yh_s=4&7;>8e!j>TA4fR`q2?l zdU4ipPxq#J=d?5C(`QN{FuB+5RHXX?M+mq1F5a#IbjHza~EbBUqtL1V@bV z=vTWq3U1!~o6cchmU=5U1@=Ae2WJ(cfn;U8wET?@dHA(18d5(+VG}VPVOx>{_#lMO z=n_5R^q&*}C6NoM+uTiliq9z zt?>p|UNc+;H^5esU!}V%?q{^Ya$IMayg$N+pkA!NMm0Z=>qXy{^Ziask2`@<9!~_P zHE{#l42Og`qa_DZ{lrnAUp7;`LSYb&F|GT-x~z;Cv^r3LLx((q@Vx54yYmAj)6s5! z7Ibj_MvB}lnX#Bj@LuAwa=!P`g6r?R0Q;60fAZ7;HUQH&HO0hMX^E2#HhVKy2UnN(b2cnAunjTh z>nJiwE&Gf5%Ar3TVH-dWO1k5F@tz3Vf_g&vMpa7qY{?!A z4M(zs&)3^x`ZZEVU2n%a`ExS;`X>bP9^PKlGQG|S-o+Q1I{+`V;h>+Xu5u)ZpbH}B zP^Io3K}%jMiHrY2uaEcPXtoM2QzlkG1dz~6S%!fypRyRD?n+t|2^3T)4NOFPSB=n2 z!R!l+BYwiPsiCb&X*zz7f=JEGfoIw?0EYb&L+R?ehd!5jrv%`cTg{zrZme9L8YinCoc3jgEA$9Ic!XHt!x$|;3^HC!Q;C> zP`}mH>64>AHram50D4Q?g~=sY*ggx??lob}ukOn&&SS`JG=R|_0qLU24iAjh{zUr{ zn6v_o;<@?!kGm9v!bHmsijedffg4aYv$a}z30XEABh9uxp4S0Is;J&5&ybAdEbjw@q0+>=0Q@eW3QTJ@TXh?X4Y z2gM8gWS#oO(7+I{pLTxm3Zg^+9jF<;8lD}(*3V$}m_Rf$o6KE|dEoXtjVtfq~XbfNiqH0M*mt)-J7&yWm6N8U+3ynmSCh5S$kSI_`zEmm-WwaQOd5k zk&LR5rKDX8-1xz)RPY=7%gB8FmUe>f8eszk0&uf^7t`bhSZ{0rT37xo=_v%~*KRfp8D#fBBwgKe>Rn{|v9{uRCy+OFoB4SACkQkaNuA4;cq6&xUt(^7qeik2D)* z3VJ|Uvtyk6V5rlnJo{J?7Q)y@fJlr?t6#t`8LKvKSK9MI%}&hl5c2uah?)D9^N zmmtB<*Y@n#&q(D>02T=OGjg%OXLJe+DuZA*iL8k?wuJ!=du6<)z)Tfz%nW9yUdanu z=iS$2PMtioN&XhGb?kJW^4Ly}X+X`hjwW+1q)BMQSwyqaxjbYIss^8p*NzpuCxc;r z2bK~}$))q&U7QcLG-MR1kn)>YID*4m{&lEtQOc+v$*qM-tGwYG|CLM`mA;j zID4NTJwSN&)Bnr7pJ)3-6bMy+06^{=Xps*U>Ma3{!{)*WB3iC|LsR5vainnPkYfD6 z%+-Pkm84G54dm|6`OrfJhbIqD7fyK=0``jMOebDkuCCkCWhns?+j0OH>07Psra*%| zqXT5zUkigj<>Sr!`Dr%&+RP0>L0RSA%@^&6>AgbDz+t3>1{n+0mS7`rFd4y{rTqD3 z%fWL*V)?_8@E}=NGwGT>RR;9kHq7+HHqUai#G7Dy|S{Lw{-5)Fl}=+rbcZR>GY5(hSeWKjB4d;`rku=t%8DxT^348LqgdVRJ{ zdS-(uwn^;73=&2RG6SHgQULZHR-&Dvq1_${W9X)BHDZuso)CF}5-or`X{N9b-?Ar! zRZUlIv#jC1T9TY`^CP;|qx(}vajjMwB8r;3d+G>wEbXbtJ_10*!@}ZtO=vi%RpTv9 z=>}G))TkT25!g(*fDnXS0!$)Aq4t#rm=%#RGoPs?IY0xPJK^rO!+m)25MQMuJlS&>eAS4%FP9Nd0~$_%0hWmULBQIZ7?2Wg84@j&Y1& zfEz_c#C>5(Z2^2>!QU!Q42RLo6)=S*S^5Peia>iL;_fNg@(}H(=iFD@l?n^5w>IKF zd+(@wHHvQnszQTM2*O|c`IBrT5AdMFoo1Hu!=-ag(x(a%9f&?euq}&mziqP<4qk~# zW>k5?32un<)-^Ek?7h*&LbtPGT_u2l1&RT0i19F|6a@x2c4FM2ht$wSeLkUb83AY_ z(g9AcL3o-*NDM8u^?Qf37HCRtG^T@rSV?<*pWV3{%9e4RHT32aDT34ih=lfSXUra^ zU|aMD%dad+ra>2O=Hg0EVu&^Z3%Hue_Apj(3wn!p)$~oZI-ny z1qu_t#K*_2eFeVd?h;=<@>_@$qAMR@P}T@0jNbo-5Y2iGz3m?fBK9uEPCmK$ETq8!PDVj3j$#?sour|04&x2`WL_`8mV!z_f>{K zW_;0(gsI&o=LHZ*j~760g}Jetw+|q!-MN-j&o`K~(??B6_pg2USX~^K`ACtPt@+6! z#>6#4%UcRRK~D2Xig>$?U3t@eJ?DOwy7(>|()ZqlJGB6tcN1M6h^Wh=)9F~VlHap} zMKcw2@Ks9~xdp%}>r{z42RVOB4&UTd)}vXg(8x-}rkQNrAg?1hwq#gO@;QDkV*E`u z`9T6^O_&{(RtLcmdHpKwJRc)-EngrRRY=n>uQlC|NeWMCyN3kg*9Rwv^_IIcU&bP2 z%klnb1K@q5FiZ_jhyL7!s>Nj9c~Ud%P!^lSAk-Ue3LgJ?K{J(om<@LXD1xy#kMjbM z+dsgb=8a|(*A|WQeju?zp1zXg`YpMsCC{|3V11x2vBml8|21`v(Uk;U+dk1G6K7)E zp4d(%w(VqM+nLzT#I}uzZQD8%+xpHtFTQv6pZ?LSx~jWZ)vmqo`|4C?Y0W%-*rv$4 zLhR~H1@2@&ADt_nJIcBm3*ek$7d!b)ahH%D#~h8_UkRVmWrW{MTcSLB(6{WJQv>_> znOMVIzoy0@+T#eHQH2kG4dJ`MoS^5^dxZWKdAs@`%R0q9#6A#7&-2cc_+iLh3hfZs zp2+aGA$RIv_%*{y!@`GnYm#%r=uh>J>Zd}*`wg#?DIVccSz;~d_p#ethF*8rCT7+c z+s4?tmwk>)NrYt8~k#R5Qs}@M$w4ORj2CCc>lJL z)!BEPpTn_+)tKzvx13AFZyIM;S|fa)+v&FbI^s}+oB^g#%3=k;Bb&S8DU~nvzQ1+x zyv^kQy5?SBy;WhG=NbAE;nu4){-~h4AU;??hrU0QS<#WL$nNR6Kys|q9Y=-n!0aw@|@SY}#f)%N6edjywt^iW4IMG!9%THdwsiDoj=yFCP zN@CpCkzmul&;d;jyJCXH zB41`9Kp~d?&>VF@)YpV2Hu*jdo%;1;T}1w0vn$B%8im$M3JsS|+Y-p2-?di_&`-^j8Di(1 za}mx%S}RZ)iDtCbka6B=#v4LwJM2sL{;w|3!`k0k9!)5jN5!u@f+U09+0-)&3;Ejd zX(X_^XRZ2;SQrL|%24~!E24Wpsg`kk-0jf>sj;-lG;WV@xYb4|BgkP}`?#6a+uN3= zk}tx?UV9ZMQqMqTQDg=G`=IA&sORi#eslPRph|!4kK5ZHU<^zS<5#|+AhT&=om3Aj zsRP_01dJDTwwFtHhvD5@TS7z@Qe~tQ&aVtM6fg)MEV_XRhUQ}4*55GYFTA`^6qrz) zoQB?LEe!L;yKbmF5+6512PfqE84}UpEnswU_!x5OaacQhW9>*t+2D$bt&}5)Y=^FH zI9XKwznIzO8Z^uaFH*2V5QSbg>Tlt0f(W6zzGQ>9C=zjo#rmhFb*z53@DR2YWa_~# zCD=$w^#f@nxN>_mrZ83(`!Fd(Dwy4QH$FIV%4{JtRz8J3BdlUYSOyeuKM*;^RQVW5(FRV}E>k_yNtGm8ur#oqAq#(PR#!)DZG))U`cs zNp)>r9n!pJrxZ}z0vC2-a2AA}9F227SZWLV3G)!V69;W3eGww;Zrc;cn~nMg_HIk{ z^tZ&&uXl}4?Ql3hFxXFGh^&>2H72wKWk}}q&=2j)tUFzGC@`ey1*8xk&3j-kx$U&e z$rK&O4Z2dvGD}IOPX~x)p0XA`L&55PnK2+Jg6+591XhlWhkm0mC_I7|>NL{Ul*bM}} zc>|qL{ak2M7@bmT!7SF@&YW$%$BJAP7&zn$?|YSrasjWbspU$CM10CnH%M!5 z-!HpOaM^h&O2%>V>Oz2o55FLX6Em!^?^bte-JI__KuU$Kd5g2s&RJ|XC@dz!rT8EugJ?g z&S6Yg6QqjWbTkUrrkjFB4(lr9#VT@ED6>z-6jXaxyy6wd4 zyVz)wDD|uP+r4tXTem-)+ufA=sVHfFY*BX+YH5=$+ZX6AoeBQCH!Hpv z*n`i5rEUK{t0&!;&}-ZXLaA20AG6|cOwM0kpbu+5IvJcN>^ZLbkv>R^LLrtGH%&7j zk6bU-XbqYc3ADSl4$W7Il&O)2W0NFTI+!6U71+I zs{IrqtRfzo_ZGcxFr1RYB29P^4Q>zZ@U%|K1eg0OC=B}9Pz?HnvonV=L0N{k&u;al z%)uhWO6;@8GO$USAQYfEXIhMg_@#2n7UiBQRV2X;!Z7Ua~ z&+JuuI%K-B_l>!pTjAgQKre$6N<+Hi^-E=eI$|%#$J!>{wahAcRmZ+0ND%f3vF%-W zI=807(1V7HdVYlKl*Wb?I(PPp2N+1eK;qF!R84`i3& z;Q^Y<>jR3MaO3D0C70+<*#bW(Tr3n~Jm}65Bm`u;(LE?|)nV(;-u{?^01LbFIC5lU zIkZH=YK-Guy}I~mG;{bEC|ouZu-xmSrlv_SCX<5HM(X*Uq;?Yzc6nzHhx!QBeW!yW z+$qpxA`a&KXGiH`+i&C_B%6v?j2k>&Xdb>nPSvWW- zrlzJx15iEXT|kAlm&vs&IToFvnH6an`eqE~KY`UhYCVFP+mn9xs?pPCB&T)qi;-^3 zr0%g7w3G{O92WDx3T#_7??qv~_PbC&%w4#?X2@%udx1=$;zuhCCAHMV7>0Vx0=hH2 zP7TSrVtxabc2+Gx$)QEd=r)qv6BMVHrLBvjlA{S0cy(!iv8)!mkfkukhCVMrt1jT4 zq)=-k#5_tS>o;?G7vVl)44T35&lU$I22>}gaPybwMA97hk+M1 zxxOXFBg7MCd)wiPPhK;BD3XIw1b#;OI1i4Z(mTXeh%PMb{PtZLWcbm4$(*;Hq+Z{+els6AD>BqX9q_MISE ziem;7w+N9@jUW15-=^R9+%~p4PzK7}0;30F_$t`K`)UV8o9@@6AT*-fw-(u^H}04H zNjyOnYF)%HwEKY$!i4=NP%02M{jQ z2#8D{X$*V(ZC~K?jb-gl*y{OAv!O5&og2Udpy(OgHA`RGqmabrWHOH=^^v0i*OZ!P zYUu-Oyt(=Q81p<~NT-OK2nsqB{2h`~QjF%IZ^_DFtKQETc?qe#&#m-bp`Vft;u#mg z`bJtxE!t_Jk0vcVLQ~;dKqltre4kF2j6e5Nuiy1mPHN%H6{n>LvEf;=k@LPf!BL4G z{BvEkP*2TQ)m;gyaAIXTmO5w1v5f2}4=T~7Y$?wmw<=oK*Fu!YNTNd*Zm%_#QNaHB zrl2IB^fzuu!V26G=V!b4o3BI79{%5awGGZ7+CZ#$Pq5rQ@|eH^a3HBv22TcuH6JHl z5)u*I35wpM#4e8w)EiUh!+tZc*IHZEO zFXH6aJZ6+V3TBBwRzN)!80jtpL3`^PP;TTU{ERQ`RF8)FeKd_&j_LUC_?3Gm5mo3- z_1fYZ`lg`Lz^dTK2(k+sK!@Aeg;Bia&`?P^PWV*}72IdIc$@Xt2 zT*>vMJ10N_pRAFv6&UdYKk!aQEd}8F`k!dCu8&~wi8zX#AIn&%Gk!1R#+276?|tf- z1VLI}zN2osb)x1IddQG)t@BWshdz9Bf3BB?p5ArExRAI17N%=^s5k%S4MA!`q@a(( zA{!c)7TX^E`$7BR(kO%*1QfflAiSW)6+Q{%wl3K_2OA3+Ki*5`b_@gw5jv#p*DE?+ z$jpkoQI!AB2MOC<&U< zm_wW#|NQV)@UKI0+4LUK(87xm5s#4X658m%_lq+BV3(SG2U&`^Cq%N{61Q#U;}9?} z<_^aZE|C5d^ZY`Nx82t9;BWlC+uh#{?LiyfS0#9U)UlfbeJOyHmgh+gSr{ z`*y$OnfYOJi4b!WZvJ8&_UuDxEJ$ole!c;NO8iTDNTmW^+tPXS$!;e-A*lh)#2c5- zOqF3wR8PK`7g~QmGtkhmB%y7URA$us{uc;i08VwKX_zrBj?4uHd9C^XfiVBhc#GCK`B6$dKVBP)iXPlF3Nw$vpyw-{W)sVacZB^oZhDj z9JaB=O~dEi)Z;qMOj0tu*Z7lbl-eG*rw@S1pt-{NXLodT-AltHCNlER;PZp%Vsn*O z&xeD0#{1wa{n9LbBf5sm@^Zum)+?cYnvuR{!a>C8`FS$xD!c4UaED$gwi6#8-_+lA zi>YkN@@UY988FQPg@aq8DLY9H!aTK|dU$c%Io;}fNh}yPRO|wgMYu}MCP|&$+;}4I zawseA@bR-;AI?0aB_%zG0C4hzAYM#0A-MTiKVL@%^EFjT8-fAfSoFOOE-qC2EA+V( zFqiEu+ zp&+Q7-bLSoWzNX^S&0B2+-f#EJ3EyDh_`o@HE@LZU`7iyb_7SwL0$l@t?Kf@as6_S ziy)rFRa+i_VJZz-d2SBR&BLNUU7*(+`-S1{u?r&fY$lI%X?E3gkOdaR=R2Gdurc_W z(Rwgw$F9>OZ)5Z4@W4zv;w^K}GxB+)^YGP+(7L%ynZ@Q~0~YuZ$y$ie^UW!}H7hGi zP1$R-zSwL9#QCfIVTuHg$QiRPv{+*A86e9z;--plV~!sl1)t28()_FC*6@iRV?ihDTV@YRO{RDGr@%|oR zspdZI5jd^B%6pIdE|H_#sbQtM$aWISd#e0qsi~Z7UN1J1yzcLth-AtawR=#;qE__) zdYl?E)|C&Hn)yH#4!Pm^Y(p@NOq37rCvW9kd#Oe-OWy<8@OoLNJsUsOSY4Y$q!R5T zcmeT;Xc%-{+zeLiiYjTitB;`2v$-NqD=WK(0*Tnwp=f!Htd(tPyUNqN&wkWv#QD!!Oz$u0`5B zf&I(1(Vk(1F(K+&>sn341T6`B*eNN$e-e7P4#p7h7+R^-Amj5uCNOCD>Sg=fT~nsS zXWMSS9NB5;>Bac8dQ|w|DQeewhm(JG{};wgDhOnj@dB4FO!Il5*KdIpHqSSMt{1|| z_i*qKD=~xud0jk~aF|n0c+K^5M$nyVG>oFZk&OKbBx18`BO=mmc|YerU);oMqP#%d zE!sVAEFOosCCw<>jc-$<;dPe`@{PyXvkyb@a$fHWB^X_GS>B<|(epAv7z?@`uIq`o z92$0nBo)O{=EI<*x z>)U|jdW&B-PZkgev^1i$6ghT8{b*X=b}p&w`rxOB#ALk&(pCvD3EB}7*udJ4JdIB4 z)je*#&P=wnp*Nhnbv@!|cxGwyZY>pD_UoYK*B1suR-lGyHaVu_W26?Ua_gj?Fhm-o zP*NlTwWI8^R>XU@KLl|x`;ID31a-M4XCgvQ{ZN^~q8+h_Bsllwcb zI_OPVqRQtmZ-OusErXF5YaN%qL>EFS$w_Em0d!4S9S&vZoZX26Aaq8m-D*3Hp$^q$(xIzJpWh%G!kVQW82Wt*y z_oIJNW&k*qaQE{Pk6Zvg^VF%``xw3kILfQLWlyI`A{f=ZbTFg@mv(42h?>=*;G+nr zm~w~()3vXoB6Ki{Jo;|H_>TdWCa@fi&KL>jaxYbYy4?^{tBFK2y~;Aqy6kkvBmN>L ziHK)!SS>w5Q2CZdHs z7w7?{W|7OiNz*Ay?35qB3Y_*9EQjMo-*~Cy$c*!fswSi3Emt+wsCAipFkgI-tVWW< zaBT?^l1sX46`|e3`SCBEz3Fk(L^-?Yyw5;cQxGVWlb(6bs7bKfBey>sGD|#BC98Ny zOiQir32aFvpctJtg$u*6B}t9P`Nk5BqrAL)ZK+Ck|KP#DcqL7vE<+y1x{27s+4`ag zT)TFGvnmA*)3Vp18I(7pWn^@UWTj*mh5eI|+CW^X)z%k|e0qAaS@@{4Dq$1+@~{yO z4v6vl1b%j)LL>Z~8h~v)00P@R97+3{;=4y=yb~VnSu&?r8o%3=UEc=bWv1OxRmao8q3cfW zIpAda`9M*aq`77EK>{FC%;IYa?0Y4w1N5xJDasW%B!tpz%h>q1>&8^jp3=1!NcpMM z!f7~qLMZyD=%hOuL>B@NkKEticM&2HA{o}f%CxP@%D-_U!!W^{i$$_BsPV9V|Eb+& zUB}aU`^s>YEcQ34->@%KA`Co}bH*X%27O;t6tx> )Fzj~vrMDQQH-tYY6YxN@f1X1FHY_Z<7Y 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 literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md index 7c42587e..e182265e 100644 --- a/readme.md +++ b/readme.md @@ -1,9 +1,36 @@ -> [!IMPORTANT] +> [!IMPORTANT] > The documentation included here refers to the Swift AWS Lambda Runtime v2 (code from the main branch). If you're developing for the runtime v1.x, check this [readme](https://github.com/swift-server/swift-aws-lambda-runtime/blob/v1/readme.md) instead. > [!WARNING] > The Swift AWS Runtime v2 is work in progress. We will add more documentation and code examples over time. +## Table of Content + +- [Table of Content](#table-of-content) +- [The Swift AWS Lambda Runtime](#the-swift-aws-lambda-runtime) +- [Pre-requisites](#pre-requisites) +- [Getting started](#getting-started) +- [Developing your Swift Lambda functions](#developing-your-swift-lambda-functions) + * [Receive and respond with JSON objects](#receive-and-respond-with-json-objects) + * [Lambda Streaming Response](#lambda-streaming-response) + * [Integration with AWS Services](#integration-with-aws-services) + * [Integration with Swift Service LifeCycle](#integration-with-swift-service-lifecycle) + * [Use Lambda Background Tasks](#use-lambda-background-tasks) +- [Testing Locally](#testing-locally) + * [Modifying the local endpoint](#modifying-the-local-endpoint) +- [Deploying your Swift Lambda functions](#deploying-your-swift-lambda-functions) + * [Prerequisites](#prerequisites) + * [Choosing the AWS Region where to deploy](#choosing-the-aws-region-where-to-deploy) + * [The Lambda execution IAM role](#the-lambda-execution-iam-role) + * [Deploy your Lambda function using the AWS Console](#deploy-your-lambda-function-using-the-aws-console) + * [The AWS Command Line Interface (CLI)](#the-aws-command-line-interface-cli) + * [AWS Serverless Application Model (SAM)](#aws-serverless-application-model-sam) + * [AWS Cloud Development Kit (CDK)](#aws-cloud-development-kit-cdk) + * [Third-party tools](#third-party-tools) +- [Swift AWS Lambda Runtime - Design Principles](#swift-aws-lambda-runtime---design-principles) + * [Key Design Principles](#key-design-principles) + * [New Capabilities](#new-capabilities) + ## The Swift AWS Lambda Runtime Many modern systems have client components like iOS, macOS or watchOS applications as well as server components that those clients interact with. Serverless functions are often the easiest and most efficient way for client application developers to extend their applications into the cloud. @@ -34,6 +61,17 @@ To get started, read [the Swift AWS Lambda runtime v1 tutorial](https://swiftpac Or, if you're impatient to start with runtime v2, try these six steps: +The `Examples/_MyFirstFunction` contains a script that goes through the steps described in this section. + +If you are really impatient, just type: + +```bash +cd Examples/_MyFirstFunction +./create_and_deploy_function.sh +``` + +Otherwise, continue reading. + 1. Create a new Swift executable project ```bash @@ -80,7 +118,15 @@ swift package init --type executable ) ``` -3. Edit `Sources/main.swift` file and replace the content with this code +3. Scaffold a minimal Lambda function + +The runtime comes with a plugin to generate the code of a simple AWS Lambda function: + +```bash +swift package lambda-init --allow-writing-to-package-directory +``` + +Your `Sources/main.swift` file must look like this. ```swift import AWSLambdaRuntime @@ -95,14 +141,15 @@ let runtime = LambdaRuntime { try await runtime.run() ``` -4. Build & archive the package +4. Build & archive the package + +The runtime comes with a plugin to compile on Amazon Linux and create a ZIP archive: ```bash -swift build swift package archive --allow-network-connections docker ``` -If there is no error, there is a ZIP file ready to deploy. +If there is no error, the ZIP archive is ready to deploy. The ZIP file is located at `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip` 5. Deploy to AWS @@ -134,7 +181,7 @@ aws lambda invoke \ out.txt && cat out.txt && rm out.txt ``` -This should print +This should print ``` { @@ -144,7 +191,7 @@ This should print "dlroW olleH" ``` -## Developing your Swift Lambda functions +## Developing your Swift Lambda functions ### Receive and respond with JSON objects @@ -221,7 +268,7 @@ You can learn how to deploy and invoke this function in [the streaming example R ### Integration with AWS Services Most Lambda functions are triggered by events originating in other AWS services such as `Amazon SNS`, `Amazon SQS` or `AWS APIGateway`. - + The [Swift AWS Lambda Events](http://github.com/swift-server/swift-aws-lambda-events) package includes an `AWSLambdaEvents` module that provides implementations for most common AWS event types further simplifying writing Lambda functions. Here is an example Lambda function invoked when the AWS APIGateway receives an HTTP request. @@ -241,11 +288,11 @@ try await runtime.run() You can learn how to deploy and invoke this function in [the API Gateway example README file](Examples/APIGateway/README.md). -### Integration with Swift Service LifeCycle +### Integration with Swift Service LifeCycle tbd + link to docc -### Use Lambda Background Tasks +### Use Lambda Background Tasks Background tasks allow code to execute asynchronously after the main response has been returned, enabling additional processing without affecting response latency. This approach is ideal for scenarios like logging, data updates, or notifications that can be deferred. The code leverages Lambda's "Response Streaming" feature, which is effective for balancing real-time user responsiveness with the ability to perform extended tasks post-response. For more information about Lambda background tasks, see [this AWS blog post](https://aws.amazon.com/blogs/compute/running-code-after-returning-a-response-from-an-aws-lambda-function/). @@ -318,10 +365,10 @@ curl -v --header "Content-Type:\ application/json" --data @events/create-session > Accept: */* > Content-Type:\ application/json > Content-Length: 1160 -> +> < HTTP/1.1 200 OK < content-length: 247 -< +< * Connection #0 to host 127.0.0.1 left intact {"statusCode":200,"isBase64Encoded":false,"body":"...","headers":{"Access-Control-Allow-Origin":"*","Content-Type":"application\/json; charset=utf-8","Access-Control-Allow-Headers":"*"}} ``` @@ -339,9 +386,265 @@ LOCAL_LAMBDA_SERVER_INVOCATION_ENDPOINT=/2015-03-31/functions/function/invocatio ## Deploying your Swift Lambda functions +There are multiple ways to deploy your Swift code to AWS Lambda. The very first time, you'll probably use the AWS Console to create a new Lambda function and upload your code as a zip file. However, as you iterate on your code, you'll want to automate the deployment process. + +To take full advantage of the cloud, we recommend using Infrastructure as Code (IaC) tools like the [AWS Serverless Application Model (SAM)](https://aws.amazon.com/serverless/sam/) or [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/). These tools allow you to define your infrastructure and deployment process as code, which can be version-controlled and automated. + +In this section, we show you how to deploy your Swift Lambda functions using different AWS Tools. Alternatively, you might also consider using popular third-party tools like [Serverless Framework](https://www.serverless.com/), [Terraform](https://www.terraform.io/), or [Pulumi](https://www.pulumi.com/) to deploy Lambda functions and create and manage AWS infrastructure. + +### Prerequisites + +1. Your AWS Account + + To deploy a Lambda function on AWS, you need an AWS account. If you don't have one yet, you can create a new account at [aws.amazon.com](https://signin.aws.amazon.com/signup?request_type=register). It takes a few minutes to register. A credit card is required. + + We do not recommend using the root credentials you entered at account creation time for day-to-day work. Instead, create an [Identity and Access Manager (IAM) user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) with the necessary permissions and use its credentials. + + Follow the steps in [Create an IAM User in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). + + We suggest to attach the `AdministratorAccess` policy to the user for the initial setup. For production workloads, you should follow the principle of least privilege and grant only the permissions required for your users. The ['AdministratorAccess' gives the user permission](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) to manage all resources on the AWS account. + +2. AWS Security Credentials + + [AWS Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) are required to access the AWS console, AWS APIs, or to let tools access your AWS account. + + AWS Security Credentials can be **long-term credentials** (for example, an Access Key ID and a Secret Access Key attached to your IAM user) or **temporary credentials** obtained via other AWS API, such as when accessing AWS through single sign-on (SSO) or when assuming an IAM role. + + To follow the steps in this guide, you need to know your AWS Access Key ID and Secret Access Key. If you don't have them, you can create them in the AWS Management Console. Follow the steps in [Creating access keys for an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey). + + When you use SSO with your enterprise identity tools (such as Microsoft entra ID –formerly Active Directory–, Okta, and others) or when you write scripts or code assuming an IAM role, you receive temporary credentials. These credentials are valid for a limited time, have a limited scope, and are rotated automatically. You can use them in the same way as long-term credentials. In addtion to an AWS Access Key and Secret Access Key, temporary crednentials include a session token. + + Here is a typical set of temporary credentials (redacted for security). + + ```json + { + "Credentials": { + "AccessKeyId": "ASIA...FFSD", + "SecretAccessKey": "Xn...NL", + "SessionToken": "IQ...pV", + "Expiration": "2024-11-23T11:32:30+00:00" + } + } + ``` + +### Choosing the AWS Region where to deploy + +[AWS Global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/) spans over 34 geographic Regions (and continuously expanding). When you create a resource on AWS, such as a Lambda function, you have to select a geographic region where the resource will be created. The two main factors to consider to select a Region are the physical proximity with your users and geographical compliance. + +Physical proximity helps you reduce the network latency between the Lambda function and your customers. For example, when the majority of your users are located in South-East Asia, you might consider deploying in the Singapore, the Malaysia, or Jakarta Region. + +Geographical compliance, also known as data residency compliance, involves following location-specific regulations about how and where data can be stored and processed. + +### The Lambda execution IAM role + +A Lambda execution role is an AWS Identity and Access Management (IAM) role that grants your Lambda function the necessary permissions to interact with other AWS services and resources. Think of it as a security passport that determines what your function is allowed to do within AWS. For example, if your Lambda function needs to read files from Amazon S3, write logs to Amazon CloudWatch, or access an Amazon DynamoDB table, the execution role must include the appropriate permissions for these actions. + +When you create a Lambda function, you must specify an execution role. This role contains two main components: a trust policy that allows the Lambda service itself to assume the role, and permission policies that determine what AWS resources the function can access. By default, Lambda functions get basic permissions to write logs to CloudWatch Logs, but any additional permissions (like accessing S3 buckets or sending messages to SQS queues) must be explicitly added to the role's policies. Following the principle of least privilege, it's recommended to grant only the minimum permissions necessary for your function to operate, helping maintain the security of your serverless applications. + +### Deploy your Lambda function with the AWS Console + +Authenticate on the AWS console using your IAM username and password. On the top right side, select the AWS Region where you want to deploy, then navigate to the Lambda section. + +![Console - Select AWS Region](/img/readme/console-10-regions.png) + +#### Create the function + +Select **Create a function** to create a function. + +![Console - Lambda dashboard when there is no function](/img/readme/console-20-dashboard.png) + +Select **Author function from scratch**. Enter a **Function name** (`HelloWorld`) and select `Amazon Linux 2` as **Runtime**. +Select the architecture. When you compile your Swift code on a x84_64 machine, such as an Intel Mac, select `x86_64`. When you compile your Swift code on an Arm machine, such as the Apple Silicon M1 or more recent, select `arm64`. + +Select **Create function** + +![Console - create function](/img/readme/console-30-create-function.png) + +On the right side, select **Upload from** and select **.zip file**. + +![Console - select zip file](/img/readme/console-40-select-zip-file.png) + +Select the zip file created with the `swift package archive --allow-network-conenctions docker` command. This file is located in your project folder at `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip`. The name of the ZIP file depends on the target name you entered in the `Package.swift` file. + +Select **Save** + +![Console - select zip file](/img/readme/console-50-upload-zip.png) + +You're now ready to test your function. + +#### Invoke the function + +Select the **Test** tab in the console and prepare a payload to send to your Lambda function. In this example, you've deployed the [HelloWorld](Exmaples.HelloWorld/README.md) example function. The function expects a `String` as input parameter and returns a `String`. + +Select **Create new event**. Enter an **Event name**. Enter `"Swift on Lambda"` as **Event JSON**. Note that the payload must be a valid JSON document, hence we use surrounding double quotes (`"`). + +Select **Test** on the upper right side of the screen. + +![Console - prepare test event](/img/readme/console-60-prepare-test-event.png) + +The response of the invocation and additional meta data appears in the green section of the page. + +I can see the response from the Swift code: `Hello Swift on Lambda`. + +The function consumed 109.60ms of execution time, out of this 83.72ms where spent to initialize this new runtime. This initialization time is known as Lambda cold start time. + +> [!NOTE] +> Lambda cold start time refers to the initial delay that occurs when a Lambda function is invoked for the first time or after being idle for a while. Cold starts happen because AWS needs to provision and initialize a new container, load your code, and start your runtime environment (in this case, the Swift runtime). This delay is particularly noticeable for the first invocation, but subsequent invocations (known as "warm starts") are typically much faster because the container and runtime are already initialized and ready to process requests. Cold starts are an important consideration when architecting serverless applications, especially for latency-sensitive workloads. + +![Console - view invocation result](/img/readme/console-70-view-invocation-response.png) + +Select **Test** to invoke the function again with the same payload. + +Observe the results. No initialization time is reported because the Lambda execution environment was ready after the first invocation. The runtime duration of the second invocation is 1.12ms. + +```text +REPORT RequestId: f789fbb6-10d9-4ba3-8a84-27aa283369a2 Duration: 1.12 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 26 MB +``` + +AWS lambda charges usage per number of invocations and the CPU time, rounded to the next millisecond. AWS Lambda offers a generous free-tier of 1 million invocation each month and 400,000 GB-seconds of compute time per month. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for the details. + +#### Delete the function + +When you're finished with testing, you can delete the Lambda function and the IAM execution role that the console created automatically. + +While you are on the `HelloWorld` function page in the AWS console, select **Actions**, then **Delete function** in the menu on the top-right part of the page. + +![Console - delete function](/img/readme/console-80-delete-function.png) + +Then, navigate to the IAM section of the AWS console. Select **Roles** on the right-side menu and search for `HelloWorld`. The console appended some random caracters to role name. The name you see on your console is different that the one on the screenshot. + +Select the `HelloWorld-role-xxxx` role and select **Delete**. Confirm the deletion by entering the role name again, and select **Delete** on the confirmation box. + +![Console - delete IAM role](/img/readme/console-80-delete-role.png) + +### Deploy your Lambda function with the AWS Command Line Interface (CLI) + +You can deploy your Lambda function using the AWS Command Line Interface (CLI). The CLI is a unified tool to manage your AWS services from the command line and automate your operations through scripts. The CLI is available for Windows, macOS, and Linux. Follow the [installation](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and [configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) instructions in the AWS CLI User Guide. + +#### Create the function + +To create a function, you must first create the function execution role and define the permission. Then, you create the function with the `create-function` command. + +The command assumes you've already created the ZIP file with the `swift package archive --allow-network-connections docker` command. The name and the path of the ZIP file depends on the executable target name you entered in the `Package.swift` file. + + +```sh +# enter your AWS Account ID +export AWS_ACCOUNT_ID=123456789012 + +# Allow the Lambda service to assume the execution role +cat < assume-role-policy.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] +} +EOF + +# Create the execution role +aws iam create-role \ +--role-name lambda_basic_execution \ +--assume-role-policy-document file://assume-role-policy.json + +# create permissions to associate with the role +cat < permissions.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Resource": "arn:aws:logs:*:*:*" + } + ] +} +EOF + +# Attach the permissions to the role +aws iam put-role-policy \ +--role-name lambda_basic_execution \ +--policy-name lambda_basic_execution_policy \ +--policy-document file://permissions.json + +# Create the Lambda function +aws lambda create-function \ +--function-name MyLambda \ +--zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ +--runtime provided.al2 \ +--handler provided \ +--architectures arm64 \ +--role arn:aws:iam::${AWS_ACCOUNT_ID}:role/lambda_basic_execution +``` + +The `--architectures` flag is only required when you build the binary on an Apple Silicon machine (Apple M1 or more recent). It defaults to `x64`. + +#### Invoke the function + +Use the `invoke-function` command to invoke the function. You can pass a well-formed JSON payload as input to the function. The payload must be encoded in base64. The CLI returns the status code and stores the response in a file. + +```sh +# invoke the function +aws lambda invoke \ +--function-name MyLambda \ +--payload $(echo \"Swift Lambda function\" | base64) \ +out.txt + +# show the response +cat out.txt + +# delete the response file +rm out.txt +``` + +#### Delete the function + +To cleanup, first delete the Lambda funtion, then delete the IAM role. + +```sh +# delete the Lambda function +aws lambda delete-function --function-name MyLambda + +# delete the IAM policy attached to the role +aws iam delete-role-policy --role-name lambda_basic_execution --policy-name lambda_basic_execution_policy + +# delete the IAM role +aws iam delete-role --role-name lambda_basic_execution +``` + +### Deploy your Lambda function with AWS Serverless Application Model (SAM) TODO +#### Create the function + +#### Invoke the function + +#### Delete the function + +### Deploy your Lambda function with AWS Cloud Development Kit (CDK) + +TODO + +#### Create the function + +#### Invoke the function + +#### Delete the function + +### Third-party tools + +TODO ## Swift AWS Lambda Runtime - Design Principles @@ -363,8 +666,8 @@ The v2 API prioritizes the following principles: The v2 API introduces two new features: -[Response Streaming](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-response-streaming/]): This functionality is ideal for handling large responses that need to be sent incrementally.   +[Response Streaming](https://aws.amazon.com/blogs/compute/introducing-aws-lambda-response-streaming/]): This functionality is ideal for handling large responses that need to be sent incrementally.   [Background Work](https://aws.amazon.com/blogs/compute/running-code-after-returning-a-response-from-an-aws-lambda-function/): Schedule tasks to run after returning a response to the AWS Lambda control plane. -These new capabilities provide greater flexibility and control when building serverless functions in Swift with the swift-aws-lambda-runtime library. \ No newline at end of file +These new capabilities provide greater flexibility and control when building serverless functions in Swift with the swift-aws-lambda-runtime library. From 383bb35a3ec7acdcc1c297b8a0bd6a1d166d9f3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Stormacq?= Date: Tue, 3 Dec 2024 12:01:03 -0800 Subject: [PATCH 02/16] WIP : SAM deployment --- readme.md | 130 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 127 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index e182265e..95115fa4 100644 --- a/readme.md +++ b/readme.md @@ -589,6 +589,14 @@ aws lambda create-function \ The `--architectures` flag is only required when you build the binary on an Apple Silicon machine (Apple M1 or more recent). It defaults to `x64`. +To update the function, use the `update-function-code` command. + +```sh +aws lambda update-function-code \ +--function-name MyLambda \ +--zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip +``` + #### Invoke the function Use the `invoke-function` command to invoke the function. You can pass a well-formed JSON payload as input to the function. The payload must be encoded in base64. The CLI returns the status code and stores the response in a file. @@ -624,14 +632,130 @@ aws iam delete-role --role-name lambda_basic_execution ### Deploy your Lambda function with AWS Serverless Application Model (SAM) -TODO +AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. It provides a simplified way to define the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application. You can define your serverless application in a single file, and SAM will use it to deploy your function and all its dependencies. -#### Create the function +To use SAM, you need to [install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) on your machine. The SAM CLI provides a set of commands to package, deploy, and manage your serverless applications. -#### Invoke the function +Use SAM when you want to deploy more than a Lambda function. SAM helps you to create additional resources like an API Gateway, an S3 bucket, or a DynamoDB table, and manage the permissions between them. + +#### Create the function + +When using SAM, you describe the infrastructure you want to deploy in a YAML file. The file contains the definition of the Lambda function, the IAM role, and the permissions needed by the function. The SAM CLI uses this file to package and deploy your function. + +You can create a SAM template to define a REST API implemented by AWS API Gateway and a Lambda function with the following command + +```sh +cat < template.yaml +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: SAM Template for APIGateway Lambda Example + +Resources: + # Lambda function + APIGatewayLambda: + Type: AWS::Serverless::Function + Properties: + # the directory name and ZIP file names depends on the Swift executable target name + CodeUri: .build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/APIGatewayLambda/APIGatewayLambda.zip + Timeout: 60 + Handler: swift.bootstrap # ignored by the Swift runtime + Runtime: provided.al2 + MemorySize: 512 + Architectures: + - arm64 + # The events that will trigger this function + Events: + HttpApiEvent: + Type: HttpApi # AWS API Gateway v2 + +Outputs: + # display API Gateway endpoint + APIGatewayEndpoint: + Description: API Gateway endpoint UR" + Value: !Sub "https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com" +EOF +``` + +The Lambda function must accept an APIGateway v2 JSON payload as input parameter and return a valid APIGAteway v2 JSON response. See the example code in the [APIGateway example README file](Examples/APIGateway/README.md). + +To deploy the function with SAM, use the `sam deploy` command. The very first time you deploy a function, you must use the `--guided` flag to configure the deployment. The command will ask you a series of questions to configure the deployment. + + +Here is the command to deploy the function with SAM: + +```sh +# start the first deployment +sam deploy --guided + +Configuring SAM deploy +====================== + + Looking for config file [samconfig.toml] : Not found + + Setting default arguments for 'sam deploy' + ========================================= + Stack Name [sam-app]: APIGAtewayLambda + AWS Region [us-east-1]: + #Shows you resources changes to be deployed and require a 'Y' to initiate deploy + Confirm changes before deploy [y/N]: n + #SAM needs permission to be able to create roles to connect to the resources in your template + Allow SAM CLI IAM role creation [Y/n]: y + #Preserves the state of previously provisioned resources when an operation fails + Disable rollback [y/N]: n + APIGatewayLambda has no authentication. Is this okay? [y/N]: y + Save arguments to configuration file [Y/n]: y + SAM configuration file [samconfig.toml]: + SAM configuration environment [default]: + + Looking for resources needed for deployment: + +(redacted for brevity) + +CloudFormation outputs from deployed stack +-------------------------------------------------------------------------------- +Outputs +-------------------------------------------------------------------------------- +Key APIGatewayEndpoint +Description API Gateway endpoint UR" +Value https://59i4uwbuj2.execute-api.us-east-1.amazonaws.com +-------------------------------------------------------------------------------- + + +Successfully created/updated stack - APIGAtewayLambda in us-east-1 +``` + +To update your function or any other AWS service defined in your YAML file, you can use the `sam deploy` command without the `--guided` flag. + +#### Invoke the function + +SAM allows to invoke the function locally and remotely. + +Local invocations allows to test your code before uploading it. It requires docker to run. + +```sh +sam local +``` + +Remote invocations are done with the `sam invoke` command. + +```sh +sam invoke +``` + +SAM allows you to access the function logs from Amazon Cloudwatch. + +```sh +sam logs +``` #### Delete the function +SAM allows you to delete your function and all infrastructure that is defined in the YAML template with just one command. + +```sh +sam delete +``` + ### Deploy your Lambda function with AWS Cloud Development Kit (CDK) TODO From b03312a408c17fd654c01684df5c65cedf5eb9ad Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 19 Dec 2024 11:28:13 +0100 Subject: [PATCH 03/16] move deployment doc to Swift docc and finish SAM deployment section --- .../Documentation.docc/Deployment.md | 435 ++++++++++++++++++ .../Documentation.docc/Documentation.md | 5 +- .../img/deployment}/console-10-regions.png | Bin .../img/deployment}/console-20-dashboard.png | Bin .../console-30-create-function.png | Bin .../console-40-select-zip-file.png | Bin .../img/deployment}/console-50-upload-zip.png | Bin .../console-60-prepare-test-event.png | Bin .../console-70-view-invocation-response.png | Bin .../console-80-delete-function.png | Bin .../deployment}/console-80-delete-role.png | Bin readme.md | 269 ++--------- 12 files changed, 463 insertions(+), 246 deletions(-) create mode 100644 Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-10-regions.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-20-dashboard.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-30-create-function.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-40-select-zip-file.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-50-upload-zip.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-60-prepare-test-event.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-70-view-invocation-response.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-80-delete-function.png (100%) rename {img/readme => Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment}/console-80-delete-role.png (100%) diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md new file mode 100644 index 00000000..4707cca3 --- /dev/null +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md @@ -0,0 +1,435 @@ +# Deploying your Swift Lambda functions + +Learn how to deploy your Swift Lambda functions to AWS. + +There are multiple ways to deploy your Swift code to AWS Lambda. The very first time, you'll probably use the AWS Console to create a new Lambda function and upload your code as a zip file. However, as you iterate on your code, you'll want to automate the deployment process. + +To take full advantage of the cloud, we recommend using Infrastructure as Code (IaC) tools like the [AWS Serverless Application Model (SAM)](https://aws.amazon.com/serverless/sam/) or [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/). These tools allow you to define your infrastructure and deployment process as code, which can be version-controlled and automated. + +In this section, we show you how to deploy your Swift Lambda functions using different AWS Tools. Alternatively, you might also consider using popular third-party tools like [Serverless Framework](https://www.serverless.com/), [Terraform](https://www.terraform.io/), or [Pulumi](https://www.pulumi.com/) to deploy Lambda functions and create and manage AWS infrastructure. + +Here is the content of this guide: + + * [Prerequisites](#prerequisites) + * [Choosing the AWS Region where to deploy](#choosing-the-aws-region-where-to-deploy) + * [The Lambda execution IAM role](#the-lambda-execution-iam-role) + * [Deploy your Lambda function with the AWS Console](#deploy-your-lambda-function-with-the-aws-console) + * [Deploy your Lambda function with the AWS Command Line Interface (CLI)](#deploy-your-lambda-function-with-the-aws-command-line-interface-cli) + * [Deploy your Lambda function with AWS Serverless Application Model (SAM)](#deploy-your-lambda-function-with-aws-serverless-application-model-sam) + * [Deploy your Lambda function with AWS Cloud Development Kit (CDK)](#deploy-your-lambda-function-with-aws-cloud-development-kit-cdk) + * [Third-party tools](#third-party-tools) + +## Prerequisites + +1. Your AWS Account + + To deploy a Lambda function on AWS, you need an AWS account. If you don't have one yet, you can create a new account at [aws.amazon.com](https://signin.aws.amazon.com/signup?request_type=register). It takes a few minutes to register. A credit card is required. + + We do not recommend using the root credentials you entered at account creation time for day-to-day work. Instead, create an [Identity and Access Manager (IAM) user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) with the necessary permissions and use its credentials. + + Follow the steps in [Create an IAM User in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). + + We suggest to attach the `AdministratorAccess` policy to the user for the initial setup. For production workloads, you should follow the principle of least privilege and grant only the permissions required for your users. The ['AdministratorAccess' gives the user permission](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) to manage all resources on the AWS account. + +2. AWS Security Credentials + + [AWS Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) are required to access the AWS console, AWS APIs, or to let tools access your AWS account. + + AWS Security Credentials can be **long-term credentials** (for example, an Access Key ID and a Secret Access Key attached to your IAM user) or **temporary credentials** obtained via other AWS API, such as when accessing AWS through single sign-on (SSO) or when assuming an IAM role. + + To follow the steps in this guide, you need to know your AWS Access Key ID and Secret Access Key. If you don't have them, you can create them in the AWS Management Console. Follow the steps in [Creating access keys for an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey). + + When you use SSO with your enterprise identity tools (such as Microsoft entra ID –formerly Active Directory–, Okta, and others) or when you write scripts or code assuming an IAM role, you receive temporary credentials. These credentials are valid for a limited time, have a limited scope, and are rotated automatically. You can use them in the same way as long-term credentials. In addition to an AWS Access Key and Secret Access Key, temporary credentials include a session token. + + Here is a typical set of temporary credentials (redacted for security). + + ```json + { + "Credentials": { + "AccessKeyId": "ASIA...FFSD", + "SecretAccessKey": "Xn...NL", + "SessionToken": "IQ...pV", + "Expiration": "2024-11-23T11:32:30+00:00" + } + } + ``` + +## Choosing the AWS Region where to deploy + +[AWS Global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/) spans over 34 geographic Regions (and continuously expanding). When you create a resource on AWS, such as a Lambda function, you have to select a geographic region where the resource will be created. The two main factors to consider to select a Region are the physical proximity with your users and geographical compliance. + +Physical proximity helps you reduce the network latency between the Lambda function and your customers. For example, when the majority of your users are located in South-East Asia, you might consider deploying in the Singapore, the Malaysia, or Jakarta Region. + +Geographical compliance, also known as data residency compliance, involves following location-specific regulations about how and where data can be stored and processed. + +## The Lambda execution IAM role + +A Lambda execution role is an AWS Identity and Access Management (IAM) role that grants your Lambda function the necessary permissions to interact with other AWS services and resources. Think of it as a security passport that determines what your function is allowed to do within AWS. For example, if your Lambda function needs to read files from Amazon S3, write logs to Amazon CloudWatch, or access an Amazon DynamoDB table, the execution role must include the appropriate permissions for these actions. + +When you create a Lambda function, you must specify an execution role. This role contains two main components: a trust policy that allows the Lambda service itself to assume the role, and permission policies that determine what AWS resources the function can access. By default, Lambda functions get basic permissions to write logs to CloudWatch Logs, but any additional permissions (like accessing S3 buckets or sending messages to SQS queues) must be explicitly added to the role's policies. Following the principle of least privilege, it's recommended to grant only the minimum permissions necessary for your function to operate, helping maintain the security of your serverless applications. + +## Deploy your Lambda function with the AWS Console + +Authenticate on the AWS console using your IAM username and password. On the top right side, select the AWS Region where you want to deploy, then navigate to the Lambda section. + +![Console - Select AWS Region](console-10-regions) + +### Create the function + +Select **Create a function** to create a function. + +![Console - Lambda dashboard when there is no function](console-20-dashboard) + +Select **Author function from scratch**. Enter a **Function name** (`HelloWorld`) and select `Amazon Linux 2` as **Runtime**. +Select the architecture. When you compile your Swift code on a x84_64 machine, such as an Intel Mac, select `x86_64`. When you compile your Swift code on an Arm machine, such as the Apple Silicon M1 or more recent, select `arm64`. + +Select **Create function** + +![Console - create function](console-30-create-function) + +On the right side, select **Upload from** and select **.zip file**. + +![Console - select zip file](console-40-select-zip-file) + +Select the zip file created with the `swift package archive --allow-network-connections docker` command. This file is located in your project folder at `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip`. The name of the ZIP file depends on the target name you entered in the `Package.swift` file. + +Select **Save** + +![Console - select zip file](console-50-upload-zip) + +You're now ready to test your function. + +### Invoke the function + +Select the **Test** tab in the console and prepare a payload to send to your Lambda function. In this example, you've deployed the [HelloWorld](Exmaples.HelloWorld/README.md) example function. The function expects a `String` as input parameter and returns a `String`. + +Select **Create new event**. Enter an **Event name**. Enter `"Swift on Lambda"` as **Event JSON**. Note that the payload must be a valid JSON document, hence we use surrounding double quotes (`"`). + +Select **Test** on the upper right side of the screen. + +![Console - prepare test event](console-60-prepare-test-event) + +The response of the invocation and additional meta data appears in the green section of the page. + +I can see the response from the Swift code: `Hello Swift on Lambda`. + +The function consumed 109.60ms of execution time, out of this 83.72ms where spent to initialize this new runtime. This initialization time is known as Lambda cold start time. + +> Lambda cold start time refers to the initial delay that occurs when a Lambda function is invoked for the first time or after being idle for a while. Cold starts happen because AWS needs to provision and initialize a new container, load your code, and start your runtime environment (in this case, the Swift runtime). This delay is particularly noticeable for the first invocation, but subsequent invocations (known as "warm starts") are typically much faster because the container and runtime are already initialized and ready to process requests. Cold starts are an important consideration when architecting serverless applications, especially for latency-sensitive workloads. + +![Console - view invocation result](console-70-view-invocation-response) + +Select **Test** to invoke the function again with the same payload. + +Observe the results. No initialization time is reported because the Lambda execution environment was ready after the first invocation. The runtime duration of the second invocation is 1.12ms. + +```text +REPORT RequestId: f789fbb6-10d9-4ba3-8a84-27aa283369a2 Duration: 1.12 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 26 MB +``` + +AWS lambda charges usage per number of invocations and the CPU time, rounded to the next millisecond. AWS Lambda offers a generous free-tier of 1 million invocation each month and 400,000 GB-seconds of compute time per month. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for the details. + +### Delete the function + +When you're finished with testing, you can delete the Lambda function and the IAM execution role that the console created automatically. + +While you are on the `HelloWorld` function page in the AWS console, select **Actions**, then **Delete function** in the menu on the top-right part of the page. + +![Console - delete function](console-80-delete-function) + +Then, navigate to the IAM section of the AWS console. Select **Roles** on the right-side menu and search for `HelloWorld`. The console appended some random characters to role name. The name you see on your console is different that the one on the screenshot. + +Select the `HelloWorld-role-xxxx` role and select **Delete**. Confirm the deletion by entering the role name again, and select **Delete** on the confirmation box. + +![Console - delete IAM role](console-80-delete-role) + +## Deploy your Lambda function with the AWS Command Line Interface (CLI) + +You can deploy your Lambda function using the AWS Command Line Interface (CLI). The CLI is a unified tool to manage your AWS services from the command line and automate your operations through scripts. The CLI is available for Windows, macOS, and Linux. Follow the [installation](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and [configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) instructions in the AWS CLI User Guide. + +### Create the function + +To create a function, you must first create the function execution role and define the permission. Then, you create the function with the `create-function` command. + +The command assumes you've already created the ZIP file with the `swift package archive --allow-network-connections docker` command. The name and the path of the ZIP file depends on the executable target name you entered in the `Package.swift` file. + + +```sh +# enter your AWS Account ID +export AWS_ACCOUNT_ID=123456789012 + +# Allow the Lambda service to assume the execution role +cat < assume-role-policy.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] +} +EOF + +# Create the execution role +aws iam create-role \ +--role-name lambda_basic_execution \ +--assume-role-policy-document file://assume-role-policy.json + +# create permissions to associate with the role +cat < permissions.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": [ + "logs:CreateLogGroup", + "logs:CreateLogStream", + "logs:PutLogEvents" + ], + "Resource": "arn:aws:logs:*:*:*" + } + ] +} +EOF + +# Attach the permissions to the role +aws iam put-role-policy \ +--role-name lambda_basic_execution \ +--policy-name lambda_basic_execution_policy \ +--policy-document file://permissions.json + +# Create the Lambda function +aws lambda create-function \ +--function-name MyLambda \ +--zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ +--runtime provided.al2 \ +--handler provided \ +--architectures arm64 \ +--role arn:aws:iam::${AWS_ACCOUNT_ID}:role/lambda_basic_execution +``` + +The `--architectures` flag is only required when you build the binary on an Apple Silicon machine (Apple M1 or more recent). It defaults to `x64`. + +To update the function, use the `update-function-code` command. + +```sh +aws lambda update-function-code \ +--function-name MyLambda \ +--zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip +``` + +### Invoke the function + +Use the `invoke-function` command to invoke the function. You can pass a well-formed JSON payload as input to the function. The payload must be encoded in base64. The CLI returns the status code and stores the response in a file. + +```sh +# invoke the function +aws lambda invoke \ +--function-name MyLambda \ +--payload $(echo \"Swift Lambda function\" | base64) \ +out.txt + +# show the response +cat out.txt + +# delete the response file +rm out.txt +``` + +### Delete the function + +To cleanup, first delete the Lambda funtion, then delete the IAM role. + +```sh +# delete the Lambda function +aws lambda delete-function --function-name MyLambda + +# delete the IAM policy attached to the role +aws iam delete-role-policy --role-name lambda_basic_execution --policy-name lambda_basic_execution_policy + +# delete the IAM role +aws iam delete-role --role-name lambda_basic_execution +``` + +## Deploy your Lambda function with AWS Serverless Application Model (SAM) + +AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications. It provides a simplified way to define the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application. You can define your serverless application in a single file, and SAM will use it to deploy your function and all its dependencies. + +To use SAM, you need to [install the SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html) on your machine. The SAM CLI provides a set of commands to package, deploy, and manage your serverless applications. + +Use SAM when you want to deploy more than a Lambda function. SAM helps you to create additional resources like an API Gateway, an S3 bucket, or a DynamoDB table, and manage the permissions between them. + +### Create the function + +When using SAM, you describe the infrastructure you want to deploy in a YAML file. The file contains the definition of the Lambda function, the IAM role, and the permissions needed by the function. The SAM CLI uses this file to package and deploy your function. + +You can create a SAM template to define a REST API implemented by AWS API Gateway and a Lambda function with the following command + +```sh +cat < template.yaml +AWSTemplateFormatVersion: '2010-09-09' +Transform: AWS::Serverless-2016-10-31 +Description: SAM Template for APIGateway Lambda Example + +Resources: + # Lambda function + APIGatewayLambda: + Type: AWS::Serverless::Function + Properties: + # the directory name and ZIP file names depends on the Swift executable target name + CodeUri: .build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/APIGatewayLambda/APIGatewayLambda.zip + Timeout: 60 + Handler: swift.bootstrap # ignored by the Swift runtime + Runtime: provided.al2 + MemorySize: 512 + Architectures: + - arm64 + # The events that will trigger this function + Events: + HttpApiEvent: + Type: HttpApi # AWS API Gateway v2 + +Outputs: + # display API Gateway endpoint + APIGatewayEndpoint: + Description: API Gateway endpoint URI" + Value: !Sub "https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com" +EOF +``` + +In this example, the Lambda function must accept an APIGateway v2 JSON payload as input parameter and return a valid APIGAteway v2 JSON response. See the example code in the [APIGateway example README file](https://github.com/swift-server/swift-aws-lambda-runtime/blob/main/Examples/APIGateway/README.md). + +To deploy the function with SAM, use the `sam deploy` command. The very first time you deploy a function, you must use the `--guided` flag to configure the deployment. The command will ask you a series of questions to configure the deployment. + + +Here is the command to deploy the function with SAM: + +```sh +# start the first deployment +sam deploy --guided + +Configuring SAM deploy +====================== + + Looking for config file [samconfig.toml] : Not found + + Setting default arguments for 'sam deploy' + ========================================= + Stack Name [sam-app]: APIGatewayLambda + AWS Region [us-east-1]: + #Shows you resources changes to be deployed and require a 'Y' to initiate deploy + Confirm changes before deploy [y/N]: n + #SAM needs permission to be able to create roles to connect to the resources in your template + Allow SAM CLI IAM role creation [Y/n]: y + #Preserves the state of previously provisioned resources when an operation fails + Disable rollback [y/N]: n + APIGatewayLambda has no authentication. Is this okay? [y/N]: y + Save arguments to configuration file [Y/n]: y + SAM configuration file [samconfig.toml]: + SAM configuration environment [default]: + + Looking for resources needed for deployment: + +(redacted for brevity) + +CloudFormation outputs from deployed stack +-------------------------------------------------------------------------------- +Outputs +-------------------------------------------------------------------------------- +Key APIGatewayEndpoint +Description API Gateway endpoint UR" +Value https://59i4uwbuj2.execute-api.us-east-1.amazonaws.com +-------------------------------------------------------------------------------- + + +Successfully created/updated stack - APIGAtewayLambda in us-east-1 +``` + +To update your function or any other AWS service defined in your YAML file, you can use the `sam deploy` command without the `--guided` flag. + +### Invoke the function + +SAM allows you to invoke the function locally and remotely. + +Local invocations allows you to test your code before uploading it. It requires docker to run. + +```sh +# First, generate a sample event +sam local generate-event apigateway http-api-proxy > event.json + +# Next, invoke the function locally +sam local invoke -e ./event.json + +START RequestId: 3f5096c6-0fd3-4605-b03e-d46658e6b141 Version: $LATEST +END RequestId: 3134f067-9396-4f4f-bebb-3c63ef745803 +REPORT RequestId: 3134f067-9396-4f4f-bebb-3c63ef745803 Init Duration: 0.04 ms Duration: 38.38 msBilled Duration: 39 ms Memory Size: 512 MB Max Memory Used: 512 MB +{"body": "{\"version\":\"2.0\",\"routeKey\":\"$default\",\"rawPath\":\"\\/path\\/to\\/resource\",... REDACTED FOR BREVITY ...., "statusCode": 200, "headers": {"content-type": "application/json"}} +``` + +> If you've previously authenticated to Amazon ECR Public and your auth token has expired, you may receive an authentication error when attempting to do unauthenticated docker pulls from Amazon ECR Public. To resolve this issue, it may be necessary to run `docker logout public.ecr.aws` to avoid the error. This will result in an unauthenticated pull. For more information, see [Authentication issues](https://docs.aws.amazon.com/AmazonECR/latest/public/public-troubleshooting.html#public-troubleshooting-authentication). + +Remote invocations are done with the `sam remote invoke` command. + +```sh +sam remote invoke \ + --stack-name APIGatewayLambda \ + --event-file ./event.json + +Invoking Lambda Function APIGatewayLambda +START RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 Version: $LATEST +END RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 +REPORT RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 Duration: 6.01 ms Billed Duration: 7 ms Memory Size: 512 MB Max Memory Used: 35 MB +{"body":"{\"stageVariables\":{\"stageVariable1\":\"value1\",\"stageVariable2\":\"value2\"},\"rawPath\":\"\\\/path\\\/to\\\/resource\",\"routeKey\":\"$default\",\"cookies\":[\"cookie1\",\"cookie2\"] ... REDACTED FOR BREVITY ... \"statusCode\":200,"headers":{"content-type":"application/json"}} +``` + +SAM allows you to access the function logs from Amazon Cloudwatch. + +```sh +sam logs --stack-name APIGatewayLambda + +Access logging is disabled for HTTP API ID (g9m53sn7xa) +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:16:25.593000 INIT_START Runtime Version: provided:al2.v75 Runtime Version ARN: arn:aws:lambda:us-east-1::runtime:4f3438ed7de2250cc00ea1260c3dc3cd430fad27835d935a02573b6cf07ceed8 +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:16:25.715000 START RequestId: d8afa647-8361-4bce-a817-c57b92a060af Version: $LATEST +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:16:25.758000 END RequestId: d8afa647-8361-4bce-a817-c57b92a060af +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:16:25.758000 REPORT RequestId: d8afa647-8361-4bce-a817-c57b92a060af Duration: 40.74 ms Billed Duration: 162 ms Memory Size: 512 MB Max Memory Used: 34 MB Init Duration: 120.64 ms +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:17:10.343000 START RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 Version: $LATEST +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:17:10.350000 END RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 +2024/12/19/[$LATEST]4dd42d66282145a2964ff13dfcd5dc65 2024-12-19T10:17:10.350000 REPORT RequestId: ec8082c5-933b-4176-9c63-4c8fb41ca259 Duration: 6.01 ms Billed Duration: 7 ms Memory Size: 512 MB Max Memory Used: 35 MB +``` + +You can also tail the logs with the `-t, --tail` flag. + +### Delete the function + +SAM allows you to delete your function and all infrastructure that is defined in the YAML template with just one command. + +```sh +sam delete + +Are you sure you want to delete the stack APIGatewayLambda in the region us-east-1 ? [y/N]: y +Are you sure you want to delete the folder APIGatewayLambda in S3 which contains the artifacts? [y/N]: y +- Deleting S3 object with key APIGatewayLambda/1b5a27c048549382462bd8ea589f7cfe +- Deleting S3 object with key APIGatewayLambda/396d2c434ecc24aaddb670bd5cca5fe8.template +- Deleting Cloudformation stack APIGatewayLambda + +Deleted successfully +``` + +## Deploy your Lambda function with the AWS Cloud Development Kit (CDK) + +TODO + +### Create the function + +### Invoke the function + +### Delete the function + +## Third-party tools + +TODO \ No newline at end of file diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Documentation.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Documentation.md index 68088df8..4016bcbd 100644 --- a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Documentation.md +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Documentation.md @@ -18,7 +18,6 @@ Swift AWS Lambda Runtime was designed to make building Lambda functions in Swift ### Essentials -- - - - ``LambdaHandler`` - +- +- diff --git a/img/readme/console-10-regions.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-10-regions.png similarity index 100% rename from img/readme/console-10-regions.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-10-regions.png diff --git a/img/readme/console-20-dashboard.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-20-dashboard.png similarity index 100% rename from img/readme/console-20-dashboard.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-20-dashboard.png diff --git a/img/readme/console-30-create-function.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-30-create-function.png similarity index 100% rename from img/readme/console-30-create-function.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-30-create-function.png diff --git a/img/readme/console-40-select-zip-file.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-40-select-zip-file.png similarity index 100% rename from img/readme/console-40-select-zip-file.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-40-select-zip-file.png diff --git a/img/readme/console-50-upload-zip.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-50-upload-zip.png similarity index 100% rename from img/readme/console-50-upload-zip.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-50-upload-zip.png diff --git a/img/readme/console-60-prepare-test-event.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-60-prepare-test-event.png similarity index 100% rename from img/readme/console-60-prepare-test-event.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-60-prepare-test-event.png diff --git a/img/readme/console-70-view-invocation-response.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-70-view-invocation-response.png similarity index 100% rename from img/readme/console-70-view-invocation-response.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-70-view-invocation-response.png diff --git a/img/readme/console-80-delete-function.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-80-delete-function.png similarity index 100% rename from img/readme/console-80-delete-function.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-80-delete-function.png diff --git a/img/readme/console-80-delete-role.png b/Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-80-delete-role.png similarity index 100% rename from img/readme/console-80-delete-role.png rename to Sources/AWSLambdaRuntimeCore/Documentation.docc/img/deployment/console-80-delete-role.png diff --git a/readme.md b/readme.md index e182265e..58ffa415 100644 --- a/readme.md +++ b/readme.md @@ -386,265 +386,48 @@ LOCAL_LAMBDA_SERVER_INVOCATION_ENDPOINT=/2015-03-31/functions/function/invocatio ## Deploying your Swift Lambda functions -There are multiple ways to deploy your Swift code to AWS Lambda. The very first time, you'll probably use the AWS Console to create a new Lambda function and upload your code as a zip file. However, as you iterate on your code, you'll want to automate the deployment process. - -To take full advantage of the cloud, we recommend using Infrastructure as Code (IaC) tools like the [AWS Serverless Application Model (SAM)](https://aws.amazon.com/serverless/sam/) or [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/). These tools allow you to define your infrastructure and deployment process as code, which can be version-controlled and automated. - -In this section, we show you how to deploy your Swift Lambda functions using different AWS Tools. Alternatively, you might also consider using popular third-party tools like [Serverless Framework](https://www.serverless.com/), [Terraform](https://www.terraform.io/), or [Pulumi](https://www.pulumi.com/) to deploy Lambda functions and create and manage AWS infrastructure. - -### Prerequisites - -1. Your AWS Account - - To deploy a Lambda function on AWS, you need an AWS account. If you don't have one yet, you can create a new account at [aws.amazon.com](https://signin.aws.amazon.com/signup?request_type=register). It takes a few minutes to register. A credit card is required. - - We do not recommend using the root credentials you entered at account creation time for day-to-day work. Instead, create an [Identity and Access Manager (IAM) user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) with the necessary permissions and use its credentials. - - Follow the steps in [Create an IAM User in your AWS account](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). - - We suggest to attach the `AdministratorAccess` policy to the user for the initial setup. For production workloads, you should follow the principle of least privilege and grant only the permissions required for your users. The ['AdministratorAccess' gives the user permission](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) to manage all resources on the AWS account. - -2. AWS Security Credentials - - [AWS Security Credentials](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html) are required to access the AWS console, AWS APIs, or to let tools access your AWS account. - - AWS Security Credentials can be **long-term credentials** (for example, an Access Key ID and a Secret Access Key attached to your IAM user) or **temporary credentials** obtained via other AWS API, such as when accessing AWS through single sign-on (SSO) or when assuming an IAM role. - - To follow the steps in this guide, you need to know your AWS Access Key ID and Secret Access Key. If you don't have them, you can create them in the AWS Management Console. Follow the steps in [Creating access keys for an IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_CreateAccessKey). - - When you use SSO with your enterprise identity tools (such as Microsoft entra ID –formerly Active Directory–, Okta, and others) or when you write scripts or code assuming an IAM role, you receive temporary credentials. These credentials are valid for a limited time, have a limited scope, and are rotated automatically. You can use them in the same way as long-term credentials. In addtion to an AWS Access Key and Secret Access Key, temporary crednentials include a session token. - - Here is a typical set of temporary credentials (redacted for security). - - ```json - { - "Credentials": { - "AccessKeyId": "ASIA...FFSD", - "SecretAccessKey": "Xn...NL", - "SessionToken": "IQ...pV", - "Expiration": "2024-11-23T11:32:30+00:00" - } - } - ``` - -### Choosing the AWS Region where to deploy - -[AWS Global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/) spans over 34 geographic Regions (and continuously expanding). When you create a resource on AWS, such as a Lambda function, you have to select a geographic region where the resource will be created. The two main factors to consider to select a Region are the physical proximity with your users and geographical compliance. - -Physical proximity helps you reduce the network latency between the Lambda function and your customers. For example, when the majority of your users are located in South-East Asia, you might consider deploying in the Singapore, the Malaysia, or Jakarta Region. - -Geographical compliance, also known as data residency compliance, involves following location-specific regulations about how and where data can be stored and processed. - -### The Lambda execution IAM role - -A Lambda execution role is an AWS Identity and Access Management (IAM) role that grants your Lambda function the necessary permissions to interact with other AWS services and resources. Think of it as a security passport that determines what your function is allowed to do within AWS. For example, if your Lambda function needs to read files from Amazon S3, write logs to Amazon CloudWatch, or access an Amazon DynamoDB table, the execution role must include the appropriate permissions for these actions. - -When you create a Lambda function, you must specify an execution role. This role contains two main components: a trust policy that allows the Lambda service itself to assume the role, and permission policies that determine what AWS resources the function can access. By default, Lambda functions get basic permissions to write logs to CloudWatch Logs, but any additional permissions (like accessing S3 buckets or sending messages to SQS queues) must be explicitly added to the role's policies. Following the principle of least privilege, it's recommended to grant only the minimum permissions necessary for your function to operate, helping maintain the security of your serverless applications. - -### Deploy your Lambda function with the AWS Console - -Authenticate on the AWS console using your IAM username and password. On the top right side, select the AWS Region where you want to deploy, then navigate to the Lambda section. - -![Console - Select AWS Region](/img/readme/console-10-regions.png) - -#### Create the function - -Select **Create a function** to create a function. - -![Console - Lambda dashboard when there is no function](/img/readme/console-20-dashboard.png) - -Select **Author function from scratch**. Enter a **Function name** (`HelloWorld`) and select `Amazon Linux 2` as **Runtime**. -Select the architecture. When you compile your Swift code on a x84_64 machine, such as an Intel Mac, select `x86_64`. When you compile your Swift code on an Arm machine, such as the Apple Silicon M1 or more recent, select `arm64`. - -Select **Create function** - -![Console - create function](/img/readme/console-30-create-function.png) - -On the right side, select **Upload from** and select **.zip file**. - -![Console - select zip file](/img/readme/console-40-select-zip-file.png) - -Select the zip file created with the `swift package archive --allow-network-conenctions docker` command. This file is located in your project folder at `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip`. The name of the ZIP file depends on the target name you entered in the `Package.swift` file. - -Select **Save** - -![Console - select zip file](/img/readme/console-50-upload-zip.png) - -You're now ready to test your function. - -#### Invoke the function - -Select the **Test** tab in the console and prepare a payload to send to your Lambda function. In this example, you've deployed the [HelloWorld](Exmaples.HelloWorld/README.md) example function. The function expects a `String` as input parameter and returns a `String`. - -Select **Create new event**. Enter an **Event name**. Enter `"Swift on Lambda"` as **Event JSON**. Note that the payload must be a valid JSON document, hence we use surrounding double quotes (`"`). - -Select **Test** on the upper right side of the screen. - -![Console - prepare test event](/img/readme/console-60-prepare-test-event.png) - -The response of the invocation and additional meta data appears in the green section of the page. - -I can see the response from the Swift code: `Hello Swift on Lambda`. - -The function consumed 109.60ms of execution time, out of this 83.72ms where spent to initialize this new runtime. This initialization time is known as Lambda cold start time. +There is a full deployment guide available in [the documentation](https://swiftpackageindex.com/swift-server/swift-aws-lambda-runtime/main/documentation/awslambdaruntime). > [!NOTE] -> Lambda cold start time refers to the initial delay that occurs when a Lambda function is invoked for the first time or after being idle for a while. Cold starts happen because AWS needs to provision and initialize a new container, load your code, and start your runtime environment (in this case, the Swift runtime). This delay is particularly noticeable for the first invocation, but subsequent invocations (known as "warm starts") are typically much faster because the container and runtime are already initialized and ready to process requests. Cold starts are an important consideration when architecting serverless applications, especially for latency-sensitive workloads. - -![Console - view invocation result](/img/readme/console-70-view-invocation-response.png) - -Select **Test** to invoke the function again with the same payload. - -Observe the results. No initialization time is reported because the Lambda execution environment was ready after the first invocation. The runtime duration of the second invocation is 1.12ms. - -```text -REPORT RequestId: f789fbb6-10d9-4ba3-8a84-27aa283369a2 Duration: 1.12 ms Billed Duration: 2 ms Memory Size: 128 MB Max Memory Used: 26 MB -``` - -AWS lambda charges usage per number of invocations and the CPU time, rounded to the next millisecond. AWS Lambda offers a generous free-tier of 1 million invocation each month and 400,000 GB-seconds of compute time per month. See [Lambda pricing](https://aws.amazon.com/lambda/pricing/) for the details. - -#### Delete the function +> We will add the deep link to the correct page once published on the [Swift Package Index](https://swiftpackageindex.com/swift-server/swift-aws-lambda-runtime). -When you're finished with testing, you can delete the Lambda function and the IAM execution role that the console created automatically. - -While you are on the `HelloWorld` function page in the AWS console, select **Actions**, then **Delete function** in the menu on the top-right part of the page. - -![Console - delete function](/img/readme/console-80-delete-function.png) - -Then, navigate to the IAM section of the AWS console. Select **Roles** on the right-side menu and search for `HelloWorld`. The console appended some random caracters to role name. The name you see on your console is different that the one on the screenshot. - -Select the `HelloWorld-role-xxxx` role and select **Delete**. Confirm the deletion by entering the role name again, and select **Delete** on the confirmation box. - -![Console - delete IAM role](/img/readme/console-80-delete-role.png) - -### Deploy your Lambda function with the AWS Command Line Interface (CLI) - -You can deploy your Lambda function using the AWS Command Line Interface (CLI). The CLI is a unified tool to manage your AWS services from the command line and automate your operations through scripts. The CLI is available for Windows, macOS, and Linux. Follow the [installation](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and [configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) instructions in the AWS CLI User Guide. +There are multiple ways to deploy your Swift code to AWS Lambda. The very first time, you'll probably use the AWS Console to create a new Lambda function and upload your code as a zip file. However, as you iterate on your code, you'll want to automate the deployment process. -#### Create the function +To take full advantage of the cloud, we recommend using Infrastructure as Code (IaC) tools like the [AWS Serverless Application Model (SAM)](https://aws.amazon.com/serverless/sam/) or [AWS Cloud Development Kit (CDK)](https://aws.amazon.com/cdk/). These tools allow you to define your infrastructure and deployment process as code, which can be version-controlled and automated. -To create a function, you must first create the function execution role and define the permission. Then, you create the function with the `create-function` command. +Alternatively, you might also consider using popular third-party tools like [Serverless Framework](https://www.serverless.com/), [Terraform](https://www.terraform.io/), or [Pulumi](https://www.pulumi.com/) to deploy Lambda functions and create and manage AWS infrastructure. -The command assumes you've already created the ZIP file with the `swift package archive --allow-network-connections docker` command. The name and the path of the ZIP file depends on the executable target name you entered in the `Package.swift` file. - +Here is a short example that shows how to deploy using SAM. -```sh -# enter your AWS Account ID -export AWS_ACCOUNT_ID=123456789012 +**Prerequisites** : Install the [SAM CLI](https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/install-sam-cli.html) -# Allow the Lambda service to assume the execution role -cat < assume-role-policy.json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] -} -EOF +When using SAM, you describe your deployment in a YAML text file. +The [API Gateway example directory](Examples/APIGateway/template.yaml) contains a file named `template.yaml` that you can use as a starting point. -# Create the execution role -aws iam create-role \ ---role-name lambda_basic_execution \ ---assume-role-policy-document file://assume-role-policy.json +To deploy your Lambda function and create the infrastructure, type the following `sam` command. -# create permissions to associate with the role -cat < permissions.json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": [ - "logs:CreateLogGroup", - "logs:CreateLogStream", - "logs:PutLogEvents" - ], - "Resource": "arn:aws:logs:*:*:*" - } - ] -} -EOF - -# Attach the permissions to the role -aws iam put-role-policy \ ---role-name lambda_basic_execution \ ---policy-name lambda_basic_execution_policy \ ---policy-document file://permissions.json - -# Create the Lambda function -aws lambda create-function \ ---function-name MyLambda \ ---zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ ---runtime provided.al2 \ ---handler provided \ ---architectures arm64 \ ---role arn:aws:iam::${AWS_ACCOUNT_ID}:role/lambda_basic_execution +```bash +sam deploy \ +--resolve-s3 \ +--template-file template.yaml \ +--stack-name APIGatewayLambda \ +--capabilities CAPABILITY_IAM ``` -The `--architectures` flag is only required when you build the binary on an Apple Silicon machine (Apple M1 or more recent). It defaults to `x64`. - -#### Invoke the function - -Use the `invoke-function` command to invoke the function. You can pass a well-formed JSON payload as input to the function. The payload must be encoded in base64. The CLI returns the status code and stores the response in a file. - -```sh -# invoke the function -aws lambda invoke \ ---function-name MyLambda \ ---payload $(echo \"Swift Lambda function\" | base64) \ -out.txt +At the end of the deployment, the script lists the API Gateway endpoint. +The output is similar to this one. -# show the response -cat out.txt - -# delete the response file -rm out.txt ``` - -#### Delete the function - -To cleanup, first delete the Lambda funtion, then delete the IAM role. - -```sh -# delete the Lambda function -aws lambda delete-function --function-name MyLambda - -# delete the IAM policy attached to the role -aws iam delete-role-policy --role-name lambda_basic_execution --policy-name lambda_basic_execution_policy - -# delete the IAM role -aws iam delete-role --role-name lambda_basic_execution +----------------------------------------------------------------------------------------------------------------------------- +Outputs +----------------------------------------------------------------------------------------------------------------------------- +Key APIGatewayEndpoint +Description API Gateway endpoint URL" +Value https://a5q74es3k2.execute-api.us-east-1.amazonaws.com +----------------------------------------------------------------------------------------------------------------------------- ``` -### Deploy your Lambda function with AWS Serverless Application Model (SAM) - -TODO - -#### Create the function - -#### Invoke the function - -#### Delete the function - -### Deploy your Lambda function with AWS Cloud Development Kit (CDK) - -TODO - -#### Create the function - -#### Invoke the function - -#### Delete the function - -### Third-party tools - -TODO +Please refer to the full deployment guide available in [the documentation](https://swiftpackageindex.com/swift-server/swift-aws-lambda-runtime/main/documentation/awslambdaruntime) for more details. ## Swift AWS Lambda Runtime - Design Principles From e85638af3b3a312c2e845f7cb71d4e2fbd199c17 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 19 Dec 2024 11:30:39 +0100 Subject: [PATCH 04/16] [doc] deployment : add section for third-party --- Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md index 4707cca3..b0ff0727 100644 --- a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md @@ -432,4 +432,4 @@ TODO ## Third-party tools -TODO \ No newline at end of file +We welcome contributions to this section. If you have experience deploying Swift Lambda functions with third-party tools like Serverless Framework, Terraform, or Pulumi, please share your knowledge with the community. \ No newline at end of file From 9a41ec3d3839233853e11ee01043f8d0e71d964d Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 19 Dec 2024 14:35:01 +0100 Subject: [PATCH 05/16] add CDK deployment --- .../Documentation.docc/Deployment.md | 175 +++++++++++++++++- 1 file changed, 171 insertions(+), 4 deletions(-) diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md index b0ff0727..82f2b771 100644 --- a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md @@ -422,13 +422,180 @@ Deleted successfully ## Deploy your Lambda function with the AWS Cloud Development Kit (CDK) -TODO +The AWS Cloud Development Kit is an open-source software development framework to define cloud infrastructure in code and provision it through AWS CloudFormation. The CDK provides high-level constructs that preconfigure AWS resources with best practices, and you can use familiar programming languages like TypeScript, Javascript, Python, Java, C#, and Go to define your infrastructure. -### Create the function +To use the CDK, you need to [install the CDK CLI](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) on your machine. The CDK CLI provides a set of commands to manage your CDK projects. -### Invoke the function +Use the CDK when you want to define your infrastructure in code and manage the deployment of your Lambda function and other AWS services. -### Delete the function +### Create a CDK project + +To create a new CDK project, use the `cdk init` command. The command creates a new directory with the project structure and the necessary files to define your infrastructure. + +```sh +# In your Swift Lambda project folder +mkdir infra && cd infra +cdk init app --language typescript +``` + +In this example, the code to create a Swift Lambda function with the CDK is written in TypeScript. The following code creates a new Lambda function with the `swift` runtime. + +It requires the `@aws-cdk/aws-lambda` package to define the Lambda function. You can install the dependency with the following command: + +```sh +npm install aws-cdk-lib constructs +``` + +Then, in the lib folder, create a new file named `swift-lambda-stack.ts` with the following content: + +```typescript +import * as cdk from 'aws-cdk-lib'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; + +export class LambdaApiStack extends cdk.Stack { + constructor(scope: cdk.App, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + // Create the Lambda function + const lambdaFunction = new lambda.Function(this, 'SwiftLambdaFunction', { + runtime: lambda.Runtime.PROVIDED_AL2, + architecture: lambda.Architecture.ARM_64, + handler: 'bootstrap', + code: lambda.Code.fromAsset('../.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/APIGatewayLambda/APIGatewayLambda.zip'), + memorySize: 512, + timeout: cdk.Duration.seconds(30), + environment: { + LOG_LEVEL: 'debug', + }, + }); + } +} +``` +The code assumes you already built the Swift Lambda function with the `swift package archive --allow-network-connections docker` command. The ZIP file is located in the `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip` folder. + +You can write code to add an API Gateway to invoke your Lambda function. The following code creates an HTTP API Gateway that triggers the Lambda function. + +```typescript +// in the import section at the top +import * as apigateway from 'aws-cdk-lib/aws-apigatewayv2'; +import { HttpLambdaIntegration } from 'aws-cdk-lib/aws-apigatewayv2-integrations'; + +// in the constructor, after having created the Lambda function +// ... + + // Create the API Gateway + const httpApi = new apigateway.HttpApi(this, 'HttpApi', { + defaultIntegration: new HttpLambdaIntegration({ + handler: lambdaFunction, + }), + }); + + // Output the API Gateway endpoint + new cdk.CfnOutput(this, 'APIGatewayEndpoint', { + value: httpApi.url!, + }); + +// ... +``` + +### Deploy the infrastructure + +To deploy the infrastructure, type the following commands. + +```sh +# Change to the infra directory +cd infra + +# Install the dependencies (only before the first deployment) +npm install + +# Deploy the infrastructure +cdk deploy + +✨ Synthesis time: 2.88s +... redacted for brevity ... +Do you wish to deploy these changes (y/n)? y +... redacted for brevity ... + ✅ LambdaApiStack + +✨ Deployment time: 42.96s + +Outputs: +LambdaApiStack.ApiUrl = https://tyqnjcawh0.execute-api.eu-central-1.amazonaws.com/ +Stack ARN: +arn:aws:cloudformation:eu-central-1:012345678901:stack/LambdaApiStack/e0054390-be05-11ef-9504-065628de4b89 + +✨ Total time: 45.84s +``` + +### Invoke your Lambda function + +To invoke the Lambda function, use this `curl` command line. + +```bash +curl https://tyqnjcawh0.execute-api.eu-central-1.amazonaws.com +``` + +Be sure to replace the URL with the API Gateway endpoint returned in the previous step. + +This should print a JSON similar to + +```bash +{"version":"2.0","rawPath":"\/","isBase64Encoded":false,"rawQueryString":"","headers":{"user-agent":"curl\/8.7.1","accept":"*\/*","host":"a5q74es3k2.execute-api.us-east-1.amazonaws.com","content-length":"0","x-amzn-trace-id":"Root=1-66fb0388-691f744d4bd3c99c7436a78d","x-forwarded-port":"443","x-forwarded-for":"81.0.0.43","x-forwarded-proto":"https"},"requestContext":{"requestId":"e719cgNpoAMEcwA=","http":{"sourceIp":"81.0.0.43","path":"\/","protocol":"HTTP\/1.1","userAgent":"curl\/8.7.1","method":"GET"},"stage":"$default","apiId":"a5q74es3k2","time":"30\/Sep\/2024:20:01:12 +0000","timeEpoch":1727726472922,"domainPrefix":"a5q74es3k2","domainName":"a5q74es3k2.execute-api.us-east-1.amazonaws.com","accountId":"012345678901"} +``` + +If you have `jq` installed, you can use it to pretty print the output. + +```bash +curl -s https://tyqnjcawh0.execute-api.eu-central-1.amazonaws.com | jq +{ + "version": "2.0", + "rawPath": "/", + "requestContext": { + "domainPrefix": "a5q74es3k2", + "stage": "$default", + "timeEpoch": 1727726558220, + "http": { + "protocol": "HTTP/1.1", + "method": "GET", + "userAgent": "curl/8.7.1", + "path": "/", + "sourceIp": "81.0.0.43" + }, + "apiId": "a5q74es3k2", + "accountId": "012345678901", + "requestId": "e72KxgsRoAMEMSA=", + "domainName": "a5q74es3k2.execute-api.us-east-1.amazonaws.com", + "time": "30/Sep/2024:20:02:38 +0000" + }, + "rawQueryString": "", + "routeKey": "$default", + "headers": { + "x-forwarded-for": "81.0.0.43", + "user-agent": "curl/8.7.1", + "host": "a5q74es3k2.execute-api.us-east-1.amazonaws.com", + "accept": "*/*", + "x-amzn-trace-id": "Root=1-66fb03de-07533930192eaf5f540db0cb", + "content-length": "0", + "x-forwarded-proto": "https", + "x-forwarded-port": "443" + }, + "isBase64Encoded": false +} +``` + +### Delete the infrastructure + +When done testing, you can delete the infrastructure with this command. + +```bash +cdk destroy + +Are you sure you want to delete: LambdaApiStack (y/n)? y +LambdaApiStack: destroying... [1/1] +... redacted for brevity ... + ✅ LambdaApiStack: destroyed +``` ## Third-party tools From 9c929bbe27b00c68be882617842de9c56a304449 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Thu, 19 Dec 2024 18:07:00 +0100 Subject: [PATCH 06/16] fix typo --- Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md index 82f2b771..0bd478ec 100644 --- a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md @@ -297,7 +297,7 @@ Resources: Outputs: # display API Gateway endpoint APIGatewayEndpoint: - Description: API Gateway endpoint URI" + Description: "API Gateway endpoint URI" Value: !Sub "https://${ServerlessHttpApi}.execute-api.${AWS::Region}.amazonaws.com" EOF ``` From 362a18de9e12a03935e11f8397ca225e5efa58dd Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 13:47:30 +0100 Subject: [PATCH 07/16] add the shell script referenced in the redame file --- Examples/_MyFirstFunction/.gitignore | 8 + Examples/_MyFirstFunction/clean.sh | 25 +++ .../create_and_deploy_function.sh | 157 ++++++++++++++++++ 3 files changed, 190 insertions(+) create mode 100644 Examples/_MyFirstFunction/.gitignore create mode 100755 Examples/_MyFirstFunction/clean.sh create mode 100755 Examples/_MyFirstFunction/create_and_deploy_function.sh diff --git a/Examples/_MyFirstFunction/.gitignore b/Examples/_MyFirstFunction/.gitignore new file mode 100644 index 00000000..0023a534 --- /dev/null +++ b/Examples/_MyFirstFunction/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +/.build +/Packages +xcuserdata/ +DerivedData/ +.swiftpm/configuration/registries.json +.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata +.netrc diff --git a/Examples/_MyFirstFunction/clean.sh b/Examples/_MyFirstFunction/clean.sh new file mode 100755 index 00000000..d3093f1b --- /dev/null +++ b/Examples/_MyFirstFunction/clean.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +alias aws="aws --profile seb" + +echo "This script deletes the Lambda function and the IAM role created in the previous step and deletes the project files." +read -p "Are you you sure you want to delete everything that was created? [y/n] " continue +if [[ ! $continue =~ ^[Yy]$ ]]; then + echo "OK, try again later when you feel ready" + exit 1 +fi + +echo "🚀 Deleting the Lambda function and the role" +aws lambda delete-function --function-name MyLambda +aws iam detach-role-policy \ + --role-name lambda_basic_execution \ + --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole +aws iam delete-role --role-name lambda_basic_execution + +echo "🚀 Deleting the project files" +rm -rf .build +rm -rf ./Sources +rm trust-policy.json +rm Package.swift Package.resolved + +echo "🎉 Done! Your project is cleaned up and ready for a fresh start." \ No newline at end of file diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh new file mode 100755 index 00000000..013d21a0 --- /dev/null +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -0,0 +1,157 @@ +#!/bin/sh + +# Stop the script execution if an error occurs +set -e -o pipefail + +alias aws="aws --profile seb" + +# check if docker is installed +which docker > /dev/null +if [[ $? != 0 ]]; then + echo "Docker is not installed. Please install Docker and try again." + exit 1 +fi + +# check if user has an access key and secret access key +echo "This script creates and deploys a Lambda function on your AWS Account. + +You must have an AWS account and know an AWS access key, secret access key, and an optional session token. +These values are read from '~/.aws/credentials'. +" + +read -p "Are you ready to create your first Lambda function in Swift? [y/n] " continue +if [[ ! $continue =~ ^[Yy]$ ]]; then + echo "OK, try again later when you feel ready" + exit 1 +fi + +echo "⚡️ Create your Swift Lambda project" +swift package init --type executable --name MyLambda > /dev/null + +echo "📦 Add the AWS Lambda Swift runtime to your project" +# The following commands are commented out until the `lambad-init` plugin will be release +# swift package add-dependency https://github.com/swift-server/swift-aws-lambda-runtime.git --branch main +# swift package add-dependency https://github.com/swift-server/swift-aws-lambda-events.git --branch main +# swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime +# swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events +cat < Package.swift +// swift-tools-version:6.0 + +import PackageDescription + +let package = Package( + name: "swift-aws-lambda-runtime-example", + platforms: [.macOS(.v15)], + products: [ + .executable(name: "MyLambda", targets: ["MyLambda"]) + ], + dependencies: [ + .package(url: "https://github.com/swift-server/swift-aws-lambda-runtime.git", branch: "main") + ], + targets: [ + .executableTarget( + name: "MyLambda", + dependencies: [ + .product(name: "AWSLambdaRuntime", package: "swift-aws-lambda-runtime") + ], + path: "." + ) + ] +) +EOF + +echo "📝 Write the Swift code" +# The following command is commented out until the `lambad-init` plugin will be release +# swift package lambda-init --allow-writing-to-package-directory +cat < Sources/main.swift +import AWSLambdaRuntime + +let runtime = LambdaRuntime { + (event: String, context: LambdaContext) in + "Hello \(event)" +} + +try await runtime.run() +EOF + +echo "📦 Compile and package the function for deployment (this might take a while)" +swift package archive --allow-network-connections docker > /dev/null 2>&1 + +# +# Now the function is ready to be deployed to AWS Lambda +# +echo "🚀 Deploy to AWS Lambda" + +# retrieve your AWS Account ID +echo "🔑 Retrieve your AWS Account ID" +export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) + +# +# Create an IAM role for the Lambda function +# +create_lambda_execution_role() { + role_name=$1 + + # Allow the Lambda service to assume the IAM role + cat < trust-policy.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] +} +EOF + + # Create the IAM role + echo "🔐 Create the IAM role for the Lambda function" + aws iam create-role \ + --role-name $role_name \ + --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 + + # Attach basic permissions to the role + # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs + echo "🔒 Attach basic permissions to the role" + aws iam attach-role-policy \ + --role-name $role_name \ + --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 + + echo "⏰ Waiting 10 secs for IAM role to propagate..." + sleep 10 +} + +# Check if the role already exists +echo "🔍 Check if a Lambda execution IAM role already exists" +aws iam get-role --role-name lambda_basic_execution > /dev/null 2>&1 || create_lambda_execution_role lambda_basic_execution + +# Create the Lambda function +echo "🚀 Create the Lambda function" +aws lambda create-function \ +--function-name MyLambda \ +--zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ +--runtime provided.al2 \ +--handler provided \ +--architectures $(uname -m) \ +--role arn:aws:iam::${AWS_ACCOUNT_ID}:role/lambda_basic_execution > /dev/null 2>&1 + +echo "⏰ Waiting 10 secs for the Lambda function to be ready..." +sleep 10 + +# Invoke the Lambda function +echo "🔗 Invoke the Lambda function" +aws lambda invoke \ +--function-name MyLambda \ +--cli-binary-format raw-in-base64-out \ +--payload '"Lambda Swift"' \ +output.txt > /dev/null 2>&1 + +echo "👀 Your Lambda function returned:" +cat output.txt && rm output.txt + +echo "" +echo "🎉 Done! Your first Lambda function in Swift is now deployed on AWS Lambda. 🚀" From e1a9503df8c5fba7d8aca0e0c23435a59a937830 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 13:55:05 +0100 Subject: [PATCH 08/16] create a separate script for role creation --- Examples/_MyFirstFunction/clean.sh | 2 - .../create_and_deploy_function.sh | 53 +++---------------- Examples/_MyFirstFunction/create_iam_role.sh | 38 +++++++++++++ 3 files changed, 45 insertions(+), 48 deletions(-) create mode 100644 Examples/_MyFirstFunction/create_iam_role.sh diff --git a/Examples/_MyFirstFunction/clean.sh b/Examples/_MyFirstFunction/clean.sh index d3093f1b..2610c054 100755 --- a/Examples/_MyFirstFunction/clean.sh +++ b/Examples/_MyFirstFunction/clean.sh @@ -1,7 +1,5 @@ #!/bin/sh -alias aws="aws --profile seb" - echo "This script deletes the Lambda function and the IAM role created in the previous step and deletes the project files." read -p "Are you you sure you want to delete everything that was created? [y/n] " continue if [[ ! $continue =~ ^[Yy]$ ]]; then diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 013d21a0..bd736d80 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -3,14 +3,14 @@ # Stop the script execution if an error occurs set -e -o pipefail -alias aws="aws --profile seb" - # check if docker is installed -which docker > /dev/null -if [[ $? != 0 ]]; then - echo "Docker is not installed. Please install Docker and try again." - exit 1 -fi +which docker > /dev/null || (echo "Docker is not installed. Please install Docker and try again." && exit 1) + +# check if aws cli is installed +which aws > /dev/null || (echo "AWS CLI is not installed. Please install AWS CLI and try again." && exit 1) + +# import code present in create_iam_role.sh +source ./create_iam_role.sh # check if user has an access key and secret access key echo "This script creates and deploys a Lambda function on your AWS Account. @@ -86,45 +86,6 @@ echo "🚀 Deploy to AWS Lambda" echo "🔑 Retrieve your AWS Account ID" export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) -# -# Create an IAM role for the Lambda function -# -create_lambda_execution_role() { - role_name=$1 - - # Allow the Lambda service to assume the IAM role - cat < trust-policy.json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] -} -EOF - - # Create the IAM role - echo "🔐 Create the IAM role for the Lambda function" - aws iam create-role \ - --role-name $role_name \ - --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 - - # Attach basic permissions to the role - # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs - echo "🔒 Attach basic permissions to the role" - aws iam attach-role-policy \ - --role-name $role_name \ - --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 - - echo "⏰ Waiting 10 secs for IAM role to propagate..." - sleep 10 -} - # Check if the role already exists echo "🔍 Check if a Lambda execution IAM role already exists" aws iam get-role --role-name lambda_basic_execution > /dev/null 2>&1 || create_lambda_execution_role lambda_basic_execution diff --git a/Examples/_MyFirstFunction/create_iam_role.sh b/Examples/_MyFirstFunction/create_iam_role.sh new file mode 100644 index 00000000..908663f1 --- /dev/null +++ b/Examples/_MyFirstFunction/create_iam_role.sh @@ -0,0 +1,38 @@ +# +# Create an IAM role for the Lambda function +# +create_lambda_execution_role() { + role_name=$1 + + # Allow the Lambda service to assume the IAM role + cat < trust-policy.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] +} +EOF + + # Create the IAM role + echo "🔐 Create the IAM role for the Lambda function" + aws iam create-role \ + --role-name $role_name \ + --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 + + # Attach basic permissions to the role + # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs + echo "🔒 Attach basic permissions to the role" + aws iam attach-role-policy \ + --role-name $role_name \ + --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 + + echo "⏰ Waiting 10 secs for IAM role to propagate..." + sleep 10 +} \ No newline at end of file From adad93841384aaec74f7ff3973d8d17ca85d1fab Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 14:03:24 +0100 Subject: [PATCH 09/16] add a note in the readme to explain the IAM role must be present --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index c29b997e..9e14b504 100644 --- a/readme.md +++ b/readme.md @@ -155,6 +155,13 @@ The `--architectures` flag is only required when you build the binary on an Appl Be sure to replace with your actual AWS account ID (for example: 012345678901). +> [!IMPORTANT] +> Before starting, you need the `lambda_basic_execution` IAM role in your AWS account. +> +> You can create this role in two ways: +> 1. Using AWS Console +> 2. Running the setup script at `Examples/_MyFirstFunction/create_iam_role.sh` + 6. Invoke your Lambda function ```bash From 78f44388f66255990a2bf5ade55c0ddb2899d69b Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 14:05:00 +0100 Subject: [PATCH 10/16] clarify --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 9e14b504..24713a68 100644 --- a/readme.md +++ b/readme.md @@ -160,7 +160,7 @@ Be sure to replace with your actual AWS account ID (for exampl > > You can create this role in two ways: > 1. Using AWS Console -> 2. Running the setup script at `Examples/_MyFirstFunction/create_iam_role.sh` +> 2. Running the commands in the setup script at `Examples/_MyFirstFunction/create_iam_role.sh` 6. Invoke your Lambda function From 474f9cf3ebc06d7ce1fcb2ab8e94dc498d807ed6 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 14:36:27 +0100 Subject: [PATCH 11/16] fix shelcheck errors --- Examples/_MyFirstFunction/clean.sh | 17 +++++++++++-- .../create_and_deploy_function.sh | 24 +++++++++++++++---- Examples/_MyFirstFunction/create_iam_role.sh | 19 +++++++++++++-- 3 files changed, 51 insertions(+), 9 deletions(-) diff --git a/Examples/_MyFirstFunction/clean.sh b/Examples/_MyFirstFunction/clean.sh index 2610c054..457e1c8a 100755 --- a/Examples/_MyFirstFunction/clean.sh +++ b/Examples/_MyFirstFunction/clean.sh @@ -1,7 +1,20 @@ -#!/bin/sh +#!/bin/bash +##===----------------------------------------------------------------------===## +## +## This source file is part of the SwiftAWSLambdaRuntime open source project +## +## Copyright (c) 2017-2024 Apple Inc. and the SwiftAWSLambdaRuntime project authors +## Licensed under Apache License v2.0 +## +## See LICENSE.txt for license information +## See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors +## +## SPDX-License-Identifier: Apache-2.0 +## +##===----------------------------------------------------------------------===## echo "This script deletes the Lambda function and the IAM role created in the previous step and deletes the project files." -read -p "Are you you sure you want to delete everything that was created? [y/n] " continue +read -r -p "Are you you sure you want to delete everything that was created? [y/n] " continue if [[ ! $continue =~ ^[Yy]$ ]]; then echo "OK, try again later when you feel ready" exit 1 diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index bd736d80..2c1e3ae1 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -1,4 +1,17 @@ -#!/bin/sh +#!/bin/bash +##===----------------------------------------------------------------------===## +## +## This source file is part of the SwiftAWSLambdaRuntime open source project +## +## Copyright (c) 2017-2024 Apple Inc. and the SwiftAWSLambdaRuntime project authors +## Licensed under Apache License v2.0 +## +## See LICENSE.txt for license information +## See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors +## +## SPDX-License-Identifier: Apache-2.0 +## +##===----------------------------------------------------------------------===## # Stop the script execution if an error occurs set -e -o pipefail @@ -19,7 +32,7 @@ You must have an AWS account and know an AWS access key, secret access key, and These values are read from '~/.aws/credentials'. " -read -p "Are you ready to create your first Lambda function in Swift? [y/n] " continue +read -r -p "Are you ready to create your first Lambda function in Swift? [y/n] " continue if [[ ! $continue =~ ^[Yy]$ ]]; then echo "OK, try again later when you feel ready" exit 1 @@ -84,7 +97,8 @@ echo "🚀 Deploy to AWS Lambda" # retrieve your AWS Account ID echo "🔑 Retrieve your AWS Account ID" -export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) +AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) +export AWS_ACCOUNT_ID # Check if the role already exists echo "🔍 Check if a Lambda execution IAM role already exists" @@ -97,8 +111,8 @@ aws lambda create-function \ --zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ --runtime provided.al2 \ --handler provided \ ---architectures $(uname -m) \ ---role arn:aws:iam::${AWS_ACCOUNT_ID}:role/lambda_basic_execution > /dev/null 2>&1 +--architectures "$(uname -m)" \ +--role arn:aws:iam::"${AWS_ACCOUNT_ID}":role/lambda_basic_execution > /dev/null 2>&1 echo "⏰ Waiting 10 secs for the Lambda function to be ready..." sleep 10 diff --git a/Examples/_MyFirstFunction/create_iam_role.sh b/Examples/_MyFirstFunction/create_iam_role.sh index 908663f1..8d57436e 100644 --- a/Examples/_MyFirstFunction/create_iam_role.sh +++ b/Examples/_MyFirstFunction/create_iam_role.sh @@ -1,3 +1,18 @@ +#!/bin/bash +##===----------------------------------------------------------------------===## +## +## This source file is part of the SwiftAWSLambdaRuntime open source project +## +## Copyright (c) 2017-2024 Apple Inc. and the SwiftAWSLambdaRuntime project authors +## Licensed under Apache License v2.0 +## +## See LICENSE.txt for license information +## See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors +## +## SPDX-License-Identifier: Apache-2.0 +## +##===----------------------------------------------------------------------===## + # # Create an IAM role for the Lambda function # @@ -23,14 +38,14 @@ EOF # Create the IAM role echo "🔐 Create the IAM role for the Lambda function" aws iam create-role \ - --role-name $role_name \ + --role-name "${role_name}" \ --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 # Attach basic permissions to the role # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs echo "🔒 Attach basic permissions to the role" aws iam attach-role-policy \ - --role-name $role_name \ + --role-name "${role_name}" \ --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 echo "⏰ Waiting 10 secs for IAM role to propagate..." From 63e48c5b462c121c876db656775532631097fc37 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 14:40:26 +0100 Subject: [PATCH 12/16] fix shellcheck --- Examples/_MyFirstFunction/create_and_deploy_function.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 2c1e3ae1..7e32eb9b 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -23,6 +23,7 @@ which docker > /dev/null || (echo "Docker is not installed. Please install Dock which aws > /dev/null || (echo "AWS CLI is not installed. Please install AWS CLI and try again." && exit 1) # import code present in create_iam_role.sh +# shellcheck source=./create_iam_role.sh source ./create_iam_role.sh # check if user has an access key and secret access key From 1b16e5e0005d4aa853b487faf68b2d821a8cc71d Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 14:44:08 +0100 Subject: [PATCH 13/16] fix spellcheck --- Examples/_MyFirstFunction/create_and_deploy_function.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 7e32eb9b..28dc7bf8 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -23,8 +23,7 @@ which docker > /dev/null || (echo "Docker is not installed. Please install Dock which aws > /dev/null || (echo "AWS CLI is not installed. Please install AWS CLI and try again." && exit 1) # import code present in create_iam_role.sh -# shellcheck source=./create_iam_role.sh -source ./create_iam_role.sh +source create_iam_role.sh # check if user has an access key and secret access key echo "This script creates and deploys a Lambda function on your AWS Account. From 1cca1753a7e7137a0b346e1c53df8e880666025d Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 15:18:32 +0100 Subject: [PATCH 14/16] fix shellcheck --- .../create_and_deploy_function.sh | 220 +++++++++++------- Examples/_MyFirstFunction/create_iam_role.sh | 53 ----- 2 files changed, 141 insertions(+), 132 deletions(-) delete mode 100644 Examples/_MyFirstFunction/create_iam_role.sh diff --git a/Examples/_MyFirstFunction/create_and_deploy_function.sh b/Examples/_MyFirstFunction/create_and_deploy_function.sh index 28dc7bf8..eb8f6d4f 100755 --- a/Examples/_MyFirstFunction/create_and_deploy_function.sh +++ b/Examples/_MyFirstFunction/create_and_deploy_function.sh @@ -16,38 +16,74 @@ # Stop the script execution if an error occurs set -e -o pipefail -# check if docker is installed -which docker > /dev/null || (echo "Docker is not installed. Please install Docker and try again." && exit 1) - -# check if aws cli is installed -which aws > /dev/null || (echo "AWS CLI is not installed. Please install AWS CLI and try again." && exit 1) - -# import code present in create_iam_role.sh -source create_iam_role.sh - -# check if user has an access key and secret access key -echo "This script creates and deploys a Lambda function on your AWS Account. - -You must have an AWS account and know an AWS access key, secret access key, and an optional session token. -These values are read from '~/.aws/credentials'. -" - -read -r -p "Are you ready to create your first Lambda function in Swift? [y/n] " continue -if [[ ! $continue =~ ^[Yy]$ ]]; then - echo "OK, try again later when you feel ready" - exit 1 -fi - -echo "⚡️ Create your Swift Lambda project" -swift package init --type executable --name MyLambda > /dev/null - -echo "📦 Add the AWS Lambda Swift runtime to your project" -# The following commands are commented out until the `lambad-init` plugin will be release -# swift package add-dependency https://github.com/swift-server/swift-aws-lambda-runtime.git --branch main -# swift package add-dependency https://github.com/swift-server/swift-aws-lambda-events.git --branch main -# swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime -# swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events -cat < Package.swift +check_prerequisites() { + # check if docker is installed + which docker > /dev/null || (echo "Docker is not installed. Please install Docker and try again." && exit 1) + + # check if aws cli is installed + which aws > /dev/null || (echo "AWS CLI is not installed. Please install AWS CLI and try again." && exit 1) + + # check if user has an access key and secret access key + echo "This script creates and deploys a Lambda function on your AWS Account. + + You must have an AWS account and know an AWS access key, secret access key, and an optional session token. + These values are read from '~/.aws/credentials'. + " + + read -r -p "Are you ready to create your first Lambda function in Swift? [y/n] " continue + if [[ ! $continue =~ ^[Yy]$ ]]; then + echo "OK, try again later when you feel ready" + exit 1 + fi +} + +create_lambda_execution_role() { + role_name=$1 + + # Allow the Lambda service to assume the IAM role + cat < trust-policy.json +{ + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Principal": { + "Service": "lambda.amazonaws.com" + }, + "Action": "sts:AssumeRole" + } + ] +} +EOF + + # Create the IAM role + echo "🔐 Create the IAM role for the Lambda function" + aws iam create-role \ + --role-name "${role_name}" \ + --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 + + # Attach basic permissions to the role + # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs + echo "🔒 Attach basic permissions to the role" + aws iam attach-role-policy \ + --role-name "${role_name}" \ + --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 + + echo "⏰ Waiting 10 secs for IAM role to propagate..." + sleep 10 +} + +create_swift_project() { + echo "⚡️ Create your Swift Lambda project" + swift package init --type executable --name MyLambda > /dev/null + + echo "📦 Add the AWS Lambda Swift runtime to your project" + # The following commands are commented out until the `lambad-init` plugin will be release + # swift package add-dependency https://github.com/swift-server/swift-aws-lambda-runtime.git --branch main + # swift package add-dependency https://github.com/swift-server/swift-aws-lambda-events.git --branch main + # swift package add-target-dependency AWSLambdaRuntime MyLambda --package swift-aws-lambda-runtime + # swift package add-target-dependency AWSLambdaEvents MyLambda --package swift-aws-lambda-events + cat < Package.swift // swift-tools-version:6.0 import PackageDescription @@ -73,10 +109,10 @@ let package = Package( ) EOF -echo "📝 Write the Swift code" -# The following command is commented out until the `lambad-init` plugin will be release -# swift package lambda-init --allow-writing-to-package-directory -cat < Sources/main.swift + echo "📝 Write the Swift code" + # The following command is commented out until the `lambad-init` plugin will be release + # swift package lambda-init --allow-writing-to-package-directory + cat < Sources/main.swift import AWSLambdaRuntime let runtime = LambdaRuntime { @@ -87,46 +123,72 @@ let runtime = LambdaRuntime { try await runtime.run() EOF -echo "📦 Compile and package the function for deployment (this might take a while)" -swift package archive --allow-network-connections docker > /dev/null 2>&1 - -# -# Now the function is ready to be deployed to AWS Lambda -# -echo "🚀 Deploy to AWS Lambda" - -# retrieve your AWS Account ID -echo "🔑 Retrieve your AWS Account ID" -AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) -export AWS_ACCOUNT_ID - -# Check if the role already exists -echo "🔍 Check if a Lambda execution IAM role already exists" -aws iam get-role --role-name lambda_basic_execution > /dev/null 2>&1 || create_lambda_execution_role lambda_basic_execution - -# Create the Lambda function -echo "🚀 Create the Lambda function" -aws lambda create-function \ ---function-name MyLambda \ ---zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ ---runtime provided.al2 \ ---handler provided \ ---architectures "$(uname -m)" \ ---role arn:aws:iam::"${AWS_ACCOUNT_ID}":role/lambda_basic_execution > /dev/null 2>&1 - -echo "⏰ Waiting 10 secs for the Lambda function to be ready..." -sleep 10 - -# Invoke the Lambda function -echo "🔗 Invoke the Lambda function" -aws lambda invoke \ ---function-name MyLambda \ ---cli-binary-format raw-in-base64-out \ ---payload '"Lambda Swift"' \ -output.txt > /dev/null 2>&1 - -echo "👀 Your Lambda function returned:" -cat output.txt && rm output.txt - -echo "" -echo "🎉 Done! Your first Lambda function in Swift is now deployed on AWS Lambda. 🚀" + echo "📦 Compile and package the function for deployment (this might take a while)" + swift package archive --allow-network-connections docker > /dev/null 2>&1 +} + +deploy_lambda_function() { + echo "🚀 Deploy to AWS Lambda" + + # retrieve your AWS Account ID + echo "🔑 Retrieve your AWS Account ID" + AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) + export AWS_ACCOUNT_ID + + # Check if the role already exists + echo "🔍 Check if a Lambda execution IAM role already exists" + aws iam get-role --role-name lambda_basic_execution > /dev/null 2>&1 || create_lambda_execution_role lambda_basic_execution + + # Create the Lambda function + echo "🚀 Create the Lambda function" + aws lambda create-function \ + --function-name MyLambda \ + --zip-file fileb://.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip \ + --runtime provided.al2 \ + --handler provided \ + --architectures "$(uname -m)" \ + --role arn:aws:iam::"${AWS_ACCOUNT_ID}":role/lambda_basic_execution > /dev/null 2>&1 + + echo "⏰ Waiting 10 secs for the Lambda function to be ready..." + sleep 10 +} + +invoke_lambda_function() { + # Invoke the Lambda function + echo "🔗 Invoke the Lambda function" + aws lambda invoke \ + --function-name MyLambda \ + --cli-binary-format raw-in-base64-out \ + --payload '"Lambda Swift"' \ + output.txt > /dev/null 2>&1 + + echo "👀 Your Lambda function returned:" + cat output.txt && rm output.txt +} + +main() { + # + # Check prerequisites + # + check_prerequisites + + # + # Create the Swift project + # + create_swift_project + + # + # Now the function is ready to be deployed to AWS Lambda + # + deploy_lambda_function + + # + # Invoke the Lambda function + # + invoke_lambda_function + + echo "" + echo "🎉 Done! Your first Lambda function in Swift is now deployed on AWS Lambda. 🚀" +} + +main "$@" \ No newline at end of file diff --git a/Examples/_MyFirstFunction/create_iam_role.sh b/Examples/_MyFirstFunction/create_iam_role.sh deleted file mode 100644 index 8d57436e..00000000 --- a/Examples/_MyFirstFunction/create_iam_role.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -##===----------------------------------------------------------------------===## -## -## This source file is part of the SwiftAWSLambdaRuntime open source project -## -## Copyright (c) 2017-2024 Apple Inc. and the SwiftAWSLambdaRuntime project authors -## Licensed under Apache License v2.0 -## -## See LICENSE.txt for license information -## See CONTRIBUTORS.txt for the list of SwiftAWSLambdaRuntime project authors -## -## SPDX-License-Identifier: Apache-2.0 -## -##===----------------------------------------------------------------------===## - -# -# Create an IAM role for the Lambda function -# -create_lambda_execution_role() { - role_name=$1 - - # Allow the Lambda service to assume the IAM role - cat < trust-policy.json -{ - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Principal": { - "Service": "lambda.amazonaws.com" - }, - "Action": "sts:AssumeRole" - } - ] -} -EOF - - # Create the IAM role - echo "🔐 Create the IAM role for the Lambda function" - aws iam create-role \ - --role-name "${role_name}" \ - --assume-role-policy-document file://trust-policy.json > /dev/null 2>&1 - - # Attach basic permissions to the role - # The AWSLambdaBasicExecutionRole policy grants permissions to write logs to CloudWatch Logs - echo "🔒 Attach basic permissions to the role" - aws iam attach-role-policy \ - --role-name "${role_name}" \ - --policy-arn arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole > /dev/null 2>&1 - - echo "⏰ Waiting 10 secs for IAM role to propagate..." - sleep 10 -} \ No newline at end of file From a301109c0be9298407b0fc27883162f3b6d09b31 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Fri, 20 Dec 2024 15:20:35 +0100 Subject: [PATCH 15/16] update ref to script --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 24713a68..be4d59a8 100644 --- a/readme.md +++ b/readme.md @@ -160,7 +160,7 @@ Be sure to replace with your actual AWS account ID (for exampl > > You can create this role in two ways: > 1. Using AWS Console -> 2. Running the commands in the setup script at `Examples/_MyFirstFunction/create_iam_role.sh` +> 2. Running the commands in the `create_lambda_execution_role()` function in `Examples/_MyFirstFunction/create_iam_role.sh` 6. Invoke your Lambda function From 17f6b46b914bc3036e18dd181b5c03c53cae85b4 Mon Sep 17 00:00:00 2001 From: Sebastien Stormacq Date: Tue, 24 Dec 2024 12:36:16 +0100 Subject: [PATCH 16/16] added all changes suggested by Tim --- .../Documentation.docc/Deployment.md | 48 ++++++++++++++----- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md index 0bd478ec..b44db1dc 100644 --- a/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md +++ b/Sources/AWSLambdaRuntimeCore/Documentation.docc/Deployment.md @@ -54,6 +54,20 @@ Here is the content of this guide: } ``` +3. A Swift Lambda function to deploy. + + You need a Swift Lambda function to deploy. If you don't have one yet, you can use one of the examples in the [Examples](https://github.com/swift-server/swift-aws-lambda-runtime/tree/main/Examples) directory. + + Compile and package the function using the following command + + ```sh + swift package archive --allow-network-connections docker + ``` + + This command creates a ZIP file with the compiled Swift code. The ZIP file is located in the `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip` folder. + + The name of the ZIP file depends on the target name you entered in the `Package.swift` file. + ## Choosing the AWS Region where to deploy [AWS Global infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/) spans over 34 geographic Regions (and continuously expanding). When you create a resource on AWS, such as a Lambda function, you have to select a geographic region where the resource will be created. The two main factors to consider to select a Region are the physical proximity with your users and geographical compliance. @@ -70,6 +84,8 @@ When you create a Lambda function, you must specify an execution role. This role ## Deploy your Lambda function with the AWS Console +In this section, we deploy the HelloWorld example function using the AWS Console. The HelloWorld function is a simple function that takes a `String` as input and returns a `String`. + Authenticate on the AWS console using your IAM username and password. On the top right side, select the AWS Region where you want to deploy, then navigate to the Lambda section. ![Console - Select AWS Region](console-10-regions) @@ -91,7 +107,7 @@ On the right side, select **Upload from** and select **.zip file**. ![Console - select zip file](console-40-select-zip-file) -Select the zip file created with the `swift package archive --allow-network-connections docker` command. This file is located in your project folder at `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip`. The name of the ZIP file depends on the target name you entered in the `Package.swift` file. +Select the zip file created with the `swift package archive --allow-network-connections docker` command as described in the [Prerequisites](#prerequisites) section. Select **Save** @@ -101,7 +117,7 @@ You're now ready to test your function. ### Invoke the function -Select the **Test** tab in the console and prepare a payload to send to your Lambda function. In this example, you've deployed the [HelloWorld](Exmaples.HelloWorld/README.md) example function. The function expects a `String` as input parameter and returns a `String`. +Select the **Test** tab in the console and prepare a payload to send to your Lambda function. In this example, you've deployed the [HelloWorld](Exmaples.HelloWorld/README.md) example function. As explained, the function takes a `String` as input and returns a `String`. we will therefore create a test event with a JSON payload that contains a `String`. Select **Create new event**. Enter an **Event name**. Enter `"Swift on Lambda"` as **Event JSON**. Note that the payload must be a valid JSON document, hence we use surrounding double quotes (`"`). @@ -109,13 +125,15 @@ Select **Test** on the upper right side of the screen. ![Console - prepare test event](console-60-prepare-test-event) -The response of the invocation and additional meta data appears in the green section of the page. +The response of the invocation and additional meta data appear in the green section of the page. -I can see the response from the Swift code: `Hello Swift on Lambda`. +You can see the response from the Swift code: `Hello Swift on Lambda`. The function consumed 109.60ms of execution time, out of this 83.72ms where spent to initialize this new runtime. This initialization time is known as Lambda cold start time. -> Lambda cold start time refers to the initial delay that occurs when a Lambda function is invoked for the first time or after being idle for a while. Cold starts happen because AWS needs to provision and initialize a new container, load your code, and start your runtime environment (in this case, the Swift runtime). This delay is particularly noticeable for the first invocation, but subsequent invocations (known as "warm starts") are typically much faster because the container and runtime are already initialized and ready to process requests. Cold starts are an important consideration when architecting serverless applications, especially for latency-sensitive workloads. +> Lambda cold start time refers to the initial delay that occurs when a Lambda function is invoked for the first time or after being idle for a while. Cold starts happen because AWS needs to provision and initialize a new container, load your code, and start your runtime environment (in this case, the Swift runtime). This delay is particularly noticeable for the first invocation, but subsequent invocations (known as "warm starts") are typically much faster because the container and runtime are already initialized and ready to process requests. Cold starts are an important consideration when architecting serverless applications, especially for latency-sensitive workloads. Usually, compiled languages, such as Swift, Go, and Rust, have shorter cold start times compared to interpreted languages, such as Python, Java, Ruby, and Node.js. + +```text ![Console - view invocation result](console-70-view-invocation-response) @@ -147,13 +165,14 @@ Select the `HelloWorld-role-xxxx` role and select **Delete**. Confirm the deleti You can deploy your Lambda function using the AWS Command Line Interface (CLI). The CLI is a unified tool to manage your AWS services from the command line and automate your operations through scripts. The CLI is available for Windows, macOS, and Linux. Follow the [installation](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) and [configuration](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) instructions in the AWS CLI User Guide. +In this example, we're building the HelloWorld example from the [Examples](https://github.com/swift-server/swift-aws-lambda-runtime/tree/main/Examples) directory. + ### Create the function To create a function, you must first create the function execution role and define the permission. Then, you create the function with the `create-function` command. -The command assumes you've already created the ZIP file with the `swift package archive --allow-network-connections docker` command. The name and the path of the ZIP file depends on the executable target name you entered in the `Package.swift` file. +The command assumes you've already created the ZIP file with the `swift package archive --allow-network-connections docker` command, as described in the [Prerequisites](#prerequisites) section. - ```sh # enter your AWS Account ID export AWS_ACCOUNT_ID=123456789012 @@ -215,7 +234,7 @@ aws lambda create-function \ The `--architectures` flag is only required when you build the binary on an Apple Silicon machine (Apple M1 or more recent). It defaults to `x64`. -To update the function, use the `update-function-code` command. +To update the function, use the `update-function-code` command after you've recompiled and archived your code again with the `swift package archive` command. ```sh aws lambda update-function-code \ @@ -266,6 +285,8 @@ Use SAM when you want to deploy more than a Lambda function. SAM helps you to cr ### Create the function +We assume your Swift function is compiled and packaged, as described in the [Prerequisites](#prerequisites) section. + When using SAM, you describe the infrastructure you want to deploy in a YAML file. The file contains the definition of the Lambda function, the IAM role, and the permissions needed by the function. The SAM CLI uses this file to package and deploy your function. You can create a SAM template to define a REST API implemented by AWS API Gateway and a Lambda function with the following command @@ -302,10 +323,9 @@ Outputs: EOF ``` -In this example, the Lambda function must accept an APIGateway v2 JSON payload as input parameter and return a valid APIGAteway v2 JSON response. See the example code in the [APIGateway example README file](https://github.com/swift-server/swift-aws-lambda-runtime/blob/main/Examples/APIGateway/README.md). - -To deploy the function with SAM, use the `sam deploy` command. The very first time you deploy a function, you must use the `--guided` flag to configure the deployment. The command will ask you a series of questions to configure the deployment. +In this example, the Lambda function must accept an APIGateway v2 JSON payload as input parameter and return a valid APIGAteway v2 JSON response. See the example code in the [APIGateway example README file](https://github.com/swift-server/swift-aws-lambda-runtime/blob/main/Examples/APIGateway/README.md). +To deploy the function with SAM, use the `sam deploy` command. The very first time you deploy a function, you should use the `--guided` flag to configure the deployment. The command will ask you a series of questions to configure the deployment. Here is the command to deploy the function with SAM: @@ -342,7 +362,7 @@ CloudFormation outputs from deployed stack Outputs -------------------------------------------------------------------------------- Key APIGatewayEndpoint -Description API Gateway endpoint UR" +Description API Gateway endpoint URI" Value https://59i4uwbuj2.execute-api.us-east-1.amazonaws.com -------------------------------------------------------------------------------- @@ -428,6 +448,8 @@ To use the CDK, you need to [install the CDK CLI](https://docs.aws.amazon.com/cd Use the CDK when you want to define your infrastructure in code and manage the deployment of your Lambda function and other AWS services. +This example deploys the [APIGateway]((https://github.com/swift-server/swift-aws-lambda-runtime/blob/main/Examples/APIGateway/) example code. It comprises a Lambda function that implements a REST API and an API Gateway to expose the function over HTTPS. + ### Create a CDK project To create a new CDK project, use the `cdk init` command. The command creates a new directory with the project structure and the necessary files to define your infrastructure. @@ -471,7 +493,7 @@ export class LambdaApiStack extends cdk.Stack { } } ``` -The code assumes you already built the Swift Lambda function with the `swift package archive --allow-network-connections docker` command. The ZIP file is located in the `.build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip` folder. +The code assumes you already built and packaged the APIGateway Lambda function with the `swift package archive --allow-network-connections docker` command, as described in the [Prerequisites](#prerequisites) section. You can write code to add an API Gateway to invoke your Lambda function. The following code creates an HTTP API Gateway that triggers the Lambda function.