man*_*xxl 5 python amazon-web-services python-3.x python-asyncio aws-lambda
我写了以下代码:
import asyncio
loop = asyncio.get_event_loop()
async def get_urls(event):
return {'msg':'Hello World'}
def lambda_handler(event,context):
return loop.run_until_complete(get_urls(event))
Run Code Online (Sandbox Code Playgroud)
我试图完成以下步骤,但速度更快。
def lambda_handler(event, context):
# TODO implement
return {'msg':'Hello World'}
Run Code Online (Sandbox Code Playgroud)
在AWS Lambda环境中编写此代码的正确方法是什么?
Mes*_*ssa 12
对我有用...您需要选择运行时“Python 3.6”或“Python 3.7”。
import asyncio
loop = asyncio.get_event_loop()
async def get_urls(event):
return {'msg':'Hello World'}
def lambda_handler(event, context):
return loop.run_until_complete(get_urls(event))
Run Code Online (Sandbox Code Playgroud)
对于 Python 3.7+,您可以使用asyncio.run()它来执行协程:
import asyncio
# The AWS Lambda handler
def handler(event, context):
asyncio.run(main())
async def main():
# Here you can await any awaitable
await asyncio.sleep(1)
await asyncio.gather([coroutine_1, coroutine_2])
Run Code Online (Sandbox Code Playgroud)
以下是如何在 AWS Lambda 上使用 asyncio、aiohttp 和 aiobotocore 开发、测试和部署异步 Python 函数的完整示例:https: //github.com/geeogi/async-python-lambda-template
异步执行同时做很多事情。你只做一件事。你做一件事的速度不可能比做一件事所需的时间还要快。异步执行允许您执行通常会同时执行一个又一个(同步)的独立任务,然后返回所有任务的结果。本质上,您必须执行不止一项操作。
| 归档时间: |
|
| 查看次数: |
2265 次 |
| 最近记录: |