1

这适用于我的本地机器,但在 AWS Lambda 上我得到了下面提到的错误。

import asyncio
import os

async def abc():
    await asyncio.sleep(1)
    print("abc")

def handler(event, context):
    print("RANDOM")
    loop = asyncio.get_event_loop()
    loop.run_until_complete(abc())

错误:

A Future or coroutine is required: TypeError
Traceback (most recent call last):
  File "/var/task/index.py", line 11, in handler
    loop.run_until_complete(abc())
  File "/var/task/asyncio/base_events.py", line 296, in run_until_complete
    future = tasks.async(future, loop=self)
  File "/var/task/asyncio/tasks.py", line 516, in async
    raise TypeError('A Future or coroutine is required')
TypeError: A Future or coroutine is required

在本地我通过调用运行它handler("random_1", "random_2")

在 AWS 上,它是由事件触发的。

4

1 回答 1

0

有时我在 lambdas 和 asyncio 上遇到问题,但我一直不明白。

您可以尝试使用更新的 python 版本吗?

我正在使用 python 3.8asyncio.run而不是 get_event_loop + run_until_complete 并且它可以工作。

于 2021-04-06T19:38:16.927 回答