aws-lambda - 使用 AWS Glue 调用 Lambda 函数

标签 aws-lambda boto3 aws-glue

我试图在 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/

相关文章:

python - boto3 mturk send_bonus 错误

python - 如何重命名 DynamoDB 列/键

amazon-web-services - AWS胶水:忽略JSON属性中的空格

json - aws athena - 通过 json 对象数组创建表

aws-lambda - AWS Pinpoint 自定义 channel : Could not properly invoke Lambda function specified in hook

python - 在 HostedZone 资源的 Lambda 函数中指定名称服务器?

python - 如何将 map 插入 DynamoDB 表?

amazon-web-services - 如何让 AWS Glue 爬虫承担另一个 AWS 账户中的角色以从该账户的 S3 存储桶中获取数据?

amazon-web-services - 在 AWS lambda 上运行 graphql 应用程序

node.js - NodeJS csv 数据转储到 s3 对象