↓ Wenn Sie dies tun
↓ Ich möchte, dass du so bist
↓ Es wird jedoch so sein
{
"errorMessage": "Unable to import module 'lambda_function': No module named 'requests'",
"errorType": "Runtime.ImportModuleError"
}
Arbeiten Sie am Client. Lassen Sie Pip einfach funktionieren, komprimieren Sie das mit dem externen Modul und setzen Sie es über die aws-Verwaltungskonsole ein
Zum Beispiel, wenn Sie mit Amazon Linux2 arbeiten ...
mkdir python/
cd python
yum -y install gcc gcc-c++ kernel-devel python-devel libxslt-devel libffi-devel openssl-devel
yum -y install python-pip
pip install -t ./ requests
cd python
cd ..
zip -r Layer.zip python/
Arbeiten Sie in der AWS Management Console. Fügen Sie unter "Ebene erstellen" die zuvor erstellte Datei "Layer.zip" ein, und Sie sind fertig.
Wählen Sie Ebenen Klicken Sie auf "Ebene hinzufügen", um die zuvor erstellte Ebene anzuzeigen. Wählen Sie sie daher aus.
lambda_function.py
import requests
def lambda_handler(event, context):
#Versuchen Sie, ein GET auf die Teststelle zu werfen
response = requests.get('https://httpbin.org/get', params={'foo': 'bar'})
return response.json()
Ausführungsergebnis
{
"args": {
"foo": "bar"
},
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "python-requests/2.24.0",
"X-Amzn-Trace-Id": "Root=1-5f43a5ad-a04c8100f8c999999e8e2e"
},
"origin": "913.931.998.950",
"url": "https://httpbin.org/get?foo=bar"
}
Recommended Posts