برنامه های بدون سرور روشی مدرن برای انجام تجزیه و تحلیل در میان بخش های تجاری و تیم های مهندسی هستند. تیمهای تجاری میتوانند با سادهسازی گزارشهای خود از طریق برنامههای کاربردی وب و توزیع آن بین مخاطبان گستردهتر، بینش معناداری به دست آورند.
موارد استفاده می تواند شامل موارد زیر باشد:
- داشبورد - یک صفحه وب متشکل از جداول و نمودارها که در آن هر جزء می تواند بینش هایی را به یک بخش تجاری خاص ارائه دهد.
- گزارش و تحلیل – برنامه ای که در آن می توانید پرس و جوهای تحلیلی بزرگ را با ورودی های پویا راه اندازی کنید و سپس نتایج را مشاهده یا دانلود کنید.
- سیستم های مدیریت - برنامه ای که دیدی جامع از منابع و سیستم های داخلی شرکت ارائه می دهد.
- گردش کار ETL – یک صفحه وب که در آن افراد داخلی شرکت می توانند بارهای کاری خاص را استخراج، تبدیل و بارگذاری کنند (ETL) در یک محیط کاربر پسند با ورودی های پویا.
- انتزاع داده ها - ساختار و زیرساخت داده های زیربنایی را جدا و بازسازی کنید.
- سهولت استفاده – برنامهای که در آن میخواهید به مجموعه وسیعی از دسترسیهای کنترلشده توسط کاربر به تجزیه و تحلیلها بدون نیاز به ورود هر کاربر به یک پلتفرم فنی، بدهید. به روز رسانی پرس و جو را می توان به صورت سازماندهی شده تکمیل کرد و تعمیر و نگهداری دارای حداقل هزینه است.
در این پست یاد می گیرید که چگونه با استفاده از یک اپلیکیشن تحلیلی بدون سرور بسازید آمازون Redshift Data API و دروازه API آمازون WebSocket و REST API.
آمازون Redshift به طور کامل توسط AWS مدیریت می شود، بنابراین دیگر نیازی به نگرانی در مورد وظایف مدیریت انبار داده مانند تهیه سخت افزار، وصله نرم افزار، راه اندازی، پیکربندی، نظارت بر گره ها و درایوها برای بازیابی از خرابی ها یا پشتیبان گیری ندارید. را API داده دسترسی به Amazon Redshift را ساده می کند زیرا نیازی به پیکربندی درایورها و مدیریت اتصالات پایگاه داده ندارید. درعوض، میتوانید دستورات SQL را به سادگی با فراخوانی یک نقطه پایانی API ایمن ارائهشده توسط Data API، روی یک خوشه Redshift Amazon اجرا کنید. Data API از مدیریت اتصالات پایگاه داده و بافر کردن داده ها مراقبت می کند. Data API ناهمزمان است، بنابراین می توانید نتایج خود را بعداً بازیابی کنید.
API Gateway یک سرویس کاملاً مدیریت شده است که انتشار، نگهداری، نظارت و ایمن سازی API ها را در هر مقیاسی برای توسعه دهندگان آسان می کند. با API Gateway، میتوانید APIهای RESTful و WebSocket APIهایی ایجاد کنید که برنامههای ارتباط دوطرفه بلادرنگ را فعال میکنند. API Gateway از بارهای کاری کانتینری و بدون سرور و همچنین برنامه های کاربردی وب پشتیبانی می کند. API Gateway به عنوان یک پروکسی معکوس برای بسیاری از منابع محاسباتی که AWS ارائه می دهد عمل می کند.
مدل رویداد محور
برنامه های کاربردی رویداد محور به طور فزاینده ای در بین مشتریان محبوب هستند. برنامه های کاربردی وب گزارش تحلیلی را می توان از طریق یک مدل رویداد محور پیاده سازی کرد. برنامه ها در پاسخ به رویدادهایی مانند اقدامات کاربر و رویدادهای پرس و جو غیر قابل پیش بینی اجرا می شوند. جداسازی فرآیندهای تولید کننده و مصرف کننده، انعطاف پذیری بیشتری را در طراحی برنامه کاربردی و ایجاد فرآیندهای جدا شده فراهم می کند. این طراحی را می توان با Data API و API Gateway WebSocket و REST APIها به دست آورد.
هم فراخوانی REST API و هم WebSocket ارتباط بین مشتری و باطن را برقرار می کنند. با توجه به محبوبیت REST، ممکن است تعجب کنید که چرا WebSocket ها وجود دارند و چگونه به طراحی رویداد محور کمک می کنند.
WebSockets چیست و چرا به آنها نیاز داریم؟
هنگام ساخت راه حل های تحلیلی وب، ارتباط یک طرفه مرسوم است. در محیط های سنتی، کلاینت یک فراخوانی REST API را برای اجرای یک پرس و جو در باطن آغاز می کند و به صورت همزمان یا ناهمزمان منتظر تکمیل پرس و جو می ماند. جنبه "انتظار" برای اعمال مفهوم مهندسی شده است رای گیری. نظرسنجی در این زمینه زمانی است که کلاینت نمی داند که یک فرآیند باطن چه زمانی کامل می شود. بنابراین، مشتری به طور مداوم درخواستی را به باطن ارسال می کند و بررسی می کند.
مشکل رای گیری چیست؟ چالش های اصلی شامل موارد زیر است:
- افزایش ترافیک در پهنای باند شبکه شما - تعداد زیادی از کاربران که چک های خالی را انجام می دهند، بر منابع باطن شما تأثیر می گذارد و به خوبی مقیاس نمی شود.
- استفاده از هزینه - درخواست های خالی هیچ ارزشی برای کسب و کار ندارند. شما هزینه های غیرضروری منابع را پرداخت می کنید.
- پاسخ با تاخیر - رای گیری در بازه های زمانی برنامه ریزی شده است. اگر پرس و جو در بین این فواصل کامل باشد، کاربر تنها پس از بررسی بعدی می تواند نتایج را ببیند. این تأخیر بر تجربه کاربر تأثیر می گذارد و در برخی موارد ممکن است به بن بست رابط کاربری منجر شود.
برای اطلاعات بیشتر در مورد نظرسنجی، بررسی کنید از نظرسنجی تا فشار: تبدیل APIها با استفاده از APIهای API Gateway REST و WebSockets آمازون.
WebSockets رویکرد دیگری در مقایسه با REST هنگام برقراری ارتباط بین قسمت جلو و باطن است. WebSockets شما را قادر می سازد یک کانال ارتباطی کامل دوطرفه بین مشتری و سرور ایجاد کنید. در این سناریوی دو طرفه، کلاینت می تواند درخواستی را به سرور ارسال کند و پس از تکمیل فرآیند به او اطلاع داده می شود. تا زمانی که پاسخ دریافت نشود، اتصال با حداقل سربار شبکه باز می ماند.
ممکن است تعجب کنید که چرا REST وجود دارد، زیرا می توانید داده های پاسخ را با WebSockets انتقال دهید. WebSocket یک پروتکل سبک وزن است که برای پیام رسانی بلادرنگ بین سیستم ها طراحی شده است. این پروتکل برای مدیریت داده های پرس و جوی تحلیلی بزرگ طراحی نشده است و در دروازه API، بار هر فریم فقط می تواند تا 32 کیلوبایت نگه دارید. بنابراین، REST API بازیابی داده های بزرگ را انجام می دهد.
با استفاده از Data API و API Gateway، می توانید برنامه های وب مبتنی بر رویداد جدا شده را برای نیازهای تحلیلی داده خود بسازید. می توانید API های WebSocket را با API Gateway ایجاد کنید و بین سرویس گیرنده و خدمات باطن خود ارتباط برقرار کنید. سپس می توانید درخواست هایی را برای انجام پرس و جوهای تحلیلی با Data API آغاز کنید. با توجه به ماهیت ناهمزمان Data API، تکمیل پرس و جو یک رویداد ایجاد می کند تا از طریق کانال WebSocket به مشتری اطلاع دهد. مشتری می تواند تصمیم بگیرد که نتایج پرس و جو را از طریق تماس REST API بازیابی کند یا سایر اقدامات بعدی را انجام دهد. معماری رویداد محور، پیامها و دادههای قابل تعامل دوطرفه را در حالی که اجزای سیستم شما را ناشناس نگه میدارد، فعال میکند.
بررسی اجمالی راه حل
در این پست، نحوه ایجاد یک برنامه وب رویداد محور بدون سرور را با پرس و جو با Data API در بکاند، ایجاد یک کانال ارتباطی دو طرفه بین کاربر و بکاند با ویژگی WebSocket در API Gateway و بازیابی نتایج با استفاده از آن نشان میدهیم. ویژگی REST API آن. به جای طراحی اپلیکیشن با تماس های طولانی مدت API، می توانید از Data API استفاده کنید. Data API به شما اجازه می دهد تا پرس و جوهای SQL را به صورت ناهمزمان اجرا کنید و نیاز به نگه داشتن اتصالات طولانی و پایدار پایگاه داده را از بین ببرید.
برنامه وب با استفاده از محافظت می شود Cognito آمازون، که برای احراز هویت کاربران قبل از استفاده از برنامه وب و همچنین مجوز تماس های REST API هنگام برقراری از برنامه استفاده می شود.
سایر خدمات مرتبط AWS در این راه حل عبارتند از AWS لامبدا و پل رویداد آمازون. Lambda یک منبع محاسباتی بدون سرور و رویداد محور است که به شما امکان می دهد کد را بدون تهیه یا مدیریت سرورها اجرا کنید. EventBridge یک گذرگاه رویداد بدون سرور است که به شما امکان میدهد برنامههای رویداد محور بسازید.
این راه حل یک اتصال WebSocket سبک وزن بین مرورگر و باطن ایجاد می کند. هنگامی که کاربر درخواستی را با استفاده از WebSockets به باطن ارسال می کند، یک پرس و جو به Data API ارسال می شود. هنگامی که پرس و جو کامل شد، Data API یک اعلان رویداد را به EventBridge ارسال می کند. EventBridge به سیستم سیگنال می دهد که داده ها در دسترس هستند و به مشتری اطلاع می دهد. پس از آن، یک تماس REST API برای بازیابی نتایج پرس و جو برای مشاهده مشتری انجام می شود.
ما این راه حل را در سایت منتشر کرده ایم AWS نمونه های مخزن GitHub و در ادامه این پست به آن اشاره خواهد کرد.
نمودار معماری زیر راه حل انتها به انتها را برجسته می کند که می توانید به طور خودکار آن را تهیه کنید AWS CloudFormation قالب ها به عنوان بخشی از اسکریپت پوسته با برخی از متغیرهای پارامتر اجرا می شوند.
برنامه مراحل زیر را انجام می دهد (به مراحل شماره گذاری شده مربوطه در جریان فرآیند توجه کنید):
- یک برنامه وب ارائه شده است AWS تقویت کنید; کاربر باید ابتدا با ارائه ایمیل و رمز عبور برای دسترسی به سایت ثبت نام کند.
- کاربر اعتبار خود را با استفاده از پین ارسال شده به ایمیل خود تأیید می کند. این مرحله برای کاربر الزامی است که سپس وارد برنامه شده و دسترسی به سایر ویژگی های برنامه را ادامه دهد.
- پس از ثبتنام و تأیید کاربر، میتواند وارد برنامه شود و دادهها را از طریق کلاینتهای وب یا تلفن همراه خود با پارامترهای ورودی درخواست کند. این یک اتصال WebSocket را در API Gateway آغاز می کند. (جریان 1، 2)
- درخواست اتصال توسط یک تابع Lambda مدیریت می شود،
OnConnect
، که یک پرس و جو پایگاه داده ناهمزمان را در Amazon Redshift با استفاده از Data API آغاز می کند. پرس و جوی SQL از یک اسکریپت SQL در گرفته شده است سرویس ذخیره سازی ساده آمازون (Amazon S3) با ورودی پویا از مشتری. (جریان 3، 4، 6، 7) - علاوه بر این،
OnConnect
تابع Lambda اتصال، شناسه دستورات و نام موضوع را در یک ذخیره می کند آمازون DynamoDB پایگاه داده نام موضوع یک پارامتر اضافی است که اگر کاربران بخواهند چندین گزارش را در یک صفحه وب پیادهسازی کنند، میتوان از آن استفاده کرد. این به قسمت جلویی اجازه میدهد تا پاسخها را به گزارش صحیح ترسیم کند. (جریان 3، 4، 5) - Data API کوئری را که در مرحله 2 ذکر شد اجرا می کند. وقتی عملیات کامل شد، یک اعلان رویداد به EventBridge ارسال می شود. (جریان 8)
- EventBridge یک قانون رویداد را فعال می کند تا آن رویداد را به تابع Lambda دیگری هدایت کند.
SendMessage
. (جریان 9) - La
SendMessage
تابع از طریق API Gateway به مشتری اطلاع می دهد که پرس و جوی SQL کامل شده است. (جریان 10، 11، 12) - پس از دریافت اعلان، مشتری یک تماس REST API (GET) برای واکشی نتایج انجام می دهد. (جریان 13، 14، 15، 16)
- La
GetResult
تابع راه اندازی می شود، که نتیجه پرس و جو SQL را بازیابی می کند و آن را به مشتری برمی گرداند. - کاربر اکنون می تواند نتایج را در صفحه وب مشاهده کند.
- هنگامی که کلاینت ها از مرورگر خود جدا می شوند، API Gateway به طور خودکار اطلاعات اتصال را از جدول DynamoDB با استفاده از
onDisconnect
تابع. (جریان 17، 18,19،XNUMX)
پیش نیازها
قبل از استقرار برنامه وب رویداد محور خود، مطمئن شوید که موارد زیر را دارید:
- یک خوشه Amazon Redshift در محیط AWS شما - این راه حل ذخیره سازی داده های پشتیبان شما برای اجرای پرس و جوهای تحلیلی شما است. برای دستورالعملهای ایجاد خوشه آمازون Redshift خود، به شروع کار با Amazon Redshift.
- یک سطل S3 که به آن دسترسی دارید - سطل S3 راه حل ذخیره سازی اشیاء شما خواهد بود که در آن می توانید اسکریپت های SQL خود را ذخیره کنید. برای ایجاد سطل S3 خود به اولین سطل S3 خود را ایجاد کنید.
استقرار الگوهای CloudFormation
کد مرتبط با طرح در زیر موجود است مخزن GitHub. می توانید مخزن را در داخل یک کلون کنید AWS Cloud9 محیط در حساب AWS ما. محیط AWS Cloud9 همراه است رابط خط فرمان AWS (AWS CLI) نصب شده است که برای اجرای قالب های CloudFormation برای راه اندازی زیرساخت AWS استفاده می شود. مطمئن شوید که کتابخانه jQuery نصب شده است. ما از آن برای تجزیه خروجی JSON در طول اجرای اسکریپت استفاده می کنیم.
معماری کامل با استفاده از سه الگوی CloudFormation تنظیم شده است:
- cognito-setup.yaml - استخر کاربر Amazon Cognito را به مشتری برنامه وب ایجاد می کند که برای احراز هویت و محافظت از REST API استفاده می شود.
- backend-setup.yaml - تمام توابع مورد نیاز Lambda و WebSocket و Rest API ها را ایجاد می کند و آنها را در API Gateway پیکربندی می کند.
- webapp-setup.yaml – میزبانی برنامه وب را با استفاده از Amplify برای اتصال و ارتباط با WebSocket و Rest API ایجاد می کند.
این الگوهای CloudFormation با استفاده از اسکریپت پوسته اسکریپت، که تمام وابستگی ها را در صورت لزوم مراقبت می کند.
یک الگوی عمومی برای شما ارائه شده است تا بتوانید اسکریپت های DDL SQL خود و همچنین اسکریپت های SQL پرس و جو خود را سفارشی کنید. ما نمونه اسکریپت ها را برای شما ایجاد کرده ایم که می توانید آنها را دنبال کنید.
- نمونه اسکریپت DDL را دانلود کنید و آن را در یک سطل S3 موجود آپلود کنید.
- مقدار نقش IAM را به نقش IAM خوشه آمازون Redshift خود با مجوزها تغییر دهید
AmazonS3ReadOnlyAccess
.
برای این پست، ما کپی می کنیم داده های تاکسی نیویورک 2015 مجموعه داده از یک سطل عمومی S3.
- نمونه اسکریپت پرس و جو را دانلود کنید و آن را در یک سطل S3 موجود آپلود کنید.
- اسکریپت DDL نمونه اصلاح شده و اسکریپت پرس و جوی نمونه را در یک سطل S3 از قبل موجود که متعلق به شماست آپلود کنید و مسیر S3 URI را یادداشت کنید.
اگر می خواهید نسخه سفارشی شده خود را اجرا کنید، DDL و اسکریپت پرس و جو را متناسب با سناریوی خود تغییر دهید.
- ویرایش la
script.sh
قبل از اجرای آن فایل کنید و مقادیر پارامترهای زیر را تنظیم کنید:
-
- RedshiftClusterEndpoint (aws_redshift_cluster_ep) – نقطه پایانی خوشه آمازون Redshift شما در دسترس است کنسول مدیریت AWS
- نام DBU (aws_dbuser_name) – نام کاربری پایگاه داده Amazon Redshift شما
- DDBTableName (aws_ddbtable_name) – نام جدول DynamoDB شما که ایجاد خواهد شد
- WebsocketEndpointSSMPparameterName (aws_wsep_param_name) – نام پارامتری که نقطه پایانی WebSocket را در آن ذخیره می کند AWS Systems Manager Parameter Store.
- RestApiEndpointSSMPparameterName (aws_rapiep_param_name) – نام پارامتری که نقطه پایانی REST API را در Parameter Store ذخیره می کند.
- مسیر DDLScriptS3 (aws_ddl_script_path) – URI S3 به اسکریپت DDL که آپلود کردید.
- QueryScriptS3Path (aws_query_script_path) – URI S3 به اسکریپت درخواستی که آپلود کردید.
- AWSRegion (aws_region) - منطقه ای که زیرساخت AWS در آن راه اندازی می شود.
- CognitoPoolName (aws_user_pool_name) - نامی که می خواهید به مجموعه کاربران آمازون Cognito خود بدهید
- ClientAppName (aws_client_app_name) - نام برنامه مشتری برای پیکربندی برنامه وب به منظور کنترل احراز هویت کاربر برای کاربران
مقادیر قابل قبول پیش فرض قبلاً به عنوان بخشی از کد دانلود شده ارائه شده است.
- اسکریپت را با استفاده از دستور زیر اجرا کنید:
در طول استقرار، AWS CloudFormation تابع Lambda را ایجاد و راهاندازی میکند SetupRedshiftLambdaFunction
، که یک جدول پایگاه داده Amazon Redshift را تنظیم می کند و داده ها را در جدول پر می کند. نمودار زیر این فرآیند را نشان می دهد.
از برنامه دمو استفاده کنید
وقتی اسکریپت پوسته کامل شد، میتوانید با برنامه وب آزمایشی تعامل برقرار کنید:
- در کنسول Amplify، در زیر همه برنامه ها در قسمت ناوبری، را انتخاب کنید Demo App.
- را انتخاب کنید اجرای ساخت.
برنامه وب DemoApp مرحله ای از Provision، Build، Deploy را طی می کند.
- پس از تکمیل، از URL ارائه شده برای دسترسی به برنامه وب استفاده کنید.
تصویر زیر صفحه برنامه وب را نشان می دهد. حداقل عملکرد را دارد: می توانید وارد شوید، ثبت نام کنید یا یک کاربر را تأیید کنید.
- را انتخاب کنید ثبت نام.
- برای آدرس ایمیل، یک ایمیل وارد کنید.
- برای کلمه عبور، رمز عبوری را وارد کنید که حداقل هشت کاراکتر، حداقل یک حرف بزرگ و کوچک، حداقل یک عدد و حداقل یک کاراکتر خاص داشته باشد.
- را انتخاب کنید بیایید ثبت نام کنیم.
La ورود به برنامه آزمایشی خود را تأیید کنید صفحه باز می شود
- ایمیل خود و کد تایید ارسال شده به ایمیلی که مشخص کرده اید را وارد کنید.
- را انتخاب کنید تایید.
شما به یک صفحه ورود هدایت می شوید.
- با استفاده از اطلاعات کاربری خود وارد شوید.
شما به مسیر هدایت می شوید demoPage.html
وب سایت.
- را انتخاب کنید اتصال را باز کنید.
اکنون یک اتصال WebSocket فعال بین مرورگر و محیط AWS خود دارید.
- برای ماه سفریک ماه (برای این مثال، دسامبر) را مشخص کرده و انتخاب کنید ارسال.
اکنون ماه و سالی را که میخواهید از دادههای خود پرس و جو کنید، تعریف کردهاید. پس از چند ثانیه، می توانید خروجی ارائه شده از WebSocket را مشاهده کنید.
میتوانید از اتصال فعال WebSocket برای درخواستهای بیشتر استفاده کنید—فقط یک ماه دیگر را انتخاب کنید و انتخاب کنید ارسال دوباره.
- وقتی کارتان تمام شد، انتخاب کنید بستن اتصال برای بستن اتصال WebSocket.
برای اهداف اکتشافی، در حالی که اتصال WebSocket شما فعال است، می توانید به جدول DynamoDB خود در کنسول DynamoDB بروید تا مواردی را که در حال حاضر ذخیره شده اند مشاهده کنید. پس از بسته شدن اتصال WebSocket، موارد ذخیره شده در DynamoDB حذف می شوند.
پاک کردن
برای پاکسازی منابع خود، مراحل زیر را انجام دهید:
- در کنسول آمازون S3، به سطل S3 حاوی نمونه اسکریپت DDL و اسکریپت پرس و جو بروید و آنها را از سطل حذف کنید.
- در کنسول Redshift آمازون، به خوشه Amazon Redshift خود بروید و دادههایی را که از نمونه اسکریپت DDL کپی کردهاید حذف کنید.
- دویدن
truncate nyc_yellow_taxi;
- دویدن
drop table nyc_yellow_taxi;
- دویدن
- در کنسول AWS CloudFormation، به پشته های CloudFormation بروید و انتخاب کنید حذف. پشته ها را به ترتیب زیر حذف کنید:
WebappSetup
BackendSetup
CognitoSetup
تمام منابع ایجاد شده در این راه حل حذف خواهند شد.
نظارت
میتوانید رویدادهای برنامه وب رویداد محور، فعالیت کاربر و استفاده از API را نظارت کنید CloudWatch آمازون و AWS CloudTrail. بسیاری از نواحی این راه حل قبلاً دارای ورود به سیستم هستند. برای مشاهده گزارش های API Gateway خود، می توانید CloudWatch Logs را روشن کنید. لامبدا با ثبت و نظارت پیش فرض همراه است و می تواند باشد با CloudWatch قابل دسترسی است.
دوربین های مداربسته
میتوانید با استفاده از Amazon Cognito، که یک راه حل برای احراز هویت، مجوز و مدیریت کاربر مبتنی بر توسعهدهنده و مقرون به صرفه است، دسترسی به برنامه را ایمن کنید. هم گزینه های ذخیره هویت و هم فدراسیون را فراهم می کند که می توانند به راحتی مقیاس شوند. Amazon Cognito از ورود به سیستم با ارائه دهندگان هویت اجتماعی و ارائه دهندگان هویت مبتنی بر SAML یا OIDC پشتیبانی می کند و از استانداردهای انطباق مختلف پشتیبانی می کند. این بر اساس استانداردهای هویت باز (OAuth2.0، SAML 2.0، و OpenID Connect) عمل می کند. همچنین میتوانید آن را با API Gateway ادغام کنید تا تماسهای REST API را با استفاده از برنامه مشتری آمازون Cognito یا تابع Lambda احراز هویت و مجاز کنید.
ملاحظات
ماهیت این برنامه شامل یک کلاینت جلویی است که پرس و جوهای SQL را به Amazon Redshift مقداردهی می کند. یک مؤلفه مهم که باید در نظر گرفته شود، فعالیت های مخرب احتمالی است که مشتری می تواند انجام دهد، مانند تزریق SQL. با اجرای فعلی، این امکان پذیر نیست. در این راه حل، کوئری های SQL از قبل در محیط AWS شما وجود دارند و عبارت های DQL هستند (داده ها یا ساختار را تغییر نمی دهند). با این حال، همانطور که این برنامه کاربردی را متناسب با کسب و کار خود توسعه می دهید، باید این حوزه های ریسک را ارزیابی کنید.
AWS انواع خدمات امنیتی را ارائه می دهد تا به شما کمک کند تا بارهای کاری و برنامه های خود را در فضای ابری ایمن کنید سپر AWS, فایروال شبکه AWS, فایروال برنامه وب AWS، و بیشتر. برای اطلاعات بیشتر و فهرست کامل به ادامه مطلب مراجعه کنید امنیت، هویت و انطباق در AWS.
بهینه سازی هزینه
سرویسهای AWS که قالبهای CloudFormation در این راهحل ارائه میکنند، همگی بدون سرور هستند. از نظر بهینه سازی هزینه، شما فقط برای چیزی که استفاده می کنید پرداخت می کنید. این مدل همچنین به شما امکان می دهد بدون مداخله دستی مقیاس بندی کنید. برای تعیین قیمت مربوط به هر سرویس، صفحات زیر را مرور کنید:
نتیجه
در این پست، نحوه ایجاد یک برنامه رویداد محور با استفاده از Amazon Redshift Data API و API Gateway WebSocket و REST را به شما نشان دادیم. این راه حل به شما کمک می کند تا برنامه های کاربردی وب تحلیلی داده را در معماری رویداد محور بسازید، برنامه خود را جدا کنید، فرآیندهای جستجوی پایگاه داده طولانی مدت را بهینه کنید و از درخواست های نظرسنجی غیرضروری بین مشتری و باطن اجتناب کنید.
شما همچنین از فناوریهای بدون سرور، API Gateway، Lambda، DynamoDB و EventBridge استفاده کردید. در طول این فرآیند نیازی به مدیریت یا ارائه هیچ سروری ندارید.
این معماری بدون سرور مبتنی بر رویداد، توسعهپذیری و سادگی بیشتری را ارائه میکند و حفظ و انتشار ویژگیهای جدید را آسانتر میکند. افزودن اجزای جدید یا محصولات شخص ثالث نیز ساده شده است.
با دستورالعملهای این پست و قالبهای کلی CloudFormation که ارائه کردهایم، میتوانید برنامه رویداد محور خود را متناسب با کسبوکارتان سفارشی کنید. برای بازخورد یا مشارکت، از شما استقبال می کنیم که از طریق این شماره با ما تماس بگیرید AWS نمونه های مخزن GitHub by ایجاد یک مسئله.
درباره نویسنده
دیوید ژانگ یک معمار داده AWS در خدمات مالی جهانی است. او در طراحی و پیاده سازی زیرساخت های تجزیه و تحلیل بدون سرور، مدیریت داده ها، ETL و سیستم های کلان داده تخصص دارد. او به مشتریان کمک می کند تا پلتفرم های داده خود را در AWS مدرن کنند. دیوید همچنین یک سخنران فعال و مشارکت کننده در کنفرانس های AWS، محتوای فنی و ابتکارات منبع باز است. او در اوقات فراغت به بازی های والیبال، تنیس و وزنه برداری علاقه دارد. با خیال راحت با او در ارتباط باشید لینک.
مناش دب مدیر توسعه نرم افزار در تیم خدمات دایرکتوری AWS است. با بیش از 18 سال تجربه توسعه نرم افزار، اشتیاق او طراحی و ارائه برنامه های کاربردی بسیار مقیاس پذیر، ایمن و بدون تعمیر و نگهداری در فضای تجزیه و تحلیل هویت و داده AWS است. او عاشق راهنمایی و مربیگری دیگران است و به عنوان یک کاتالیزور و افزایش نیرو، رهبری تیم های مهندسی با انگیزه بالا و ساختن سیستم های توزیع شده در مقیاس بزرگ را دوست دارد.
پاوان کومار وادوپو لاکشمان مانیکیا یک معمار راه حل های AWS است که به مشتریان کمک می کند راه حل های قوی و مقیاس پذیر در صنایع مختلف طراحی کنند. پاوان با سابقهای در معماری سازمانی و توسعه نرمافزار، در ایجاد راهحلهایی برای مدیریت امنیت API، مدیریت API، میکروسرویسها و موارد استفاده از سیستم اطلاعات جغرافیایی برای مشتریان خود مشارکت داشته است. او مشتاق یادگیری فناوریهای جدید و حل، خودکارسازی و سادهسازی مشکلات مشتری با استفاده از این راهحلها است.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/big-data/build-a-serverless-analytics-application-with-amazon-redshift-and-amazon-api-gateway/
- 1
- 10
- 100
- 11
- 7
- 9
- a
- قادر
- درباره ما
- قابل قبول
- دسترسی
- حساب
- دست
- در میان
- عمل
- اقدامات
- فعال
- فعالیت ها
- فعالیت
- اعمال
- اضافه
- اضافی
- پس از
- معرفی
- اجازه دادن
- اجازه می دهد تا
- قبلا
- آمازون
- دروازه API آمازون
- Cognito آمازون
- در میان
- تحلیلی
- علم تجزیه و تحلیل
- و
- و زیرساخت
- دیگر
- API
- رابط های برنامه کاربردی
- نرم افزار
- کاربرد
- برنامه های کاربردی
- درخواست
- روش
- معماری
- مناطق
- ظاهر
- مرتبط است
- حضار
- تصدیق کردن
- تصدیق
- مجوز
- اجازه دادن
- بطور خودکار
- اتوماسیون
- در دسترس
- AWS
- AWS Cloud9
- AWS CloudFormation
- بخش مدیریت
- زمینه
- پشتیبان گیری
- زیرا
- قبل از
- بودن
- میان
- بزرگ
- بزرگ داده
- گسترده تر
- مرورگر
- ساختن
- بنا
- اتوبوس
- کسب و کار
- صدا
- فراخوانی
- تماس ها
- اهميت دادن
- موارد
- کاتالیست
- چالش ها
- کانال
- شخصیت
- کاراکتر
- نمودار
- بررسی
- چک
- را انتخاب کنید
- مشتری
- مشتریان
- نزدیک
- بسته
- ابر
- Cloud9
- خوشه
- مربیگری
- رمز
- ارتباط
- ارتباط
- شرکت
- مقایسه
- کامل
- تکمیل شده
- اتمام
- انطباق
- جزء
- اجزاء
- محاسبه
- مفهوم
- همایش ها
- پیکر بندی
- اتصال
- ارتباط
- اتصالات
- در نظر بگیرید
- شامل
- کنسول
- مصرف کننده
- تماس
- محتوا
- زمینه
- ادامه دادن
- کمک
- کمک
- مشارکت
- شرکت کننده
- متناظر
- هزینه
- مقرون به صرفه
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- مجوزها و اعتبارات
- جاری
- در حال حاضر
- مشتری
- مشتریان
- سفارشی
- سفارشی
- داده ها
- تجزیه و تحلیل داده ها
- مدیریت اطلاعات
- انبار داده
- پایگاه داده
- داود
- دسامبر
- به طور پیش فرض
- تاخیر
- ارائه
- تحویل داده
- تحویل
- نسخه ی نمایشی
- بخش
- گروه ها
- گسترش
- استقرار
- گسترش
- طرح
- طراحی
- طراحی
- مشخص کردن
- برنامه نویس
- توسعه
- توسعه دهندگان
- پروژه
- مختلف
- توزیع شده
- سیستم های توزیع شده
- توزیع
- نمی کند
- آیا
- پایین
- دانلود
- درایور
- در طی
- پویا
- هر
- آسان تر
- به آسانی
- هر دو
- پست الکترونیک
- قادر ساختن
- فعال
- را قادر می سازد
- پشت سر هم
- نقطه پایانی
- مهندسی
- اطمینان حاصل شود
- وارد
- سرمایه گذاری
- محیط
- محیط
- ایجاد
- ایجاد
- اتر (ETH)
- ارزیابی
- واقعه
- حوادث
- مثال
- موجود
- تجربه
- اضافی
- عصاره
- ویژگی
- امکانات
- فدراسیون
- باز خورد
- کمی از
- پرونده
- مالی
- خدمات مالی
- نام خانوادگی
- مناسب
- انعطاف پذیری
- جریان
- به دنبال
- پیروی
- استحکام
- رایگان
- از جانب
- جلو
- پایان جلو
- کامل
- کاملا
- تابع
- قابلیت
- توابع
- افزایش
- دروازه
- تولید می کند
- دریافت کنید
- GitHub
- دادن
- جهانی
- مالی جهانی
- می رود
- بیشتر
- دسته
- اداره
- سخت افزار
- داشتن
- کمک
- کمک می کند
- های لایت
- خیلی
- نگه داشتن
- جامع
- میزبانی وب
- چگونه
- چگونه
- اما
- HTML
- HTTPS
- IAM
- شناسه
- هویت
- تأثیر
- اثرات
- انجام
- پیاده سازی
- اجرا
- اجرای
- مهم
- in
- شامل
- شامل
- از جمله
- به طور فزاینده
- افراد
- لوازم
- اطلاعات
- شالوده
- وارد کردن
- شروع می کند
- ابتکارات
- ورودی
- بینش
- در عوض
- دستورالعمل
- ادغام
- تعامل
- داخلی
- متقابل
- مداخله
- IT
- اقلام
- جی کوئری
- json
- نگهداری
- دانستن
- بزرگ
- در مقیاس بزرگ
- برجسته
- یاد گرفتن
- یادگیری
- نامه
- کتابخانه
- سبک
- سبک وزن
- لاین
- لینک
- فهرست
- بار
- طولانی
- دیگر
- ساخته
- اصلی
- حفظ
- نگهداری
- ساخت
- باعث می شود
- ساخت
- مدیریت
- اداره می شود
- مدیریت
- راه حل مدیریت
- مدیر
- مدیریت
- اجباری
- روش
- کتابچه راهنمای
- بسیاری
- نقشه
- معنی دار
- ذکر شده
- آموزش
- پیام
- پیام
- خدمات میکرو
- حداقل
- موبایل
- مدل
- نوین کردن
- اصلاح شده
- تغییر
- مانیتور
- نظارت بر
- ماه
- بیش
- اکثر
- انگیزه
- چندگانه
- نام
- طبیعت
- هدایت
- جهت یابی
- نیاز
- نیازهای
- شبکه
- جدید
- ویژگی های جدید
- فناوری های نوین
- بعد
- گره
- اخطار
- عدد
- شماره گذاری شده
- هدف
- ذخیره سازی شی
- ارائه
- پیشنهادات
- پردازنده
- ONE
- باز کن
- منبع باز
- باز می شود
- عمل می کند
- عمل
- بهینه سازی
- بهینه سازی
- گزینه
- سفارش
- سازمان یافته
- دیگر
- دیگران
- خود
- قطعه
- پارامتر
- پارامترهای
- بخش
- شور
- احساساتی
- کلمه عبور
- پچ کردن
- مسیر
- پرداخت
- انجام دادن
- انجام
- انجام می دهد
- مجوز
- فاز
- سکو
- سیستم عامل
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- نظرسنجی
- استخر
- محبوب
- محبوبیت
- ممکن
- پست
- پتانسیل
- در حال حاضر
- قیمت گذاری
- مشکل
- مشکلات
- روند
- فرآیندهای
- تهيه كننده
- محصولات
- محفوظ
- حفاظت
- پروتکل
- ارائه
- ارائه دهندگان
- فراهم می کند
- ارائه
- تدارک
- پروکسی
- عمومی
- منتشر کردن
- منتشر شده
- اهداف
- فشار
- زمان واقعی
- اخذ شده
- بهبود یافتن
- تغییر مسیر
- Refactor
- منطقه
- آزاد
- مربوط
- بقایای
- از بین بردن
- گزارش
- گزارش
- گزارش ها
- مخزن
- درخواست
- درخواست
- ضروری
- منابع
- منابع
- پاسخ
- REST
- نتیجه
- نتایج
- بازده
- معکوس
- این فایل نقد می نویسید:
- خطر
- تنومند
- نقش
- قانون
- دویدن
- همان
- مقیاس پذیر
- مقیاس
- برنامه ریزی
- اسکریپت
- ثانیه
- امن
- امن
- تیم امنیت لاتاری
- بدون سرور
- سرویس
- خدمات
- تنظیم
- مجموعه
- برپایی
- صدف
- باید
- نشان
- نشان می دهد
- امضاء
- سیگنال
- امضاء شده
- ساده
- سادگی
- ساده شده
- ساده
- به سادگی
- پس از
- سایت
- So
- آگاهی
- نرم افزار
- توسعه نرم افزار
- راه حل
- مزایا
- حل کردن
- برخی از
- فضا
- گوینده
- ویژه
- تخصص دارد
- خاص
- مشخص شده
- SQL
- پشته
- استانداردهای
- شروع
- آغاز شده
- بیانیه
- اظهارات
- گام
- مراحل
- ذخیره سازی
- opbevare
- ذخیره شده
- پرده
- ساختار
- ارسال
- چنین
- پشتیبانی از
- سیستم
- سیستم های
- جدول
- طراحی شده
- طول می کشد
- وظایف
- تیم
- تیم ها
- فنی
- فن آوری
- قالب
- قالب
- تنیس
- قوانین و مقررات
- La
- شان
- از این رو
- شخص ثالث
- سه
- از طریق
- سراسر
- زمان
- به
- موضوع
- سنتی
- ترافیک
- انتقال
- دگرگون کردن
- ماشه
- باعث شد
- ui
- زیر
- اساسی
- غیرقابل پیش بینی
- به روز رسانی
- آپلود شده
- URI
- URL
- us
- استفاده
- استفاده کنید
- کاربر
- سابقه کاربر
- کاربر پسند
- کاربران
- استفاده کنید
- ارزش
- ارزشها
- تنوع
- مختلف
- تایید
- تایید
- بررسی
- نسخه
- از طريق
- چشم انداز
- انبار کالا
- مدیریت انبار
- انبارداری
- وب
- برنامه تحت وب
- برنامه های وب
- سایت اینترنتی
- سوکت وب
- وزن
- خوش آمد
- چی
- که
- در حین
- WHO
- اراده
- بدون
- یامل
- سال
- سال
- شما
- زفیرنت