ImportError beim Versuch, das gcloud-Paket mit der AWS Lambda Python-Version zu verwenden

Phänomen

Nach dem Schreiben der Lambda-Funktion, die die Daten von Kinesis in BigQuery in Python registriert, und dem Hochladen ist der folgende Fehler aufgetreten.

No module named google.protobuf: ImportError
Traceback (most recent call last):
File "/var/task/main.py", line 17, in kinesis_event_bigquery_handler
insert_records(records)
File "/var/task/main.py", line 29, in insert_records
from gcloud import bigquery
File "/var/task/gcloud/bigquery/__init__.py", line 24, in <module>
from gcloud.bigquery.client import Client
File "/var/task/gcloud/bigquery/client.py", line 18, in <module>
from gcloud.client import JSONClient
File "/var/task/gcloud/client.py", line 20, in <module>
from gcloud._helpers import _determine_default_project
File "/var/task/gcloud/_helpers.py", line 26, in <module>
from google.protobuf import timestamp_pb2
ImportError: No module named google.protobuf

Lösung

Fügen Sie dem Google-Paket eine leere Datei "__init __. Py" hinzu. Wenn Sie eine Umgebung mit virtualenv erstellen:

$ touch lib/python2.7/site-packages/google/__init__.py

Wenn Sie Lambda-Uploader verwenden, vergessen Sie beim Hochladen nicht "--virtualenv".

$ lambda-uploader --virtualenv=.

Verweise

https://github.com/awslabs/kinesis-deaggregation/blob/master/python/README.md

Recommended Posts

ImportError beim Versuch, das gcloud-Paket mit der AWS Lambda Python-Version zu verwenden
[Python] Hinweise beim Versuch, Numpy mit Cython zu verwenden
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
Zusammenfassung des Studiums von Python zur Verwendung von AWS Lambda
Ich möchte Lambda mit Python auf Mac AWS!
Wie benutzt man Python Lambda?
[AWS] Was tun, wenn Sie mit Lambda pfeifen möchten?
[AWS] Versuchen Sie, die Python-Bibliothek mit SAM + Lambda (Python) zur Ebene hinzuzufügen.
Python: So verwenden Sie Async mit
Benachrichtigen Sie HipChat mit AWS Lambda (Python)
Verwenden Sie PostgreSQL mit Lambda (Python + psycopg2)
[AWS SAM] Einführung in die Python-Version
[Version September 2020] Erläutert das Verfahren zur Verwendung der Google Mail-API mit Python
Vorsichtsmaßnahmen beim Ausführen von Python unter EC2 über AWS Lambda (Befehl ausführen)
Bereiten Sie eine Umgebung für die Verwendung von OpenCV und Pillow mit AWS Lambda vor
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
[Einführung in Python] Verwenden wir foreach mit Python
Ich möchte mit aws mit Python spielen
Versuch, SQLite3 mit Python zu handhaben [Hinweis]
[Road to Intermediate Python] Verwenden Sie Lambda-Ausdrücke
Wenn Sie es so verwenden möchten, wie es ist, wenn Sie es mit Lambda-Memo verwenden
[AWS] [GCP] Ich habe versucht, die Verwendung von Cloud-Diensten mit Python zu vereinfachen
Ich erhalte einen UnicodeDecodeError, wenn ich versuche, mit Python sqlalchemy eine Verbindung zu Oracle herzustellen
Laden Sie das, was Sie angefordert haben, mit AWS Lambda Python in S3 hoch
Ich möchte MATLAB feval mit Python verwenden
[Version 2020] So installieren Sie Python3 auf EC2 von AWS
Geben Sie die ausführbare Python-Datei an, die mit virtualenv verwendet werden soll
LINE BOT mit Python + AWS Lambda + API Gateway
Serverlose Anwendung mit AWS SAM! (APIGATEWAY + Lambda (Python))
Der einfachste Weg, OpenCV mit Python zu verwenden
Die Geschichte des Versuchs, Tensorboard mit Pytorch zu verwenden
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
[Verbesserte Version] Skript zur Überwachung der CPU mit Python
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Wie man tkinter mit Python in Pyenv benutzt
Exportieren Sie den RDS-Snapshot mit Lambda (Python) nach S3.
[AWS / Lambda] Laden einer externen Python-Bibliothek
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
Fehler beim Versuch, psycopg2 in Python zu installieren
Amazon API Gateway und AWS Lambda Python-Version
Materialien zum Lesen, wenn Sie mit Python beginnen
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Eine Geschichte, die beim Versuch, die Python-Version mit GCE zu aktualisieren, hängen blieb
Ich blieb stecken, als ich versuchte, einen relativen Pfad mit relative_to () in Python anzugeben
Verwenden Sie AWS Lambda + LINE Benachrichtigen, um LINE zu benachrichtigen, dass Sie Ihren Regenschirm nicht vergessen, wenn Sie nach Hause kommen
Ein Hinweis auf Missverständnisse beim Versuch, das gesamte selbst erstellte Modul mit Python3 zu laden
Eine kleine Geschichte, die beim Schreiben von Twilio-Anwendungen mit Python auf AWS Lambda süchtig macht
Dynamische HTML-Seiten mit AWS Lambda und Python
Erstellen Sie eine Python-Version der Lambda-Funktion (+ Lambda-Schicht) mit Serverless Framework
Verwendung des interaktiven Python-Modus mit Git Bash
Überprüfen Sie types_map, wenn Sie Mimetypen mit AWS Lambda (Python) verwenden.
[AWS] Freunde dich mit Lambdas JSON-Eingabe an (Python-Version)
Stellen Sie die Python 3-Funktion mit Serverless Framework unter AWS Lambda bereit
Schreiben Sie mit Lambda (Python, JavaScript) mehrere Datensätze in DynamoDB.
Erstellen Sie in Docker eine Ebene für AWS Lambda Python