400-638-8808
|
微信公眾號




穩(wěn)定可靠 永不間斷

海外收發(fā) 暢通無阻

協(xié)同辦公 資源管理

超大郵件 超級功能

智能反垃圾郵件技術
易管理 免維護

在本章中,我們將在 Python 中創(chuàng)建一個簡單的 AWS Lambda 函數(shù),并詳細了解其工作概念。
在繼續(xù)在 AWS 中創(chuàng)建 Lambda 函數(shù)之前,我們需要 AWS 工具包支持 Python。為此,請按照下面給出的步驟并觀察所附的相應屏幕截圖-
步驟 1
登錄 AWS 控制臺并創(chuàng)建 Lambda 函數(shù)并選擇語言為 Python。

步驟 2
現(xiàn)在,單擊 創(chuàng)建函數(shù)按鈕并輸入在 Python 中創(chuàng)建簡單 AWS Lambda 的詳細信息。此代碼返回消息 Hello from Lambda using Python 并如下所示-

步驟 3
現(xiàn)在,保存更改并測試代碼以查看輸出。當您使用 UI 中的測試按鈕在 AWS 控制臺中對其進行測試時,您應該會看到以下輸出和日志。

步驟 4
現(xiàn)在,您可以在任何編輯器或 Python IDE 中編寫代碼。在這里,我們使用 Visual Studio 代碼來編寫代碼。您應該稍后壓縮文件并上傳到 AWS 控制臺。
在這里,我們壓縮了代碼并使用了 AWS 控制臺。
步驟 5
現(xiàn)在,選擇 上傳 .ZIP 文件選項,如下所示-

Python 的處理程序詳細信息
請注意,處理程序必須是文件名,后跟函數(shù)名。在上面的例子中,我們的文件名是 hellopython.py,函數(shù)名是 my_handler;,所以處理程序是 hellopython.my_handler。
上傳完成并保存更改后,它實際上會在 AWS Lambda 控制臺的在線編輯器中顯示 zip 文件的詳細信息,F(xiàn)在,讓我們測試代碼以查看輸出和日志。

def my_handler(event, context):
return "aws lambda in python using zip file"
在上面的代碼中,函數(shù)名 my_handler 有 2 個參數(shù),事件和上下文。
Python 中的上下文對象
上下文對象提供了諸如 Lambda 函數(shù)名稱、剩余時間(以毫秒為單位)、請求 ID、云監(jiān)視組名稱、超時詳細信息等詳細信息。
上下文對象上可用的方法和屬性如下表所示-
|
Sr.No |
方法名稱和描述 |
|
1 |
get_remaining_time_in_millis() 此方法以毫秒為單位給出剩余時間,直到 lambda 函數(shù)終止函數(shù) |
|
Sr.No |
屬性和描述 |
|
1 |
function_name 這給出了 aws lambda 函數(shù)名 |
|
2 |
function_version 這里給出了 aws lambda 函數(shù)執(zhí)行的版本 |
|
3 |
invoked_function_arn 這將提供 ARN 詳細信息。 |
|
4 |
memory_limit_in_mb 這顯示了創(chuàng)建 lambda 函數(shù)時添加的內(nèi)存限制 |
|
5 |
aws_request_id 這給出了 aws 請求 ID。 |
|
6 |
og_group_name 這將給出cloudwatch組的名稱 |
|
7 |
log_stream_name 這將給出寫入日志的 cloudwatch 日志流名稱。 |
|
8 |
identity 當與 aws mobile sdk 一起使用時,這將提供有關 amazon cognito 身份提供商的詳細信息。給出的詳細信息如下- identity.cognito_identity_ididentity.cognito_identity_pool_id |
|
9 |
client_context 這將是與 aws mobile sdk 一起使用時客戶端應用程序的詳細信息。給出的細節(jié)如下- client_context.client.installation_idclient_context.client.app_titleclient_context.client.app_version_nameclient_context.client.app_version_codeclient_context.client.app_package_nameclient_context.custom-它具有來自移動客戶端應用程序的自定義值的字典client_context.env-它包含來自 AWS 移動開發(fā)工具包的環(huán)境詳細信息 |
讓我們看一個 Python 中的工作示例,該示例輸出上下文詳細信息。觀察下面給出的代碼-
def my_handler(event, context):
print("Log stream name:", context.log_stream_name)
print("Log group name:", context.log_group_name)
print("Request ID:",context.aws_request_id)
print("Mem. limits(MB):", context.memory_limit_in_mb)
print("Time remaining (MS):", context.get_remaining_time_in_millis())
return "aws lambda in python using zip file"
上面顯示的代碼的相應輸出如下-

使用 Python 進行日志記錄
要使用 Python 記錄信息,我們可以使用可用的打印或記錄器功能。讓我們使用上面的上下文示例并檢查 inCloudWatch 以查看是否打印了日志。觀察以下代碼-
def my_handler(event, context):
print("Log stream name:", context.log_stream_name)
print("Log group name:", context.log_group_name)
print("Request ID:",context.aws_request_id)
print("Mem. limits(MB):", context.memory_limit_in_mb)
print("Time remaining (MS):", context.get_remaining_time_in_millis())
return "aws lambda in python using zip file"
此代碼在 CloudWatch 中的輸出如下所示-

import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def my_handler(event, context):
logger.info("Using logger to print messages to cloudwatch logs")
return "aws lambda in python using zip file"
此輸出將如下面的屏幕截圖所示-

Python 中 Lambda 函數(shù)的錯誤處理
在本節(jié)中,讓我們看一個演示如何在 Python 中處理錯誤的工作示例。觀察這里給出的一段代碼-
def error_handler(event, context):
raise Exception("Error Occured!")

日志顯示如下圖所示-

作為AWS核心代理商,選擇天.下.數(shù).據(jù)的優(yōu)勢
1、專屬客服協(xié)助注冊AWS,或提供注冊好的賬號直接使用
2、支持收U等多幣種支付代付,無額外服務費用
3、AWS多種產(chǎn)品類型,更高產(chǎn)品租賃權限
4、針對大客戶,AWS專屬折扣優(yōu)惠
5、7x24小時專屬客服,在線解答各種疑問
AWS亞馬遜云代理商哪家好?推薦找天 下 數(shù) 據(jù),可享受高額折扣、高額返現(xiàn)優(yōu)惠,詳詢電話40 0-63 8-88 08 官網(wǎng):http://m.51huadong.com/2023/aws.asp
天下數(shù)據(jù)手機站 關于天下數(shù)據(jù) 聯(lián)系我們 誠聘英才 付款方式 幫助中心 網(wǎng)站備案 解決方案 域名注冊 網(wǎng)站地圖
天下數(shù)據(jù)18年專注海外香港服務器、美國服務器、海外云主機、海外vps主機租用托管以及服務器解決方案-做天下最好的IDC服務商
《中華人民共和國增值電信業(yè)務經(jīng)營許可證》 ISP證:粵ICP備07026347號
朗信天下發(fā)展有限公司(控股)深圳市朗玥科技有限公司(運營)聯(lián)合版權
深圳總部:中國.深圳市南山區(qū)深圳國際創(chuàng)新谷6棟B座10層 香港總部:香港上環(huán)蘇杭街49-51號建安商業(yè)大廈7樓
7×24小時服務熱線:4006388808香港服務電話:+852 67031102
本網(wǎng)站的域名注冊業(yè)務代理北京新網(wǎng)數(shù)碼信息技術有限公司的產(chǎn)品