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
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=.
https://github.com/awslabs/kinesis-deaggregation/blob/master/python/README.md
Recommended Posts