# Cloud Developing ## Lab 11.1 Orchestrating Serverless (後來有改到滿分了) ### Error: Academy批改腳本會改到一半自己crash,拒絕繼續往下批改。 ![image](https://hackmd.io/_uploads/rJkrMYGkel.png) 如果把規定的Parallel State名稱中間空格拿掉的話: `Process Report` -> `ProcessReport` 還是會crash,但因為crash比較後面,後面的分數就可以出來,真的是很謎喔。 (感覺是state machine相關的迴圈直接壞掉,如果名稱對了進去會直接撞bug後面沒有分數,不對的話也拿不到state machine的分數...) ![image](https://hackmd.io/_uploads/Skt7AFMyge.png) 仔細看了一下,應該是step function設定語法改了,但教學還是沒有更新: ![image](https://hackmd.io/_uploads/rkC2B9z1gl.png) 如果進academy的terminal,可以看到腳本最後更改日期是在2023的8月: ![image](https://hackmd.io/_uploads/HJofu9zkle.png) AWS Step Function是使用Amazon States Language來描述流程的,但它預設的新JSONata語法在2024/11/22更新了之後,[deprecate了Parameters的這個跟JSONPath相容的參數](https://states-language.net/#november-22-2024),所以沒有更新的舊腳本才會無法正常評分。 但新版Step Function預設並不是直接使用JSONPath,我們要去手動撰寫語法才行,所以我請ChatGPT幫我把語法翻成了JSONPath: ![image](https://hackmd.io/_uploads/Bk1qJofkgg.png) 改完後Parallel State的部份是可以抓到了,只是又變成SNS Publish Action抓不到了(同時我的信箱收到信lol): ![image](https://hackmd.io/_uploads/ByPqRcfyxx.png) 現在他也沒有任何錯誤訊息可以讓我觀落陰,我也是沒辦法了。但關掉lab前我就在想該不會`SNS Publish`單獨改成JSONata語法就能對了吧... ![image](https://hackmd.io/_uploads/r1pEdifygg.png) 理論上我應該是不用交這個檔案了,但我都debug了這麼久,寫了這麼多都沒人看的話總覺得有點可惜,就一起傳了。 感謝助教的閱讀🙏 ### Work - API Gateway的觸發跟State Machine的運作都很正常 ![image](https://hackmd.io/_uploads/BkwcDKGkgx.png) ![image](https://hackmd.io/_uploads/Sy_ADFGyxl.png) ![image](https://hackmd.io/_uploads/HygUYYMJel.png) - 結果也都有出來 ![image](https://hackmd.io/_uploads/SJahKFf1xx.png) ![image](https://hackmd.io/_uploads/ByPouFGkxg.png)