Sie können jetzt ** EFS ** auf ** Lambda ** mounten. Auf diese Weise können Sie in EFS eingerichtete Python-Bibliotheken in Lambda importieren.
Wenn Sie zuvor eine Nicht-Python-Bibliothek in Lambda importieren wollten, konnten Sie sie bisher nur in die Lambda-Ebene hochladen. Dieses Verfahren hat jedoch eine Größenbeschränkung von "auf 50 MB oder weniger komprimiert und auf 250 MB oder weniger dekomprimiert". Aus diesem Grund war es nicht möglich, mehrere große Bibliotheken zu verwenden. Wenn das System etwas groß ist, müssen daher einige Maßnahmen ergriffen werden, z. B. zum Docker gehen, und Lambda allein reichte nicht aus.
Jetzt, da Sie EFS auf Lambda mounten können, ist dieses Problem behoben. `Sie können jetzt auf EFS installierte Bibliotheken in Lambda importieren. ``
how to
Erstellen Sie einen EFS-Zugangspunkt (Clientzugriff).
Besitzer Benutzer ID: 1001
Eigentümergruppen-ID: 1001
Berechtigungen: 777
Der Pfad (Verzeichnis) wird hier auf / lambda
gesetzt
Montieren Sie das EFS am funktionierenden EC2
sudo yum install -y amazon-efs-utils
cd /mnt
sudo mkdir efs
sudo mount -t efs fs-xxxxx:/ efs
Installieren Sie Python und Bibliotheken auf EFS Installieren Sie Python 3.8.1 und Pandas hier
sudo yum -y install gcc openssl-devel bzip2-devel libffi-devel
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz
tar xzf Python-3.8.1.tgz
cd Python-3.8.1
sudo ./configure --enable-optimizations
sudo make altinstall
# check
python3.8 --version
pip3.8 --version
cd /mnt/efs
pip3.8 install --upgrade --target lambda/ pandas
Stellen Sie die Lambda-Funktion ein Muss zu VPC gehören Die Richtlinie "AmazonElasticFileSystemClientReadWriteAcces" wurde zur Ausführungsrolle von Lambda hinzugefügt EFS hinzufügen
Importieren Sie mit Lambda Sie können es so importieren.
import sys
sys.path.append("/mnt/efs")
import pandas as pd
Recommended Posts