„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So importieren Sie Pandas (Bibliothek) in AWS Lambda Functions – AWS Lambda Layers

So importieren Sie Pandas (Bibliothek) in AWS Lambda Functions – AWS Lambda Layers

Veröffentlicht am 08.11.2024
Durchsuche:186

Stellen Sie sich vor, Sie müssen ein Python-Skript für die AWS Lambda-Funktion ausführen und erhalten diese Fehlermeldung?

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

Keine Sorge, das ist ein häufiger Fehler und ich werde nicht so lange darauf eingehen

Wie importieren Sie Pandas in AWS Lambda Functions?

Es gibt mehrere Möglichkeiten, aber ich werde Ihnen die einfachste Möglichkeit nennen, Pandas in AWS Lambda zu importieren. Funktion ist das Hinzufügen einer Lambda-Ebene?

Was ist AWS Lambda Layer?

Es ist ein ? Käseschicht in der Lambda-Funktion, die zusätzlichen Code wie Bibliotheken, Abhängigkeiten usw. enthält.

In einfachen Worten

AWS Lambda Layers sind wie Bausteine ​​für Ihre Funktionen. Stellen Sie sich vor Sie benötigen zusätzliche Tools (wie die Pandas-Bibliothek), um ein Projekt abzuschließen. Anstatt all diese Tools in jedes einzelne Projekt zu packen (was Platz und Zeit verschwendet), können Sie mit AWS Schichten von Tools erstellen (Bibliotheken, Abhängigkeiten oder gemeinsam genutzten Code). Diese Ebenen befinden sich außerhalb Ihrer Hauptfunktion, sind jedoch immer verfügbar, wenn Ihre Funktion sie benötigt.

Kurz gesagt, Lambda Layers helfen Ihnen:

Sparen Sie Platz in Ihrem Code, indem Sie die Hauptlogik von den zusätzlichen Bibliotheken trennen.
Verwenden Sie Bibliotheken und Code über mehrere Lambda-Funktionen hinweg wieder.
Aktualisieren oder verwalten Sie Ihre Abhängigkeiten ganz einfach, ohne Ihren Kernfunktionscode zu ändern.

Stellen Sie sich Ebenen als zusätzliche Aufbewahrungsbox vor, die an Ihrer Lambda-Funktion angebracht ist und alles enthält, was Ihre Funktion für einen reibungslosen Betrieb benötigt. Sie können mehrere Ebenen auf Ihrer Funktion stapeln, ohne Ihren Hauptcode zu überladen.

Schritte zum Hinzufügen der Lambda-Funktionsschicht und zum Importieren von Pandas

Es sind nur 3 Schritte erforderlich, um Pandas in Ihrer Lambda-Funktion erfolgreich auszuführen

Schritt 1 – Öffnen Sie die Lambda-Funktion über Ihre AWS-Managementkonsole

Wie Sie sehen können, haben wir eine Option Layers unter dem Namen unserer Lambda-Funktion, in meinem Fall ist es "import-pandas-function" und die Anzahl der Layer ist 0

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

Schritt 2: Fügen Sie ein Skript zu Ihrer AWS Lambda-Funktion hinzu

Dieser Schritt ist weiter in zwei Schritte unterteilt, da wir ein Python-Skript hinzufügen müssen, das etwas Pandas-Code enthält, und ein Testereignis in JSON schreiben müssen, um zu überprüfen, ob der Code korrekt ausgeführt wird.

2.1 – Python-Skript hinzufügen – können Sie diesen Code kopieren?

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 – Testskript in Json auf der Registerkarte „Test“ hinzufügen – können Sie diesen Code kopieren?

{
  "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"}
  ]
}

Drücken Sie die Testtaste. Sie erhalten wahrscheinlich den Fehler ?error:-
„errorMessage“: „Modul ‚lambda_function‘ konnte nicht importiert werden: Kein Modul namens ‚pandas‘,
„errorType“: „Runtime.ImportModuleError“
...

Schritt 3 – Fügen Sie AWS Lambda Layer hinzu, um die Pandas erfolgreich in Ihrem Code auszuführen

Scrollen Sie nach unten zu Ihrer Lambda-Funktion. Am Ende der Seite sehen Sie wahrscheinlich den separaten Abschnitt „Ebenen
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.1 – Klicken Sie auf „Ebene hinzufügen“

Nachdem Sie auf „Ebene hinzufügen“ geklickt haben, wird die Seite mit den Abschnitten „Funktionslaufzeiteinstellungen“ und „Ebene auswählen“ angezeigt.
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.2 – Klicken Sie auf „AWS-Ebenen“

Sie können drei Optionen im Abschnitt „Ebene auswählen“ sehen. Klicken Sie auf „AWS-Ebenen“.
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.3 – Wählen Sie „AWS-Ebenen“

Nach der Auswahl der AWS-Ebenen sehen Sie das Dropdown-Menü unter „AWS-Ebenen“.
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.4 – Wählen Sie „AWS-Ebenen“ und „Version“

Wählen Sie in einem Dropdown-Menü mit „AWS-Ebenen“ -> AWSSDKPandas-Python312
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
Wählen Sie in einem Dropdown-Menü unter „Version“ -> 13 (wählen Sie die am häufigsten verwendete aus)
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
Klicken Sie auf die Schaltfläche „Hinzufügen“
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.5 - Stellen Sie sicher, dass die „Funktionsübersicht“

Wenn Ihre Seite zur Funktionsübersicht weitergeleitet wird, können Sie sehen, dass die Ebene unter dem Funktionsnamen „import-pandas-function“ hinzugefügt wird
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

Schritt 4 – Testen Sie die Funktion

Sie haben die Antwort erfolgreich erhalten "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


Codierung fortsetzen?

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/heighter/how-to-import-pandaslibrary-in-aws-lambda-functions-aws-lambda-layers-1oen?1 Bei Verstößen wenden Sie sich bitte an Study_golang @163.com löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3