[英]How do I import a Google Module directly in AWS Lambda?
我正在嘗試通過 Lambda 函數處理來自我的 S3 的音頻文件,該函數應該調用 google 語音 api 以使用文件進行語音到文本。 但是,Lambda 似乎沒有安裝此模塊。
有沒有辦法從外部/手動導入模塊?
import json
import boto3
import array as arr
import botocore
from botocore.vendored import requests
import os
import urllib
from google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types
def lambda_handler(event, context):
output = 'test'
return output
預期導入有效,但錯誤輸出如下:
"errorMessage": "Unable to import module 'lambda_function': No module
named 'google'",
您必須將 google 庫添加到您的部署包中。 根據您的部署過程,有多種方法可以進行。 文檔是開始學習的好地方。
順便說一句,您可以使用來自 AWS 的名為Transcribe的語音轉文本,而不是 Google 的語音轉文本。 你不必安裝任何額外的庫來使用它, boto3
就可以了。
檢查用於安裝依賴項的 python 版本並在 aws Lambda 中提供相同的運行時。 我使用 python 3.8 進行安裝並在運行時提供了 3.7 並遇到了這個錯誤。
更好的方法是創建一個名為requirements.txt
的文件並在其中添加所有依賴項
google-cloud-speech==0.36.0
據我了解,這個問題可以通過在 Lambda 中添加所需的模塊作為層來解決。 然后它將可用於您的腳本。
此外,該層將來可以重新用於其他 Lambda。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.