"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية استيراد Pandas (مكتبة) في وظائف AWS Lambda - طبقات AWS Lambda

كيفية استيراد Pandas (مكتبة) في وظائف AWS Lambda - طبقات AWS Lambda

تم النشر بتاريخ 2024-11-08
تصفح:473

تخيل أنك بحاجة إلى تشغيل برنامج Python النصي على وظيفة AWS Lambda وحصلت على هذا الخطأ؟

{
  "errorMessage": "Unable to import module 'lambda_function': No module named 'pandas',
  "errorType": "Runtime.ImportModuleError"
  ...
}

لا تقلق، هذا خطأ شائع ولن أطيل الأمر

كيف يمكنك استيراد Pandas في AWS Lambda Functions؟

هناك عدة طرق ولكني سأعطيك أسهل طريقة لاستيراد حيوانات الباندا في وظيفة AWS Lambda وهي إضافة طبقة Lambda؟

ما هي طبقة AWS Lambda؟

إنه ؟ طبقة الجبن في وظيفة Lambda تحتوي على تعليمات برمجية إضافية مثل المكتبات والتبعيات وما إلى ذلك.

بكلمات بسيطة

تشبه طبقات AWS Lambda العناصر الأساسية لوظائفك. تخيل أنك بحاجة إلى أدوات إضافية (مثل مكتبة Pandas) لإكمال المشروع. بدلاً من تعبئة كل هذه الأدوات داخل كل مشروع على حدة (مما يهدر المساحة والوقت)، تتيح لك AWS إنشاء طبقات من الأدوات (المكتبات أو التبعيات أو التعليمات البرمجية المشتركة). تقع هذه الطبقات خارج وظيفتك الرئيسية ولكنها متاحة دائمًا عندما تحتاجها وظيفتك.

باختصار، تساعدك طبقات Lambda على:

توفير مساحة في التعليمات البرمجية الخاصة بك عن طريق فصل المنطق الرئيسي عن المكتبات الإضافية.
أعد استخدام المكتبات والتعليمات البرمجية عبر وظائف Lambda المتعددة.
قم بتحديث أو إدارة تبعياتك بسهولة دون تغيير رمز وظيفتك الأساسية.

فكر في الطبقات كصندوق تخزين إضافي متصل بوظيفة Lambda، حيث يحتوي على كل ما تحتاجه وظيفتك للعمل بسلاسة. يمكنك تكديس طبقات متعددة في وظيفتك دون تشويش الكود الرئيسي.

خطوات إضافة طبقة وظيفة Lambda واستيراد Pandas

يستغرق الأمر 3 خطوات فقط لتشغيل Pandas في وظيفة Lambda بنجاح

الخطوة 1 - افتح وظيفة Lambda من خلال وحدة الإدارة في AWS لديك

كما ترون لدينا خيار الطبقات تحت اسم وظيفة Lambda، في حالتي، هو "import-pandas-function" وعدد الطبقات هو 0

How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

الخطوة 2- أضف البرنامج النصي في وظيفة AWS Lambda الخاصة بك

تنقسم هذه الخطوة أيضًا إلى خطوتين لأننا نحتاج إلى إضافة برنامج Python النصي الذي يحتوي على بعض أكواد Pandas وكتابة حدث اختبار في JSON للتحقق مما إذا كان الكود يعمل بشكل صحيح.

2.1 - أضف نص بايثون - هل يمكنك نسخ هذا الكود؟

import json
import pandas as pd

def lambda_handler(event, context):
    data = event.get('data', [])

    df = pd.DataFrame(data)

    if not df.empty:
        mean_value = df['column_name'].mean()

        result = {
            "mean_value": mean_value,
            "data_shape": df.shape,
            "summary": df.describe().to_dict()
        }
    else:
        result = {
            "message": "Empty DataFrame"
        }

    # Return the response
    return {
        'statusCode': 200,
        'body': json.dumps(result)
    }

2.2 - أضف برنامج نصي للاختبار في Json في علامة تبويب الاختبار - هل يمكنك نسخ هذا الرمز؟

{
  "data": [
    {"column_name": 10, "other_column": "A"},
    {"column_name": 20, "other_column": "B"},
    {"column_name": 30, "other_column": "C"},
    {"column_name": 40, "other_column": "D"}
  ]
}

اضغط على زر الاختبار ربما حصلت على الخطأ:-
"errorMessage": "غير قادر على استيراد الوحدة 'lambda_function': لا توجد وحدة باسم 'pandas'،
"errorType": "Runtime.ImportModuleError"
...

الخطوة 3 - أضف طبقة AWS Lambda لتشغيل Pandas بنجاح في التعليمات البرمجية الخاصة بك

قم بالتمرير لأسفل إلى وظيفة Lambda، ربما يمكنك رؤية القسم المنفصل "الطبقات" في نهاية الصفحة
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.1 - انقر فوق "إضافة طبقة"

بعد النقر على "إضافة طبقة"، يمكنك رؤية الصفحة التي تحتوي على قسمين "إعدادات وقت التشغيل الوظيفي" و"اختيار طبقة"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.2 - انقر على "طبقات AWS"

يمكنك رؤية ثلاثة خيارات في قسم "اختيار طبقة"، انقر فوق "طبقات AWS".
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.3 - اختر "طبقات AWS"

بعد تحديد طبقات AWS، يمكنك رؤية القائمة المنسدلة ضمن "طبقات AWS".
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.4 - اختر "طبقات AWS" و"الإصدار"

في القائمة المنسدلة لطبقات AWS، حدد -> AWSSDKPandas-Python312
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
في القائمة المنسدلة "الإصدار"، حدد -> 13 (اختر الأكثر)
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
انقر فوق الزر "إضافة"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.5 - تأكد من "نظرة عامة على الوظيفة"

عندما يتم توجيه صفحتك إلى النظرة العامة على الوظيفة، يمكنك رؤية الطبقة المضافة أسفل اسم الوظيفة "import-pandas-function"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

الخطوة 4 – اختبار الوظيفة

لقد حصلت على الاستجابة بنجاح "statusCode": 200

{
  "statusCode": 200,
  "body": "{\"mean_value\": 25.0, \"data_shape\": [4, 2], \"summary\": {\"column_name\": {\"count\": 4.0, \"mean\": 25.0, \"std\": 12.909944487358056, \"min\": 10.0, \"25%\": 17.5, \"50%\": 25.0, \"75%\": 32.5, \"max\": 40.0}}}"
}

How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers


استمر في البرمجة؟

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/heighter/how-to-import-pandaslibrary-in-aws-lambda-functions-aws-lambda-layers-1oen?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ Study_golang @163.com حذف
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3