در این مطلب، ویدئو یک دوره آموزشی کرش در برنامه های بدون سرور در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:24:31
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,000 –> 00:00:01,949
سلام به همه خوش آمدید متشکرم برای حضور
2
00:00:01,949 –> 00:00:05,640
در اینجا جمعیت بزرگی است نام من
3
00:00:05,640 –> 00:00:07,680
جیمز است متاسفم وینی من یک
4
00:00:07,680 –> 00:00:10,769
مهندس توسعه نرم افزار در AWS هستم من روی
5
00:00:10,769 –> 00:00:12,420
تیم SDK و ابزار کار می کنم بنابراین برخی از
6
00:00:12,420 –> 00:00:14,549
چیزهایی که روی آنها کار می کنم شامل عکس 3
7
00:00:14,549 –> 00:00:17,430
است که AWS است. SDK برای پایتون من
8
00:00:17,430 –> 00:00:19,470
همچنین روی AWS CLI کار میکنم که
9
00:00:19,470 –> 00:00:20,760
رابط خط فرمان ما برای کار با
10
00:00:20,760 –> 00:00:23,130
AWS است و همچنین روی پروژه دیگری
11
00:00:23,130 –> 00:00:25,050
به نام Challis
12
00:00:25,050 –> 00:00:26,519
کار میکنم که یک فریمورک میکرو سرویس برای پایتون است.
13
00:00:26,519 –> 00:00:29,789
امروز به آن میپردازیم، بنابراین بحث امروز یک
14
00:00:29,789 –> 00:00:32,159
دوره آموزشی خرابی در مورد برنامه های بدون سرور در
15
00:00:32,159 –> 00:00:35,219
پایتون، بنابراین شاید اگر در مورد
16
00:00:35,219 –> 00:00:36,420
محاسبات بدون سرور شنیده اید اما
17
00:00:36,420 –> 00:00:39,660
دقیقاً مطمئن نیستید که چیست یا
18
00:00:39,660 –> 00:00:41,430
مزایای آن چیست یا در مورد آن شنیده اید
19
00:00:41,430 –> 00:00:42,750
و واقعاً مطمئن نیستید که چگونه شروع کنید
20
00:00:42,750 –> 00:00:45,510
پس این بحث برای شماست، بنابراین
21
00:00:45,510 –> 00:00:47,129
آنچه که امروز به آن
22
00:00:47,129 –> 00:00:48,750
می پردازیم عمدتاً سه مورد است که
23
00:00:48,750 –> 00:00:50,670
به مروری بر محاسبات خدمات می پردازیم
24
00:00:50,670 –> 00:00:52,559
که برخی از خدمات اصلی است که
25
00:00:52,559 –> 00:00:54,719
پلت فرم محاسباتی سرویس ما را تشکیل می دهند و
26
00:00:54,719 –> 00:00:56,160
سپس ما به طاق خدمات نگاه کنید itecture
27
00:00:56,160 –> 00:00:57,180
و اینکه چگونه میتوانیم به
28
00:00:57,180 –> 00:00:59,100
طراحی برنامههایی برای کار در
29
00:00:59,100 –> 00:01:01,500
محاسبات بدون سرور فکر کنیم و سپس در نهایت
30
00:01:01,500 –> 00:01:03,000
میبینیم که چگونه میتوانیم این مفاهیم را در نظر بگیریم و
31
00:01:03,000 –> 00:01:04,830
در واقع برنامهها را در پایتون
32
00:01:04,830 –> 00:01:06,600
بنویسیم و برخی ابزارها و برخی
33
00:01:06,600 –> 00:01:08,159
چارچوبها را در دسترس خواهیم دید که این کار را
34
00:01:08,159 –> 00:01:10,530
برای ما آسان میکنند. اول اجازه دهید در مورد محاسبات سرویس صحبت کنیم.
35
00:01:10,530 –> 00:01:13,650
من فکر می کنم یکی از
36
00:01:13,650 –> 00:01:15,479
دلایل اصلی که محاسبات دایره
37
00:01:15,479 –> 00:01:17,490
برای مردم واقعاً جذاب است این است که
38
00:01:17,490 –> 00:01:19,710
به شما امکان می دهد
39
00:01:19,710 –> 00:01:21,659
بدون نیاز به مدیریت
40
00:01:21,659 –> 00:01:23,130
سرورها برنامه ایجاد کنید تا نیازی به نگرانی در مورد
41
00:01:23,130 –> 00:01:26,369
چیزهایی مانند خودتان نباشید. لازم نیست
42
00:01:26,369 –> 00:01:28,979
نگران چیزهایی مانند نحوه بهروزرسانی سیستمعامل خود باشید،
43
00:01:28,979 –> 00:01:30,630
نحوه مدیریت بستههای سیستمی، نحوه
44
00:01:30,630 –> 00:01:34,079
مدیریت ناوگان سرورها، بنابراین به این فکر کنید
45
00:01:34,079 –> 00:01:36,030
که چگونه میخواهید مقیاس را
46
00:01:36,030 –> 00:01:37,140
افزایش دهید، زمانی که باید مقیاس را کاهش دهید
47
00:01:37,140 –> 00:01:38,790
و مطمئن شوید که از آن استفاده میکنید. مراقبت از
48
00:01:38,790 –> 00:01:40,890
جزئیات مانند استقرار در چندین
49
00:01:40,890 –> 00:01:42,360
منطقه در دسترس و انجام
50
00:01:42,360 –> 00:01:43,710
بررسی های بهداشتی مناسب به طوری که
51
00:01:43,710 –> 00:01:45,119
52
00:01:45,119 –> 00:01:46,860
شما اساساً در دسترس بودن و تحمل خطای بالایی داشته باشید.
53
00:01:46,860 –> 00:01:48,119
همه اینها و شما این
54
00:01:48,119 –> 00:01:50,610
مسئولیت را به پلتفرم محاسباتی بدون سرور
55
00:01:50,610 –> 00:01:54,060
منتقل می کنید و سرویس اصلی
56
00:01:54,060 –> 00:01:55,290
که زیربنای بسیاری از چیزهایی است
57
00:01:55,290 –> 00:01:57,420
که امروز در مورد آنها صحبت خواهیم کرد،
58
00:01:57,420 –> 00:02:00,180
AWS lambda
59
00:02:00,180 –> 00:02:02,610
است. اینکه
60
00:02:02,610 –> 00:02:04,290
میخواهید لامبدا اجرا شود، آن را به لامبدا
61
00:02:04,290 –> 00:02:07,110
میدهید و سپس آن را به روشهای خاصی پیکربندی میکنید
62
00:02:07,110 –> 00:02:09,060
تا بر اساس رویدادهای خاصی اجرا شود
63
00:02:09,060 –> 00:02:10,169
و ما در بخش دوم اینجا به بسیاری از آنها نگاه میکنیم،
64
00:02:10,169 –> 00:02:12,000
اما یکی از چیزهای دیگری
65
00:02:12,000 –> 00:02:12,890
که در
66
00:02:12,890 –> 00:02:14,510
مورد آن عالی است. lambda این است که شما فقط
67
00:02:14,510 –> 00:02:16,460
برای زمان محاسبه ای که تابع شما
68
00:02:16,460 –> 00:02:18,170
در حال اجرا است پرداخت می کنید، به عنوان مثال اگر من چیزی داشته باشم
69
00:02:18,170 –> 00:02:19,940
که یک ثانیه اجرا
70
00:02:19,940 –> 00:02:21,740
می شود، فقط برای یک ثانیه زمان محاسبه صورتحساب دریافت می
71
00:02:21,740 –> 00:02:23,900
کنم و به
72
00:02:23,900 –> 00:02:26,150
نزدیکترین صد میلی ثانیه گرد می شود، بنابراین اگر ما
73
00:02:26,150 –> 00:02:27,110
شروع می کنیم، بیایید از همان
74
00:02:27,110 –> 00:02:28,819
ابتدا شروع کنیم و سعی کنیم ایجاد کنیم، بنابراین کاری که
75
00:02:28,819 –> 00:02:30,350
ما انجام خواهیم داد این است که یک تابع پایتون معمولی را انتخاب
76
00:02:30,350 –> 00:02:31,700
کنیم و به آرامی شروع به
77
00:02:31,700 –> 00:02:33,380
معرفی لامبدا کنیم و سپس شروع به
78
00:02:33,380 –> 00:02:34,700
ادغام با سرویس های دیگر کنیم و
79
00:02:34,700 –> 00:02:36,230
دیدن چگونه این می تواند در یک برنامه کاربردی سرویس ایجاد شود،
80
00:02:36,230 –> 00:02:39,050
بنابراین بیایید این تابع را
81
00:02:39,050 –> 00:02:41,300
در اینجا بگیریم و اگر فقط با یک
82
00:02:41,300 –> 00:02:43,550
تابع معمولی پایتون شروع کنیم، جایی که این
83
00:02:43,550 –> 00:02:44,930
چیزی به نام Handler را تعریف کرده ایم و دو پارامتر طول می کشد،
84
00:02:44,930 –> 00:02:46,580
ما واقعاً
85
00:02:46,580 –> 00:02:48,260
به پارامتر دوم نگاه نمی کنیم، این فقط است.
86
00:02:48,260 –> 00:02:49,940
رابطی که لامبدا برای
87
00:02:49,940 –> 00:02:51,650
اجرای عملکرد شما برای شما به خوبی نیاز دارد، فرض کنید
88
00:02:51,650 –> 00:02:53,030
من این تابع را در اینجا دارم و این hello world را برمی گرداند
89
00:02:53,030 –> 00:02:55,910
و اگر می خواستم آن را
90
00:02:55,910 –> 00:02:57,410
در یک فایل app dot PI ذخیره کنم و
91
00:02:57,410 –> 00:02:58,940
آن را به صورت محلی اجرا کنم، بسیار ساده است
92
00:02:58,940 –> 00:03:01,040
که فقط در repple که میشناسید،
93
00:03:01,040 –> 00:03:02,330
اگر من در همان برنامه واردات دایرکتوری هستم، پایتون را تایپ کنید
94
00:03:02,330 –> 00:03:04,040
و سپس فقط app dot
95
00:03:04,040 –> 00:03:05,330
Handler را اجرا کنید و این تابع را
96
00:03:05,330 –> 00:03:07,010
برای من اجرا میکند و من نتایجم را
97
00:03:07,010 –> 00:03:08,540
درست برمیگردانم، بنابراین تا اینجای کار،
98
00:03:08,540 –> 00:03:10,400
اگر بخواهم خیلی ساده است.
99
00:03:10,400 –> 00:03:12,370
همین کار را با لامبدا انجام دهید، در
100
00:03:12,370 –> 00:03:15,440
عوض میتوانیم CLI را نصب کنیم، همانطور که اشاره کردم،
101
00:03:15,440 –> 00:03:16,610
این یکی از مواردی است که من
102
00:03:16,610 –> 00:03:18,260
روی آن کار میکنم، بنابراین این یک بسته پایتون است که
103
00:03:18,260 –> 00:03:22,130
از پیپ نصب AWS CLI استفاده میکند و پیکربندی را اجرا میکنید.
104
00:03:22,130 –> 00:03:23,600
و ما
105
00:03:23,600 –> 00:03:25,430
واقعاً وارد بسیاری از جزئیات
106
00:03:25,430 –> 00:03:28,310
خاص در مورد نحوه تنظیم این همه نمی شویم، اما شما
107
00:03:28,310 –> 00:03:29,540
چند سوال را پیکربندی SKU اجرا
108
00:03:29,540 –> 00:03:31,070
می کنید و پس از
109
00:03:31,070 –> 00:03:33,290
آماده شدن می توانید این دستور ایجاد تابع را اجرا کنید.
110
00:03:33,290 –> 00:03:35,570
و کاری که قرار است انجام دهد این است که
111
00:03:35,570 –> 00:03:37,130
شما هر نامی را که می خواهید
112
00:03:37,130 –> 00:03:39,680
به آن بدهید و مسیر import handler را در آنجا به
113
00:03:39,680 –> 00:03:41,060
آن بدهید تا کنترل کننده نقطه برنامه باشد درست مانند آنچه
114
00:03:41,060 –> 00:03:42,650
در repple دیدیم و سپس فایل zip را به آن بدهید
115
00:03:42,650 –> 00:03:44,959
که این فایل است.
116
00:03:44,959 –> 00:03:46,579
در اینجا که در حال حاضر فقط یک فایل است و
117
00:03:46,579 –> 00:03:48,470
ما به طور خاص به
118
00:03:48,470 –> 00:03:50,150
دستورات مربوط به کار کردن همه اینها در
119
00:03:50,150 –> 00:03:51,680
بخش آخر نگاه خواهیم کرد.
120
00:03:51,680 –> 00:03:53,299
121
00:03:53,299 –> 00:03:55,160
122
00:03:55,160 –> 00:03:56,540
اتفاقی که قرار است بیفتد این است که
123
00:03:56,540 –> 00:03:57,980
لامبدا این تابع را برای شما اجرا می کند
124
00:03:57,980 –> 00:03:59,390
و شما همان نتیجه را
125
00:03:59,390 –> 00:04:01,940
دریافت می کنید، اکنون hello world دریافت خواهید کرد اگر بخواهیم
126
00:04:01,940 –> 00:04:04,100
پارامترهای ورودی را در اینجا نقشه برداری کنیم، می توانیم از اولین آرگومان استفاده کنیم که
127
00:04:04,100 –> 00:04:05,600
من
128
00:04:05,600 –> 00:04:06,500
رویداد Arg
129
00:04:06,500 –> 00:04:09,049
را ذکر کردم، بنابراین ارائه می دهم. یک محموله و این فقط
130
00:04:09,049 –> 00:04:10,970
یک آربی است حباب JSON را امتحان کنید، به این صورت است
131
00:04:10,970 –> 00:04:13,070
که شما foo and bar را می شناسید و در اینجا ما
132
00:04:13,070 –> 00:04:14,750
مقدار مربوط به
133
00:04:14,750 –> 00:04:16,820
یک کلید foo را با حروف بزرگ گرفته و آن را برمی گردانیم و
134
00:04:16,820 –> 00:04:19,608
نوار دریافت می کنیم و سپس اگر همان
135
00:04:19,608 –> 00:04:21,470
کار را با ورودی متفاوت انجام دهم من میتوانم نتیجه متفاوتی بگیرم،
136
00:04:21,470 –> 00:04:24,680
بنابراین
137
00:04:24,680 –> 00:04:26,780
وقتی شما با لامبدا تماس میگیرید و رأی میدهید، واقعاً چه اتفاقی میافتد،
138
00:04:26,780 –> 00:04:28,700
139
00:04:28,700 –> 00:04:32,150
اگر
140
00:04:32,150 –> 00:04:33,520
برای اولین بار است که عملکرد را اجرا میکنید،
141
00:04:33,520 –> 00:04:35,690
چند چیز وجود دارد که
142
00:04:35,690 –> 00:04:37,160
ابتدا در اینجا اتفاق میافتد. این کار را انجام دهید تا همه چیز را تنظیم کنید
143
00:04:37,160 –> 00:04:37,490
،
144
00:04:37,490 –> 00:04:39,830
بنابراین اگر لامبدا ببیند که می خواهد
145
00:04:39,830 –> 00:04:41,300
کد شما را اجرا کند،
146
00:04:41,300 –> 00:04:42,740
کد را برای شما دانلود می کند، بنابراین شما کد خود را برای
147
00:04:42,740 –> 00:04:44,240
لامبدا ارسال کرده اید، می توانید آن را مستقیما ارسال کنید
148
00:04:44,240 –> 00:04:46,100
یا می توانید آن را در s3 آپلود کنید و می توانید
149
00:04:46,100 –> 00:04:47,750
بگویید. lambda کد شما کجاست اما
150
00:04:47,750 –> 00:04:49,460
کد را برای شما دانلود می کند،
151
00:04:49,460 –> 00:04:52,030
سپس این محفظه زمان اجرا جدید را شروع می کند تا شما
152
00:04:52,030 –> 00:04:54,770
شروع به بوت استرپ کردن کد خود کنید.
153
00:04:54,770 –> 00:04:56,240
154
00:04:56,240 –> 00:04:57,710
155
00:04:57,710 –> 00:04:59,150
در واقع عملکرد خود را برای شما اجرا کنید
156
00:04:59,150 –> 00:04:59,840
157
00:04:59,840 –> 00:05:02,090
بنابراین اگر شروع به ورود به
158
00:05:02,090 –> 00:05:04,430
برنامههای سورئالیستی کردهاید،
159
00:05:04,430 –> 00:05:06,800
ایده شروع سرد و شروع گرم را میشنوید که
160
00:05:06,800 –> 00:05:08,210
اساساً همین است، بنابراین
161
00:05:08,210 –> 00:05:09,950
اولین باری که کد خود را اجرا میکنید،
162
00:05:09,950 –> 00:05:11,300
مراحل اضافی برای تنظیم
163
00:05:11,300 –> 00:05:12,050
همه چیز باید انجام شود.
164
00:05:12,050 –> 00:05:14,660
با این حال، در فراخوانی بعدی
165
00:05:14,660 –> 00:05:15,800
، فرض کنید اگر قرار بود دوباره این کار را انجام دهم
166
00:05:15,800 –> 00:05:17,720
، اکنون چه اتفاقی میافتد این است که فقط
167
00:05:17,720 –> 00:05:19,490
شروع گرم را اجرا میکند، بنابراین
168
00:05:19,490 –> 00:05:21,200
آن ظرف آماده است و
169
00:05:21,200 –> 00:05:24,290
سپس فقط کد تابع شما را اجرا میکند،
170
00:05:24,290 –> 00:05:26,720
بنابراین شما خواهید دید به طور کلی
171
00:05:26,720 –> 00:05:28,520
زمان پاسخ بسیار سریعتر بستگی به این دارد
172
00:05:28,520 –> 00:05:30,620
که کد شما واقعاً چه کاری انجام می دهد، اما
173
00:05:30,620 –> 00:05:31,729
نکته همه اینها و من می دانم که
174
00:05:31,729 –> 00:05:33,880
بسیار سریع بود، اما نکته این است که
175
00:05:33,880 –> 00:05:36,380
ما تابعی داشتیم که به
176
00:05:36,380 –> 00:05:38,060
صورت محلی روی یک repple اجرا می شد و به متوجه شوید که
177
00:05:38,060 –> 00:05:40,550
در حال اجرا است و لامبدا هنوز هم
178
00:05:40,550 –> 00:05:42,080
همان مفاهیمی است که ما فقط
179
00:05:42,080 –> 00:05:43,760
به
180
00:05:43,760 –> 00:05:45,350
جای اینکه مجبور باشیم او را اجرا کنیم، کد ما را با لامبدا اجرا میکردیم و مجبور نبودیم
181
00:05:45,350 –> 00:05:47,960
مشخص کنیم که چه نمونه سادهای
182
00:05:47,960 –> 00:05:49,160
را میخواهیم اجرا کنیم. باید به سرعت
183
00:05:49,160 –> 00:05:51,560
هر چیزی مانند تعداد
184
00:05:51,560 –> 00:05:53,120
مناطق در دسترس بودن یا هر نوع بررسی سلامت یا
185
00:05:53,120 –> 00:05:55,010
هر چیز دیگری را مشخص کنید که ما فقط
186
00:05:55,010 –> 00:05:57,350
میتوانیم روی کاری که میخواهیم کدمان انجام دهد تمرکز کنیم، بنابراین
187
00:05:57,350 –> 00:05:59,479
اکنون که آن را در اختیار داریم،
188
00:05:59,479 –> 00:06:00,530
میتوانیم ببینیم چگونه میتوانیم آن را انجام دهیم.
189
00:06:00,530 –> 00:06:02,360
ساختن بلوک و سپس شروع به ایجاد
190
00:06:02,360 –> 00:06:04,280
این برنامهها که میتوانند کارهای جالبتری انجام دهند،
191
00:06:04,280 –> 00:06:06,470
بنابراین ما به الگوهای معماری
192
00:06:06,470 –> 00:06:08,120
چند سرور سرور نگاه
193
00:06:08,120 –> 00:06:10,250
میکنیم و وقتی این کار را انجام
194
00:06:10,250 –> 00:06:12,200
دادیم، همچنین باید به این فکر کنیم که چگونه
195
00:06:12,200 –> 00:06:13,940
میتوانیم برنامههای خود را طراحی کنیم تا
196
00:06:13,940 –> 00:06:15,080
از مزیتها استفاده کنیم. بدون سرور
197
00:06:15,080 –> 00:06:17,650
و یکی از چیزهای بزرگ، یکی از
198
00:06:17,650 –> 00:06:19,400
ذهنیت های بزرگی است که شما واقعاً باید داشته
199
00:06:19,400 –> 00:06:20,300
باشید وقتی وارد برنامه های بدون سرور می شوید،
200
00:06:20,300 –> 00:06:22,970
زیرا همه چیز
201
00:06:22,970 –> 00:06:24,289
از نظر رویدادها است، بنابراین احتمالاً ساده ترین
202
00:06:24,289 –> 00:06:26,720
راه برای فکر کردن به این است، به جای
203
00:06:26,720 –> 00:06:28,910
اینکه کد خود را در آن داشته باشید. شما میدانید که یک
204
00:06:28,910 –> 00:06:30,440
وب سرور سنتی یا شاید نوعی از
205
00:06:30,440 –> 00:06:32,060
لایه کارگری در پسزمینه در حال اجرا باشد و به
206
00:06:32,060 –> 00:06:33,890
طور دورهای وظایف را انجام دهد، در
207
00:06:33,890 –> 00:06:35,419
عوض شما این واحدهای کوچک
208
00:06:35,419 –> 00:06:37,280
کار را دارید که فقط ru هستند. n در
209
00:06:37,280 –> 00:06:39,140
پاسخ به چیزی که اتفاق می افتد، بنابراین
210
00:06:39,140 –> 00:06:40,220
فرض کنید یک
211
00:06:40,220 –> 00:06:42,200
درخواست API وارد می شود یا یک تایمر دوره ای
212
00:06:42,200 –> 00:06:44,420
یا در پاسخ به برخی از پیام
213
00:06:44,420 –> 00:06:47,120
ها که در یک صف قرار می گیرند، بنابراین این
214
00:06:47,120 –> 00:06:48,440
اولین چیزی است که شما نیز شروع به
215
00:06:48,440 –> 00:06:50,060
فکر کردن به آن می کنید این است که عملکرد خود را خراب می کنید.
216
00:06:50,060 –> 00:06:51,110
یا برنامه خود را
217
00:06:51,110 –> 00:06:53,030
به چند تابع مستقل تقسیم می
218
00:06:53,030 –> 00:06:54,950
کنید، درست مانند
219
00:06:54,950 –> 00:06:56,750
زمانی که یک ماژول پایتون می نویسید،
220
00:06:56,750 –> 00:06:58,250
کد خود را به چندین تابع
221
00:06:58,250 –> 00:06:59,660
222
00:06:59,660 –> 00:07:01,940
تقسیم می کنید. چند
223
00:07:01,940 –> 00:07:03,830
مثال از نحوه فراخوانی لامبدا
224
00:07:03,830 –> 00:07:06,410
بر اساس آنچه شما میخواهید انجام دهید،
225
00:07:06,410 –> 00:07:07,790
بنابراین سه چیز در اینجا وجود دارد.
226
00:07:07,790 –> 00:07:08,840
227
00:07:08,840 –> 00:07:10,580
228
00:07:10,580 –> 00:07:12,230
229
00:07:12,230 –> 00:07:14,810
از آنها میخواهید
230
00:07:14,810 –> 00:07:16,460
چیزی را برای شما فراخوانی کنند و
231
00:07:16,460 –> 00:07:18,640
تا زمانی که نتیجه را دریافت نکنید، کل چیز مسدود میشود،
232
00:07:18,640 –> 00:07:22,550
بنابراین در این مورد ما از CLI استفاده میکنیم،
233
00:07:22,550 –> 00:07:24,860
اما شاید مورد استفاده رایجتر
234
00:07:24,860 –> 00:07:27,020
درخواست دریافت باشد، بنابراین ما یک درخواست دیگر داریم
235
00:07:27,020 –> 00:07:29,600
. سرویسی به نام دروازه API آمازون و
236
00:07:29,600 –> 00:07:31,400
کاری که این کار انجام می دهد این است که به شما امکان می دهد
237
00:07:31,400 –> 00:07:33,770
برای API خود پشتوانه های مختلفی داشته باشید و یکی
238
00:07:33,770 –> 00:07:35,270
از آنها می تواند لامبدا باشد، بنابراین چیزی که قرار است
239
00:07:35,270 –> 00:07:36,710
اتفاق بیفتد این است که یک کاربر یک درخواست دریافت
240
00:07:36,710 –> 00:07:39,020
کند و به عنوان بخشی از آن
241
00:07:39,020 –> 00:07:41,540
REST API باشد. دروازه API تابع لامبدا را فراخوانی می کند که
242
00:07:41,540 –> 00:07:43,760
تا زمانی که
243
00:07:43,760 –> 00:07:45,290
تابع Lamanite بگوید
244
00:07:45,290 –> 00:07:47,180
داده ها را از یک پایگاه داده بازیابی کنید یا آن را
245
00:07:47,180 –> 00:07:49,100
از منبع داده ای بیرون بکشد و سپس
246
00:07:49,100 –> 00:07:50,270
مقدار را به شما برمی گرداند و سپس
247
00:07:50,270 –> 00:07:52,910
به عنوان یک پاسخ HTTP فرمت می شود تا زمانی که
248
00:07:52,910 –> 00:07:54,650
تابع Lamanite مسدود می کند، فراخوانی می کند. استفاده از case برای استفاده از
249
00:07:54,650 –> 00:07:57,950
فراخوانی لامبدا و همزمان
250
00:07:57,950 –> 00:08:00,830
دومین مورد استفاده از فراخوانی ناهمزمان است،
251
00:08:00,830 –> 00:08:02,300
بنابراین این جایی است که
252
00:08:02,300 –> 00:08:03,800
جدا شدن شما از هر چیزی که باعث می شود
253
00:08:03,800 –> 00:08:06,110
تابع لامبدا شما
254
00:08:06,110 –> 00:08:08,330
در واقع انجام
255
00:08:08,330 –> 00:08:11,060
می دهد اتفاق بیفتد
256
00:08:11,060 –> 00:08:13,160
. در
257
00:08:13,160 –> 00:08:14,330
بخش آخر نگاهی به کدهایی خواهیم داشت
258
00:08:14,330 –> 00:08:17,360
که برای انجام این کار تغییر اندازهدهنده تصویر است، بنابراین ایده این
259
00:08:17,360 –> 00:08:19,790
است که شما اشیاء را بهویژه تصاویر s3
260
00:08:19,790 –> 00:08:21,470
و خود را آپلود کنید. تابع lambda فعال
261
00:08:21,470 –> 00:08:23,330
می شود، یک تصویر کوچک تولید می کند یا
262
00:08:23,330 –> 00:08:24,770
اندازه تصویر شما را تغییر می دهد یا نوعی
263
00:08:24,770 –> 00:08:26,090
پردازش انجام می دهد و سپس آن را در یک سطل دیگر آپلود می کند،
264
00:08:26,090 –> 00:08:28,550
اما آنچه در اینجا اتفاق می افتد این است
265
00:08:28,550 –> 00:08:30,590
که وقتی یک شی را در s3 آپلود می کنید،
266
00:08:30,590 –> 00:08:32,360
فوراً برمی گردد، بنابراین
267
00:08:32,360 –> 00:08:34,039
اگر از AWS استفاده می کنید. CLI یا اگر
268
00:08:34,039 –> 00:08:35,809
از بوتو 3 یا کنسول یا چیزی استفاده
269
00:08:35,809 –> 00:08:37,370
میکنید که فایلی را آپلود میکنید و بلافاصله
270
00:08:37,370 –> 00:08:39,200
درست برمیگردد، ما مسدود نمیکنیم یا
271
00:08:39,200 –> 00:08:40,909
منتظر اتمام لامبدا نیستیم، اما آنچه
272
00:08:40,909 –> 00:08:42,589
در پسزمینه اتفاق میافتد،
273
00:08:42,589 –> 00:08:44,810
s3 سپس با لامبدا تماس میگیرد و میگوید که
274
00:08:44,810 –> 00:08:46,490
رویداد جدیدی وجود دارد که ممکن است به آن
275
00:08:46,490 –> 00:08:48,650
علاقه مند باشید و سپس در کد
276
00:08:48,650 –> 00:08:50,630
ما آن فایل را می گیریم یا آن
277
00:08:50,630 –> 00:08:52,370
را برای دانلود به صورت محلی به یک فایل
278
00:08:52,370 –> 00:08:53,950
می بریم و آن را با
279
00:08:53,950 –> 00:08:56,020
مثلاً بالش یا یک کتابخانه تصویری دیگر پردازش می کنیم
280
00:08:56,020 –> 00:08:58,870
و سپس از آنجا ما آن را در
281
00:08:58,870 –> 00:09:01,270
s3 یا هر جایی که میخواهیم نتایج نهایی خود را ارسال کنیم آپلود میکنیم
282
00:09:01,270 –> 00:09:04,360
و بنابراین در این حالت یکی از
283
00:09:04,360 –> 00:09:05,710
مواردی که باید در نظر داشته باشیم این
284
00:09:05,710 –> 00:09:07,600
است که نتیجه بازگشت در واقع توسط
285
00:09:07,600 –> 00:09:09,190
چیزی که رویداد را آغاز کرده است بررسی نمیشود، اگر
286
00:09:09,190 –> 00:09:11,350
متوجه شدید که اینها کاملاً درست هستند. نمودارهای توالی t دنباله را از
287
00:09:11,350 –> 00:09:12,790
راست می خوانید از چپ به راست از
288
00:09:12,790 –> 00:09:14,230
بالا به پایین می خوانید متوجه می شوید که هیچ
289
00:09:14,230 –> 00:09:15,520
پیکانی به سمت چپ برگشته است،
290
00:09:15,520 –> 00:09:17,410
بنابراین ما در واقع به نتیجه نگاه نمی
291
00:09:17,410 –> 00:09:20,530
کنیم و چیزی است که از
292
00:09:20,530 –> 00:09:21,820
برخی از مدیریت خطاها می گذریم. در اینجا،
293
00:09:21,820 –> 00:09:23,410
اما مواردی برای تکرارهای داخلی ساخته شده است،
294
00:09:23,410 –> 00:09:25,150
بنابراین اگر این کار انجام نشد
295
00:09:25,150 –> 00:09:27,820
، چند بار دوباره امتحان میکند، اما اساساً
296
00:09:27,820 –> 00:09:29,560
کاربر
297
00:09:29,560 –> 00:09:31,450
هیچ اتفاقی را برای این فراخوانی ناهمگام
298
00:09:31,450 –> 00:09:34,710
و آخرین موردی که ما به آن نگاه میکنیم نمیبیند.
299
00:09:34,710 –> 00:09:37,720
استریم یا نظرسنجی است، بنابراین در این
300
00:09:37,720 –> 00:09:40,180
مورد چند سرویس استریم وجود دارد
301
00:09:40,180 –> 00:09:42,280
که منابع استریم را در این
302
00:09:42,280 –> 00:09:44,890
مثال نشان میدهد، ما Amazon sqs داریم که سرویس نشانهگیری ما است،
303
00:09:44,890 –> 00:09:47,020
بنابراین نحوه کار به این صورت است
304
00:09:47,020 –> 00:09:48,730
که میتوانید پیامها را در صف قرار دهید
305
00:09:48,730 –> 00:09:50,410
و سپس در مجموعه دیگر در از طرف دیگر
306
00:09:50,410 –> 00:09:51,880
میتوانید آن پیامها را دریافت کنید و این پیامها
307
00:09:51,880 –> 00:09:54,580
معمولاً نوعی کار پردازشی هستند،
308
00:09:54,580 –> 00:09:56,230
ممکن است نیاز داشته باشید که یک کاربر جدید
309
00:09:56,230 –> 00:09:57,880
برای یک سایت ثبت نام کند یا دادهها و
310
00:09:57,880 –> 00:10:00,820
چیزی وجود دارد که باید تجزیه و تحلیل کنید و
311
00:10:00,820 –> 00:10:02,260
به طور معمول چه اتفاقی میافتد. اگر
312
00:10:02,260 –> 00:10:03,460
از servlet ها استفاده نمی کنید، به
313
00:10:03,460 –> 00:10:05,110
نوعی حق قطبی خواهید داشت، این را خواهید داشت، در حالی که
314
00:10:05,110 –> 00:10:08,440
درست است، می دانید که کلاینت sqs Beaudry
315
00:10:08,440 –> 00:10:10,150
پیام ها را دریافت می کند و اگر پیام هایی وجود دارد،
316
00:10:10,150 –> 00:10:11,350
آنها را به هر چیزی که
317
00:10:11,350 –> 00:10:12,580
واقعاً آن پیام را مدیریت و پردازش می کند
318
00:10:12,580 –> 00:10:14,650
ارسال کنید، اما آنچه را که ما انجام می دهیم. به جای آن می توان
319
00:10:14,650 –> 00:10:16,390
لامبدا را پیکربندی کرد تا نظرسنجی را برای
320
00:10:16,390 –> 00:10:19,480
ما انجام دهد تا بتوانیم آن را به گونه ای پیکربندی کنیم
321
00:10:19,480 –> 00:10:22,030
که صف SQL خود را برای ما تماشا کند و سپس وقتی لامبدا
322
00:10:22,030 –> 00:10:23,980
پیام ها را پیدا کرد و ما می توانیم
323
00:10:23,980 –> 00:10:25,690
اندازه دسته و تعداد پیام هایی را که می خواهیم
324
00:10:25,690 –> 00:10:27,730
و همه آن ها را پیکربندی کنیم
325
00:10:27,730 –> 00:10:30,130
تابع لامبدا را برای ما فراخوانی کنید و سپس در
326
00:10:30,130 –> 00:10:31,750
تابع لامبدا ما می دانید که ما می توانیم
327
00:10:31,750 –> 00:10:33,340
هر چیزی را که می خواهیم فراخوانی کنیم و می توانیم هر
328
00:10:33,340 –> 00:10:35,740
پردازشی را که می خواهیم انجام دهیم، اما نکته مهم
329
00:10:35,740 –> 00:10:37,270
اینجاست که ما در واقع مجبور نیستیم
330
00:10:37,270 –> 00:10:38,650
کد نظرسنجی را خودمان بنویسیم.
331
00:10:38,650 –> 00:10:40,210
نمیخواهید مسدود
332
00:10:40,210 –> 00:10:41,470
شوید، نمیخواهید در تابع لامبدا منتظر بمانید،
333
00:10:41,470 –> 00:10:43,240
زیرا فقط برای
334
00:10:43,240 –> 00:10:45,880
زمان محاسبهای که فقط زمان محاسبه
335
00:10:45,880 –> 00:10:48,010
استفاده میکنید، پرداخت میکنید، بنابراین اگر بتوانید نظرسنجی یا
336
00:10:48,010 –> 00:10:50,230
هر نوع مختصات دیگری را بارگذاری کنید. چیزی را به
337
00:10:50,230 –> 00:10:52,990
یک سرویس جداگانه ترجیح می دهیم و
338
00:10:52,990 –> 00:10:54,690
به همین دلیل است که جریان در این
339
00:10:54,690 –> 00:10:57,880
روش نظرسنجی واقعا مفید است، بنابراین برای جمع
340
00:10:57,880 –> 00:11:00,160
بندی سه بخش یا سه نوع
341
00:11:00,160 –> 00:11:02,410
روشی که می توان لامبدا را فراخوانی کرد، ما به موارد همزمان که در آن استفاده می کنید نگاه کردیم.
342
00:11:02,410 –> 00:11:03,700
343
00:11:03,700 –> 00:11:06,040
یا از CLI یا با استفاده از
344
00:11:06,040 –> 00:11:07,600
دروازه API برای مسدود کردن تا زمانی که Quest را دریافت کنید
345
00:11:07,600 –> 00:11:09,130
، حالت دیگری وجود دارد که در آن
346
00:11:09,130 –> 00:11:11,380
بیشتر رویداد محور است، بیشتر زمانی
347
00:11:11,380 –> 00:11:13,120
که اتفاقی ناگهانی رخ می دهد،
348
00:11:13,120 –> 00:11:14,560
تابع لامبدا فعال می شود و سپس ممکن است
349
00:11:14,560 –> 00:11:16,480
نوعی پردازش را به تنهایی انجام
350
00:11:16,480 –> 00:11:17,829
دهد. نمونههای دیگر آن شامل موارد
351
00:11:17,829 –> 00:11:20,949
مبتنی بر تایمر است، بنابراین میتوانید از لامبدا استفاده کنید، در
352
00:11:20,949 –> 00:11:22,389
واقع مانند یک
353
00:11:22,389 –> 00:11:25,300
سرویس cron در نظر بگیرید، بنابراین میتوانید بگویید هر پنج
354
00:11:25,300 –> 00:11:27,009
دقیقه تابع لامبدا من را فراخوانی کنید و بنابراین اتفاق
355
00:11:27,009 –> 00:11:29,560
این است که تایمر منقضی شده است
356
00:11:29,560 –> 00:11:31,660
ما همچنین با آمازون ادغام میشویم. SNS
357
00:11:31,660 –> 00:11:32,949
جایی است که میتوانید پیامهای خاصی را منتشر کنید
358
00:11:32,949 –> 00:11:35,889
و چند سرویس دیگر وجود دارد،
359
00:11:35,889 –> 00:11:37,389
خوب ما
360
00:11:37,389 –> 00:11:39,399
نمیتوانیم همه آنها را در این اسلاید نشان دهم و سپس
361
00:11:39,399 –> 00:11:40,360
برای استریم چند سرویس وجود دارد.
362
00:11:40,360 –> 00:11:42,009
موارد اضافی نیز اگر
363
00:11:42,009 –> 00:11:44,139
با Amazon DynamoDB آشنایی دارید، می توانید
364
00:11:44,139 –> 00:11:46,240
با جریان های DynamoDB ادغام کنید و
365
00:11:46,240 –> 00:11:47,529
می توانید از آنها برای پیاده سازی مواردی مانند
366
00:11:47,529 –> 00:11:50,019
تریگرهایی که در
367
00:11:50,019 –> 00:11:52,569
پایگاه های داده دیگر و همچنین با جریان های Kinesis مشاهده می کنید استفاده کنید
368
00:11:52,569 –> 00:11:54,490
و همه آنها تقریباً مشابه کار می کنند.
369
00:11:54,490 –> 00:11:56,440
بسته به اینکه از چه
370
00:11:56,440 –> 00:11:58,480
منبع پخشی استفاده می کنید،
371
00:11:58,480 –> 00:11:59,560
مشخصات کمی متفاوت است یا
372
00:11:59,560 –> 00:12:01,089
پیکربندی کمی متفاوت است، اما
373
00:12:01,089 –> 00:12:02,620
مفهوم همچنان یکسان است،
374
00:12:02,620 –> 00:12:05,920
بنابراین ما خیلی سریع این کار را انجام
375
00:12:05,920 –> 00:12:07,300
ندهیم زیرا می خواستم مطمئن شوم
376
00:12:07,300 –> 00:12:09,310
ما برای نوشتن این برنامههای کاربردی در پایتون وقت صرف کردیم،
377
00:12:09,310 –> 00:12:13,060
378
00:12:13,060 –> 00:12:14,560
بنابراین برای انجام این کار، دوباره با مث