Python中文
首页
教程
问答
标签
搜索
登录
注册
boto3 lambda负载始终返回NULL[python,调用同步]
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我使用Lambda触发一个阶跃函数。它在触发step函数方面工作正常,但我还需要lambda返回状态机<strong>执行arn</strong>(不是状态机arn)。我需要执行arn,因为我将整个流程实现为github操作工作流,所以我需要它来检查状态机的状态(运行/成功/失败/中止)</p> <p>获取github操作的lambda返回的代码,包装为docker compose服务:</p> <pre><code>client = boto3.client("lambda", region_name="us-west-1") lambda_response = client.invoke( FunctionName="my-lambda", InvocationType="RequestResponse", Payload=json.dumps({"detail-type": "gh-action"}), ) payload = json.loads(lambda_response["Payload"].read()) # tried .decode() too print("payload:", payload) # payload prints None as a whole, not {"sfn_exe_arn": None} </code></pre> <p>我的lambda函数的相关部分:</p> <pre class="lang-py prettyprint-override"><code> try: client = boto3.client("stepfunctions") response = client.start_execution( stateMachineArn=STATE_MACHINE_ARN, name=run_name, input=json.dumps( {"runName": run_name, "model_name": MODEL_NAME, "queries": QUERIES} ), ) sfn_exe_arn = response["executionArn"] except Exception as e: raise e return {"sfn_exe_arn": sfn_exe_arn} # this `sfn_exe_arn` can print out with expected value in console # but it does not return when called in github action </code></pre> <p>当我从控制台调用这个lambda时,大部分时间它都会按预期返回,即<code>{"sfn_exe_arn": sfn_exe_arn}</code>,但有时它也会返回<code>null</code></p> <p>当我作为github操作工作流的一部分调用这个lambda时,返回的总是<code>null</code>(返回的是<code>lambda_response</code>,只有<code>payload</code>部分总是<code>null</code>)</p> <p>有人能帮我理解为什么会有这样的差距吗?显然,我的lambda得到了死刑,但它没有返回到<code>client.invoke()</code></p> <p>整个<code>lambda_response</code>(在屏幕截图中命名为<code>response</code>): <a href="https://i.stack.imgur.com/aS3KX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/aS3KX.png" alt="enter image description here"/></a></p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您必须解码从StreamingBody.read()获得的ByTestStream</p> <p>将<code>.decode()</code>添加到从读取响应负载获得的<code>bytes</code>对象中</p> <pre><code>payload = json.loads(lambda_response["Payload"].read().decode()) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
尽管Python中的所有内容都是引用,为什么Python导师在没有指针的列表中绘制字符串和整数?
5 回答
尽管python中的表达式为false,但循环仍在运行
5 回答
尽管python代码正确,但从nifi ExecuteScript处理器获取语法错误
8 回答
尽管Python在Neovim中工作得很好,但插件不能识别Neovim中的Python主机
4 回答
尽管python字典包含了大量的条目,但它并没有增长
10 回答
尽管python说模块存在,为什么我会得到这个消息?
1 回答
尽管setuptools和控制盘是最新的,但无法识别singleversionexternallymanaged
10 回答
尽管stdout和stderr重定向,但未捕获错误消息
4 回答
尽管Tensorboard的事件太大,但Tensorboard的步骤太少了
5 回答
尽管tkinter上的变量已更改,但显示未更改
9 回答
尽管try/except使用Python进行单元测试时出现断言错误
7 回答
尽管URL是sam,但仍会抛出“达到最大重定向”
7 回答
尽管url有效,Pandas仍读取url的\u csv错误
5 回答
尽管while中存在时间延迟,但LINUX线程的CPU利用率为100%(1)
10 回答
尽管x0在范围内,Scipy优化仍会引发ValueError
10 回答
尽管xpath正确,但使用selenium单击链接仍不起作用
2 回答
尽管下载了ffmpeg并设置了路径变量python,但没有后端错误
5 回答
尽管下载了i,但找不到型号“fr”
3 回答
尽管下载了plotnine包,但未获取名为“plotnine”的模块时出错
9 回答
尽管为所有行指定了权重,网格(0)仍不起作用
5 回答