vấn đề này do là khi integration function vào API Gateway, ta không có gán tên function nữa mà ta dùng ${stageVariables.lambda}, nên bên trigger của Lambda nó sẽ báo lỗi như vậy nha bạn, vì nó không hiểu được. Này là một issue của AWS, tương lai chắc nó có thể fix.
@tquangdo à cái profile do mình quên xóa 🤣. Do cái login cái change password thì cần phải có Cognito nữa nha, mà có Cognito thì hai hàm login với change password phải chuyển sang os.GetEnv() thì mới lấy được ClientId của Cognito, cái này mình chưa làm nên mình chưa thêm vào được.
Còn câu này mình chưa hiểu lắm có điều như mình đã CMT dưới, vừa chạy xong terraform thì nó hiện ERR này. Cái này chỉ bị cấp permission để API GW books_list:production trigger Lambda, nếu chỉ làm staging thì KO bị
@hmquan08011996
thanks, mình vừa chạy xong, cơ bản là OK rồi ^^
có điều như mình đã CMT dưới, vừa chạy xong terraform thì nó hiện ERR này. Cái này chỉ bị cấp permission để API GW books_list:production trigger Lambda, nếu chỉ làm staging thì KO bị. Tuy nó ko ảnh hưởng j KQ, nhưng nhìn hơi xấu, nếu có time bạn check lại thì tốt quá ^^
https://viblo.asia/c/W65Ga3D9aZD
main.tf bạn nên xoá profile, vì gây lỗi. Mỗi user đã set global profile của riêng họ rồi
(optional) hiện src code bạn chỉ có list.zip, chưa có login & change PW nên 2 cái này đang bị lỗi CORS
=> biết là scope bài này chỉ đang nói list nhg để có thể demo user lần đầu chạy 1 phát dc luôn KQ từ A->Z thì nếu có time, bạn sửa thêm 2 cái này thì tuyệt quá, có thể demo đi khoe luôn
Đã phising và lấy được secret của users rồi thì web2 hay web3 cũng chịu. Trừ khi hệ thống hỗ trợ thêm MFA. Tuy nhiên bài viết vẫn rất giá trị và hữu ích cho devs. Thanks bạn nhiều!!
Cảm ơn bạn vì bài viết bổ ích cho người mới tìm hiểu về hệ Sol như mình.
Có 1 chi tiết nhỏ ở đầu mình thấy chưa chuẩn là Ethereum vẫn sử dụng cơ chế PoW chứ chưa chạy PoS.
@hmquan08011996
trên tinh thần xây dựng đóng góp thì mình xin share terraform của codebuild & pipeline dựa trên refer code của bạn nhé ^^ (đã chạy OK, trừ phần add thêm policy của codebuild's role thì phải sửa tay ^^)
có thể do mình hơi chậm hiu, nhg mình thấy part này khá phức tạp, dễ loạn vì nó bị chồng chéo staging & production giữa API GW và repo's branch (chưa kể phần alias trong Lambda nữa)
nhờ bạn giải thích thì mình hiu rồi, nhg mình nghĩ nên note thêm vô bài cho rõ hơn, chứ user làm theo chắc sẽ loạn như mình á ^^
@tquangdo à à, này bạn phải làm theo flow là merge từ staging lên nha, nếu mình thay đổi thẳng từ main branch thì nó sẽ không nhận nha. Do bản chất của CI/CD nhánh main nó không có build lại code, mà chỉ lấy version hiện tại của nhánh staging để làm production. Này thì tùy theo luồng CI/CD nha, bạn có thể xây dựng luồng khác
này ở bài 2 mình có nói á, lúc bạn chọn lambda function cho một endpoint thì khi bạn nhấn OK, nó sẽ hiện lên một modal hỏi bạn có muốn thêm quyền vào vào không, bạn xem kĩ lại chỗ đó nha
@hmquan08011996
thanks, phần đó mình đã làm step by step theo OK rồi! ^^
vấn đề bây giờ là mình đang bị như vầy, "Kiểm tra log thử" như bạn ghi thì OK rồi, nhưng chưa bit phải check KQ production ở đâu cả! (mình check bằng hình phải thì thấy KO phản ánh!)
chỉ phản ánh OK staging (trái), còn production (phải) KO phản ánh!
THẢO LUẬN
vấn đề này do là khi integration function vào API Gateway, ta không có gán tên function nữa mà ta dùng ${stageVariables.lambda}, nên bên trigger của Lambda nó sẽ báo lỗi như vậy nha bạn, vì nó không hiểu được. Này là một issue của AWS, tương lai chắc nó có thể fix.
@tquangdo à cái profile do mình quên xóa 🤣. Do cái login cái change password thì cần phải có Cognito nữa nha, mà có Cognito thì hai hàm login với change password phải chuyển sang os.GetEnv() thì mới lấy được ClientId của Cognito, cái này mình chưa làm nên mình chưa thêm vào được. Còn câu này mình chưa hiểu lắm
có điều như mình đã CMT dưới, vừa chạy xong terraform thì nó hiện ERR này. Cái này chỉ bị cấp permission để API GW books_list:production trigger Lambda, nếu chỉ làm staging thì KO bị@hmquan08011996 thanks, mình vừa chạy xong, cơ bản là OK rồi ^^
books_list:productiontrigger Lambda, nếu chỉ làmstagingthì KO bị. Tuy nó ko ảnh hưởng j KQ, nhưng nhìn hơi xấu, nếu có time bạn check lại thì tốt quá ^^ https://viblo.asia/c/W65Ga3D9aZDmain.tfbạn nên xoáprofile, vì gây lỗi. Mỗi user đã set global profile của riêng họ rồilist.zip, chưa cólogin&change PWnên 2 cái này đang bị lỗi CORSBài viết rất dễ hiểu và bổ ích, cảm ơn bạn rất nhiều.
Cảm ơn b
Đã phising và lấy được secret của users rồi thì web2 hay web3 cũng chịu. Trừ khi hệ thống hỗ trợ thêm MFA. Tuy nhiên bài viết vẫn rất giá trị và hữu ích cho devs. Thanks bạn nhiều!!
👍️👍️👍️
💯 Cảm ơn bạn đã góp ý.
Cảm ơn bạn vì bài viết bổ ích cho người mới tìm hiểu về hệ Sol như mình. Có 1 chi tiết nhỏ ở đầu mình thấy chưa chuẩn là Ethereum vẫn sử dụng cơ chế PoW chứ chưa chạy PoS.
good job nha bạn!!!!!!
@hmquan08011996 trên tinh thần xây dựng đóng góp thì mình xin share terraform của codebuild & pipeline dựa trên refer code của bạn nhé ^^ (đã chạy OK, trừ phần add thêm policy của codebuild's role thì phải sửa tay ^^)
mình đã cập nhật lại file Terraform rồi nhé
@hmquan08011996 uh đúng rồi, vì lỗi nên mình buôc phải chạy CMD đó, thấy CMD dài quá mình lười ^^
@tquangdo ok, mình đã thêm note r nhé, sẽ cập nhật lại code của Terraform sau, quên mất vụ API Gateway có 2 Stage trong Terraform 🤣
@hmquan08011996 à ra là vậy, OK mình hiu rồi ^^
này bạn test thử không cần phải chạy câu CMD thêm quyền, thì nó sẽ báo lỗi á
@tquangdo à à, này bạn phải làm theo flow là merge từ staging lên nha, nếu mình thay đổi thẳng từ main branch thì nó sẽ không nhận nha. Do bản chất của CI/CD nhánh main nó không có build lại code, mà chỉ lấy version hiện tại của nhánh staging để làm production. Này thì tùy theo luồng CI/CD nha, bạn có thể xây dựng luồng khác
này ở bài 2 mình có nói á, lúc bạn chọn lambda function cho một endpoint thì khi bạn nhấn OK, nó sẽ hiện lên một modal hỏi bạn có muốn thêm quyền vào vào không, bạn xem kĩ lại chỗ đó nha
@hmquan08011996 thanks, phần đó mình đã làm step by step theo OK rồi! ^^
này bạn xem kĩ phần Lambda alias với Stage Variables ở API Gateway á