我试图在 AWS Glue 的工作中使用 boto3 来调用 Lambda 函数,但没有结果。
我上传了一个带有库的 zip 文件:
Like the examples by AWS
并且没有 zipper 。
错误是“无法加载数据:端点”。
我试图在没有 zip 的情况下调用,但这会导致超时异常。
import boto3
client = boto3.client('lambda' , region_name='us-east-1')
r_lambda = client.invoke(FunctionName='S3GlueJson')
有人能帮我吗 ?
最佳答案
在 Python 中,使用 Boto3 Lambda client 'invoke()' .例如,您可以创建一个 Lambda container ,然后从 Glue Job 调用它:
import boto3
import pandas as pd
lambda_client = boto3.client('lambda',region_name='us-east-1')
def get_predictions( df ):
# Call getPredictions Lambda container
response = lambda_client.invoke(
FunctionName='getPredictions',
InvocationType='RequestResponse',
LogType='Tail',
Payload=df
)
logger.info('Received response from Lambda container.')
data = response["Payload"].read().decode('utf-8')
x = json.loads(data)
df_pred = pd.DataFrame.from_dict(x)
return df_pred
dfjson = df.to_json()
df_pred = get_predictions( dfjson )
df_pred.head()
关于aws-lambda - 使用 AWS Glue 调用 Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47604685/