"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment importer des Pandas (bibliothèque) dans les fonctions AWS Lambda - AWS Lambda Layers

Comment importer des Pandas (bibliothèque) dans les fonctions AWS Lambda - AWS Lambda Layers

Publié le 2024-11-08
Parcourir:266

Imaginez que vous deviez exécuter un script Python sur la fonction AWS Lambda et que vous obteniez cette erreur ?

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

Ne vous inquiétez pas, c'est une erreur courante et je ne vais pas faire aussi longtemps

Comment importer des Pandas dans AWS Lambda Functions ?

Il existe plusieurs façons, mais je vais vous donner le moyen le plus simple d'importer des pandas dans la fonction AWS Lambda : ajouter une couche Lambda ?

Qu'est-ce que la couche AWS Lambda ?

C'est un ? couche de fromage dans la fonction Lambda contenant du code supplémentaire comme des bibliothèques, des dépendances, etc.

En mots simples

Les couches AWS Lambda sont comme des éléments de base pour vos fonctions. Imaginez que vous ayez besoin d'outils supplémentaires (comme la bibliothèque Pandas) pour mener à bien un projet. Au lieu de regrouper tous ces outils dans chaque projet (ce qui fait perdre de l'espace et du temps), AWS vous permet de créer des couches d'outils (bibliothèques, dépendances ou code partagé). Ces couches se trouvent en dehors de votre fonction principale mais sont toujours disponibles lorsque votre fonction en a besoin.

En bref, les couches Lambda vous aident :

Économisez de l'espace dans votre code en séparant la logique principale des bibliothèques supplémentaires.
Réutilisez les bibliothèques et le code dans plusieurs fonctions Lambda.
Mettez à jour ou gérez facilement vos dépendances sans modifier le code de votre fonction principale.

Considérez les couches comme une boîte de stockage supplémentaire attachée à votre fonction Lambda, contenant tout ce dont votre fonction a besoin pour fonctionner correctement. Vous pouvez empiler plusieurs couches sur votre fonction sans encombrer votre code principal.

Étapes pour ajouter une couche de fonctions Lambda et importer des pandas

Il ne faut que 3 étapes pour exécuter Pandas dans votre fonction Lambda avec succès

Étape 1 - Ouvrez la fonction Lambda via votre AWS Management Console

Comme vous pouvez le voir, nous avons une option Couches sous le nom de notre fonction Lambda, dans mon cas, c'est "import-pandas-function" et le nombre de couches est 0

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

Étape 2 - Ajoutez un script dans votre fonction AWS Lambda

Cette étape est divisée en deux étapes car nous devons ajouter un script Python contenant du code Pandas et écrire un événement de test en JSON pour vérifier si le code s'exécute correctement.

2.1 - Ajouter un script Python - pouvez-vous copier ce code ?

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 - Ajouter un script de test en Json dans l'onglet test - vous pouvez copier ce code ?

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

Appuyez sur le bouton de test, vous avez probablement eu l'erreur :-
"errorMessage": "Impossible d'importer le module 'lambda_function' : aucun module nommé 'pandas',
"errorType": "Runtime.ImportModuleError"
...

Étape 3 - Ajoutez une couche AWS Lambda pour exécuter avec succès les Pandas dans votre code

Faites défiler jusqu'à votre fonction Lambda, vous pouvez probablement voir la section séparée "Couches" à la fin de la page
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.1 - Cliquez sur "Ajouter un calque"

Après avoir cliqué sur "Ajouter un calque", vous pouvez voir la page qui comporte quelques sections "Paramètres d'exécution des fonctions" et "Choisir un calque"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.2 - Cliquez sur "Couches AWS"

Vous pouvez voir trois options dans la section « Choisir une couche », cliquez sur « Couches AWS ».
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.3 - Choisir "Couches AWS"

Après avoir sélectionné les couches AWS, vous pouvez voir la liste déroulante sous « Couches AWS ».
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.4 - Choisissez "Couches AWS" et "Version"

Dans une liste déroulante de « Couches AWS », sélectionnez -> AWSSDKPandas-Python312
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
Dans une liste déroulante de "Version", sélectionnez -> 13 (sélectionnez le plus)
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers
cliquez sur le bouton "Ajouter"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

3.5 - Assurez-vous que la « Présentation des fonctions »

Lorsque votre page est dirigée vers l'aperçu des fonctions, vous pouvez voir que la couche est ajoutée sous le nom de la fonction "import-pandas-function"
How to Import Pandas(library) in AWS Lambda Functions - AWS Lambda Layers

Étape 4 - Testez la fonction

Vous avez obtenu la réponse "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


Continuer à coder ?

Déclaration de sortie Cet article est reproduit à l'adresse : https://dev.to/heighter/how-to-import-pandaslibrary-in-aws-lambda-functions-aws-lambda-layers-1oen?1 En cas d'infraction, veuillez contacter Study_golang. @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3