日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

无需再忙了:Lambda-S3缩略图,由SLAppForge Sigma钉牢!

發(fā)布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 无需再忙了:Lambda-S3缩略图,由SLAppForge Sigma钉牢! 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果你還沒有注意到了,我最近被嘮叨試圖開始使用時,我遭遇了陷阱AWSλ-S3正式例子 。 雖然大多數(shù)這些愚蠢的錯誤的指責(zé)是對我自己的懶惰,過度自尊和缺乏對細(xì)節(jié)的關(guān)注,我個人覺得,在開始與一家領(lǐng)先的無服務(wù)器供應(yīng)商不應(yīng)該是那么難。

我在SLAppForge的團(tuán)隊(duì)也是如此 。 他們建立了Sigma來實(shí)現(xiàn)這一目標(biāo)。

(警告:貓從書包里拿出來了!)

讓我們看看Sigma可以做什么, 使您的無服務(wù)器生活變得輕松 。

Sigma已經(jīng)提供了S3縮略圖樣本的現(xiàn)成版本 。 如果您愿意的話,按照自述文件的說明 ,部署它只需幾分鐘。

在此討論中,讓我們采用一種更動手的方法:從原始縮略圖樣本中獲取代碼,將其粘貼到Sigma中,然后將其部署到AWS中 -上一次我嘗試在該塊中運(yùn)行的過程完全相同。 。

如您所知 ,Sigma代表您管理與應(yīng)用有關(guān)的許多“幕后”工作,包括功能許可, 觸發(fā)器配置和相關(guān)資源 。 這取決于代碼中遵循的某些語法準(zhǔn)則,幸運(yùn)的是,這些準(zhǔn)則非常簡單和普通。 因此,我們要做的就是獲取原始源代碼,將其粘貼到Sigma中,然后進(jìn)行一些調(diào)整和拖放配置 ,而Sigma將理解并處理其余的內(nèi)容。

如果您還沒有這樣做,現(xiàn)在是注冊Sigma的絕佳時機(jī),這樣我們就可以開始以無服務(wù)器的出色表現(xiàn)激發(fā)您的靈感。 (除了繁瑣的工作,您確實(shí)需要一個Sigma帳戶才能訪問IDE 。)請參閱此小型指南 。

進(jìn)入后,只需從AWS文檔中復(fù)制S3縮略圖示例代碼,然后將其推入Sigma的喉嚨即可。

編輯本來會很平淡無聊,但現(xiàn)在開始顯示一些有趣的東西。 特別是在編輯區(qū)域的左邊界。

頂部的閃電符號(與帶有突出顯示的event變量的函數(shù)標(biāo)題相對)表示觸發(fā)器 ; lambda函數(shù)的調(diào)用(入口)點(diǎn)。 盡管這不是功能本身的一部分,但仍應(yīng)使用必要的源(S3存儲桶),目標(biāo)(lambda函數(shù))和權(quán)限來正確配置它。

好消息是,使用Sigma,您只需要指示源(S3存儲桶)配置即可 ; Sigma將負(fù)責(zé)其余的工作。

此時,閃電符號為紅色,表示尚未配置觸發(fā)器 。 只需將S3條目從左窗格拖到上一行(函數(shù)標(biāo)題),以向Sigma指示此lambda應(yīng)該由S3事件觸發(fā)。

一旦完成拖放操作,Sigma就會詢問您缺失的謎題:即S3存儲桶(應(yīng)作為lambda的觸發(fā)點(diǎn))以及觸發(fā)該操作的操作的性質(zhì); 在我們的例子中,這是圖像文件的“對象創(chuàng)建”事件 。

在指定源存儲桶時,Sigma提供了兩種選擇:您可以選擇

  • 通過下拉列表(“ 現(xiàn)有存儲桶”標(biāo)簽)選擇一個現(xiàn)有存儲桶 ,或
  • 通過“ New Bucket”選項(xiàng)卡定義一個新的存儲桶名稱,以便Sigma在項(xiàng)目部署中重新創(chuàng)建它。

由于“圖像文件”類別涉及多種文件類型,因此我們需要為lambda定義多個觸發(fā)器,每個觸發(fā)器對應(yīng)于不同的文件類型。 (不幸的是,S3觸發(fā)??器尚不支持文件名前綴/后綴的模式 ;如果支持 ,則可以只使用一個觸發(fā)器!)因此,讓我們首先通過選擇“創(chuàng)建對象”作為事件來定義JPG文件的觸發(fā)器,然后輸入“ .png”作為后綴,然后拖放并配置另一個觸發(fā)器,以“ .jpg”作為后綴-您猜對了,就是JPG文件。

選擇第二個觸發(fā)器的存儲桶時,需要記住一點(diǎn):即使為第一個觸發(fā)器輸入了新的存儲桶名稱,也必須從“現(xiàn)有存儲桶”選項(xiàng)卡中選擇相同的,已經(jīng)定義的存儲桶。第二個觸發(fā)條件,而不是再次將存儲桶名稱作為“新”存儲桶提供。 原因是Sigma會跟蹤每個新定義的資源(因?yàn)樗仨氃诓渴饡r創(chuàng)建存儲桶),并且,如果兩次定義一個新存儲桶,Sigma將會感到“困惑”,并且部署可能無法按計(jì)劃進(jìn)行。 為減輕歧義,當(dāng)我們在現(xiàn)有存儲桶列表下顯示新定義的存儲桶時,我們將其標(biāo)記為“((新)”)(例如,新添加的my-new-bucket my-new-bucket (New) )–至少對于現(xiàn)在,直到我們找到更好的選擇; 如果您有個不錯的主意,請隨時加入! 。

現(xiàn)在兩個觸發(fā)器都已準(zhǔn)備就緒,我們可以繼續(xù)進(jìn)行操作了 。

您可能已經(jīng)注意到編輯器的左窗格中兩個S3圖標(biāo),它們在觸發(fā)指示器的下方,緊靠s3.getObject和s3.putObject調(diào)用。 這兩個操作的參數(shù)塊也將突出顯示。 這表明Sigma已經(jīng)確定了API調(diào)用,并可以通過自動生成必要的提示使它們正常工作(例如執(zhí)行權(quán)限)來幫助您。

單擊第一個圖標(biāo)(與s3.getObject )以打開操作編輯彈出窗口。 我們要做的就是為Bucket參數(shù)選擇正確的存儲桶名稱(同樣,請確保在“現(xiàn)有”標(biāo)簽上選擇帶“(新)”前綴的存儲桶,而不是在輸入框上重新輸入存儲桶名稱。 “新”標(biāo)簽),然后點(diǎn)擊更新 。

同樣,使用第二個圖標(biāo)( s3.putObject ),選擇目標(biāo)存儲桶。 由于我們尚未添加或使用目標(biāo)存儲桶定義,因此您將在Sigma中添加新的存儲桶定義。 因此,您可以選擇現(xiàn)有的存儲桶或?yàn)樾碌拇鎯ν懊?#xff0c;就像第一個觸發(fā)器一樣。

僅需一步:添加依賴項(xiàng)。

雖然Sigma為您提供了將第三方依賴項(xiàng)添加到您的項(xiàng)目的功能的出色功能,但它確實(shí)需要在構(gòu)建時知道依賴項(xiàng)的名稱和版本。 由于我們將一個陌生的代碼塊復(fù)制并粘貼到了編輯器中,因此我們應(yīng)該分別告訴Sigma有關(guān)代碼中使用的依賴項(xiàng),以便將它們與我們的項(xiàng)目源捆綁在一起。 只需單擊工具欄上的“添加依賴項(xiàng)”按鈕,搜索依賴項(xiàng)并單擊“添加”,所有添加的依賴項(xiàng)(以及兩個默認(rèn)值aws-sdk和@slappforge/slappforge-sdk )都將顯示在依賴項(xiàng)下拉列表中-在“添加依賴項(xiàng)”按鈕下。

在本例中,必須遵循原始的AWS示例準(zhǔn)則 ,我們必須添加async (對于瀑布式執(zhí)行流)和gm (對于GraphicsMagick )依賴項(xiàng)。

做完了!

現(xiàn)在剩下的就是單擊IDE工具欄上的Deploy按鈕,使輪子運(yùn)動!

首先,Sigma將把應(yīng)用程序源保存(提交)到您的GitHub存儲庫中。 因此,請確保在Sigma要求您提供一個不錯的提交消息時:)您也可以選擇自己喜歡的回購名稱,如果不存在,Sigma會創(chuàng)建它。 (但是,在遇到“空”存儲庫(即沒有主分支的倉庫)時,Sigma有一個已知的故障,因此,如果您有全新的存儲庫,請確保對主分支進(jìn)行至少一次提交;最簡單的方法是創(chuàng)建自述文件,只需在創(chuàng)建回購文件時單擊一下即可輕松完成 。)

保存完成后,Sigma將自動構(gòu)建您的項(xiàng)目,并打開一個部署摘要彈出窗口,其中顯示與新的S3縮略圖生成器有關(guān)的所有內(nèi)容。 一些名稱看起來有些亂七八糟,但它們通常會反映已部署資源的類型和名稱(例如s3MyAwesomeBucket可能代表一個名為my-awesome-bucket的新S3存儲my-awesome-bucket )。

查看列表(如果您愿意),然后單擊Deploy 。 部署機(jī)制將啟動,顯示實(shí)時進(jìn)度欄(以及顯示項(xiàng)目基礎(chǔ)CloudFormation堆棧中發(fā)生的更改的日志視圖)。

部署完成后,您期待已久的縮略圖生成器lambda就可以進(jìn)行測試了! 只需將JPG或PNG文件上傳到您選擇的源存儲桶(通過S3控制臺 ,或者如果您更像我,則通過aws s3 cp ),然后驚嘆于將在目標(biāo)存儲桶中彈出的縮略圖秒!

如果在目標(biāo)存儲桶中沒有發(fā)現(xiàn)任何有趣的東西(稍等一會兒),則可以像檢查其他lambda一樣檢查lambda的執(zhí)行日志 ,以檢查出了什么問題。 我們知道回到AWS控制臺執(zhí)行此操作是很痛苦的,我們也希望很快找到一種更酷的替代方法。

如果您想將生成的縮略圖公開(就像我在前一篇文章中所說的那樣,私有縮略圖有什么用?),您不必四處閱讀IAM文檔,更新IAM角色并擺脫困境。 只需單擊s3.putObject調(diào)用上的S3操作編輯圖標(biāo),從s3.putObject列表中選擇“ public-read應(yīng)用于對象的ACL”參數(shù)作為public-read ,然后單擊“ Deploy”經(jīng)歷另一個保存-構(gòu)建-部署周期。 (我們已經(jīng)在努力加快這些“零錢”部署的速度,所以現(xiàn)在就讓我們?nèi)淌?#xff1a;))新部署完成后,要查看任何新生成的縮略圖,您只需輸入URL http://<bucketname>.s3.amazonaws.com/resized-<original image name>放入您喜歡的Web瀏覽器,然后按Enter!

哦,如果您遇到任何異常情況-提交/構(gòu)建/部署失敗,異常錯誤或Sigma自身的錯誤-別忘了通過Slack對我們進(jìn)行ping操作或?qū)栴}發(fā)布到我們的公共問題跟蹤器上 ; 您可以使用“幫助”→“報(bào)告問題”菜單項(xiàng)直接在IDE中進(jìn)行操作。 對于您以后希望在Sigma中看到的任何改進(jìn)或出色功能,也是如此:更快的構(gòu)建和部署,下載構(gòu)建/部署工件的能力,嶄新的主題集等等。 請告訴我們,我們會將其添加到待辦事項(xiàng)中,并在不遠(yuǎn)的將來嘗試一下!

好的,各位,是時候回去開始與Sigma一起玩了 ,而我寫了我的下一篇博客文章! 請繼續(xù)關(guān)注SLAppForge的更多信息!

翻譯自: https://www.javacodegeeks.com/2018/03/no-more-running-around-the-block-lambda-s3-thumbnailer-nailed-by-slappforge-sigma.html

總結(jié)

以上是生活随笔為你收集整理的无需再忙了:Lambda-S3缩略图,由SLAppForge Sigma钉牢!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。