啊,晴朗的蓝天的美丽,充满蓬松的白云。但是,让我们承认,我们不是在这里谈论大气凝结。我们在这里对另一种云小声说:Amazon Web Services(AWS)云。您会看到,AWS是名为Lambdas的神秘实体的家园。他们是很好的听众,但是就像任何被误解的生物一样,您必须知道如何与他们交谈。今天,我们将学习如何对三个特定的Lambdas窃窃私语,并管理一个称为红移成本的讨厌的事情。好吧,让我们开始!
破译云语
在进入以太之前,您必须熟悉云的术语:
-
aws lambda :这些是云的神奇精神,等待在我们的命令下执行任务。我们今天正在处理
Lambda0_Redshift_Queue
,Lambda1_TurnON_Lambda0
和Lambda2_TurnOFF_Lambda0
。 -
eventbridge调度程序:一个精美的云闹钟时钟,在我们需要时唤醒我们的lambdas。
-
并发:决定兰伯达可以同时执行多少任务的魔术汁。
-
RedShift :一个数据ho积,尽管名称很酷,但要花钱才能运行。
-
sqs队列:一个永无止境的自助餐线将任务馈送到我们的
Lambda0_Redshift_Queue
,然后将它们塞入红移中。
呼吁兰伯达
让我们召唤我们的兰伯达精神。我们将使用称为AWS管理控制台的魔法工件:
- 冒险进入控制台的
Lambda
部分。 - Click
Create function
. - 将
Lambda0_Redshift_Queue
,Lambda1_TurnON_Lambda0
和Lambda2_TurnOFF_Lambda0
的名称授予您的功能。 - 在
Runtime
下,选择像Python
这样的咒语语言。 - Click
Create function
. - 重复其他lambdas。
我们的lambdas被召唤并准备好拥有能力!
授权lambda1_turnon_lambda0:早晨公鸡
Lambda1_TurnON_Lambda0
是我们的早晨公鸡。它的乌鸦是一种咒语,可以提高Lambda0_Redshift_Queue
从SQS Buffet Line处理更多任务。这是它的颂歌:
import boto3
def lambda_handler(event, context):
lambda_client = boto3.client('lambda')
response = lambda_client.put_function_concurrency(
FunctionName='Lambda1_TurnON_Lambda0', # replace with your function name
ReservedConcurrentExecutions=40 # replace with the number of concurrent executions you want to reserve
)
return {
'statusCode': 200,
'body': response
}
现在,Lambda1_TurnON_Lambda0
准备好在40并发时醒来Lambda0_Redshift_Queue
!
授权lambda2_turnoff_lambda0:夜猫子
Lambda2_TurnOFF_Lambda0
是我们的夜猫子。它可以通过将其功率降低到零来舒缓Lambda0_Redshift_Queue
睡眠,从而为我们节省了一些神奇的便士。 Lambda2_TurnOFF_Lambda0
的催眠曲是这样的:
import boto3
def lambda_handler(event, context):
lambda_client = boto3.client('lambda')
response = lambda_client.put_function_concurrency(
FunctionName='Lambda2_TurnOFF_Lambda0', # replace with your function name
ReservedConcurrentExecutions=0 # replace with the number of concurrent executions you want to reserve
)
return {
'statusCode': 200,
'body': response
}
Lambda2_TurnOFF_Lambda0
现在设置为Serenade Lambda0_Redshift_Queue
睡觉!
自助线:SQS队列和lambda0_redshift_queue
Lambda0_Redshift_Queue
,我们的主力军,从SQS队列中处理任务,并将其输入红移。但是请记住,云中没有免费的午餐,这种连续的喂食可以增加红移的费用。这就是为什么我们需要我们的公鸡和猫头鹰Lambda1_TurnON_Lambda0
和Lambda2_TurnOFF_Lambda0
来规范Lambda0_Redshift_Queue
的喂养习惯。
设置闹钟:EventBridge调度程序
我们的公鸡和猫头鹰需要他们的睡眠时间表。值得庆幸的是,我们有EventBridge调度程序,一个相当精确的闹钟。
设置公鸡的警报:
- 转到AWS管理控制台中的EventBridge部分。
- Click
Create rule
. - 给它一个像
InvokeRooster
一样引人入胜的名字。 - 在
Schedule
中,选择Recurring schedule
然后选择Cron-based schedule
和hisper:0 0 * *? *。这种魅力将在午夜每天引起我们的公鸡Lambda1_TurnON_Lambda0
! - 在
Targets
下,选择Lambda function
,然后选择Lambda1_TurnON_Lambda0
。 - Click
Create
.
设置猫头鹰的警报:
遵循相同的步骤,但略有不同:
- 命名它像
InvokeOwl
一样引人入胜的东西。 - 将Cron表达式更改为30 1 * *? *在上午1:30唤起我们的猫头鹰
Lambda2_TurnOFF_Lambda0
。 - 在
Targets
下,选择Lambda function
并选择Lambda2_TurnOFF_Lambda0
。
荣誉,您现在是云窃窃私语者!
做得好,你!随着Lambda1_TurnON_Lambda0
,我们的公鸡,在午夜crow绕Lambda0_Redshift_Queue
行动,而Lambda2_TurnOFF_Lambda0
和我们的猫头鹰在上午1:30将Lambda0_Redshift_Queue
拖累了休息,我们已经掌握了经济高效的云窃窃私语的艺术。
在这个云窃窃私语的世界中,我们不仅要命令我们的兰巴斯。我们学会倾听,理解,然后进行有效的沟通。我们刚刚开始刮擦这个神奇世界的表面。不要停止对那些云的窃窃私语!
记住,即使是最好的耳语,有时也需要大喊大叫寻求帮助。如果您迷失在云层中或努力理解Lambda的耳语,请随时喊叫。毕竟,我们都只是在试图理解这一美丽的复杂云。欢乐的窃窃私语,云窃窃私语!