Muszę wykonać wywołanie rest-call w skrypcie python, który jest uruchamiany raz dziennie. Nie mogę spakować pakietu "requests" do mojego pakietu python za pomocą AWS Lambdas. Pojawia się błąd: "Nie można zaimportować modułu" lambda_function ": Brak modułu o nazwie lambda_function"Nie można użyć modułu żądania w systemie AWS Lambda
Zepsułem go do predefiniowanego skryptu hello_world. Mogę go spakować do suwaka i załadować. Wszystko działa poprawnie. Jak tylko włożę do pliku "żądania importu", pojawia się ten błąd.
Oto, co już zrobiłem:
- Uprawnienia zip i folderze projektu (łącznie z podfolderami) są ustawione na `chmod 777`. Tak więc uprawnienia nie powinny stanowić problemu.
- Sam skrypt znajduje się w folderze głównym. Po otwarciu pliku zip bezpośrednio go widzisz.
- zainstalowałem pakiet wnioski do korzeni folderze projektu przy użyciu `sudo pip zainstalować żądań -t PATH_TO_ROOT_FOLDER`
Nazywanie wszystko wygląda tak:
- plik zip: lambda_function.zip
- py-file: lambda_function.py
- obsługi metoda: lambda_handler (event, kontekst)
- obsługi rozdzielczości w „my bconfig: lambda_function.lambda_handler
Plik chcę uruchomić w końcu wygląda tak:
import requests
import json
def lambda_handler(event, context):
url = 'xxx.elasticbeanstalk.com/users/login'
headers = {"content-type": "application/json", "Authorization": "Basic Zxxxxxxxxx3NjxxZxxxxzcw==" }
response = requests.put(url, headers=headers, verify=False)
return 'hello lambda_handler'
Cieszę się na wszelkiego rodzaju pomoc. W tej sprawie korzystałem już z wielu godzin.
w swoim pytaniu, pozycja '-t' opcji w' pip jest komenda install' niepoprawne - muszą to być 'prośby o instalację pip '-t PATH_TO_ROOT_FOLDER'. Czy po prostu popełniłeś błąd, czy tak naprawdę to zrobiłeś? – Leon
@Leon: Dobrze. Właśnie sprawdziłem historię i zrobiłem to tak, jak wspomniałeś o tym tutaj. :) To nie spowodowało problemu. – codepleb
Jakiej wersji Python używasz lokalnie? – Leon