Channel ParametersΒΆ
Channel parameters can be defined using the Channel annotation. A channel may contain expressions that can be used
to define dynamic values. Expressions must be made of a name enclosed in curly brackets. E.g. {user_id}.
from asyncfast import AsyncFast
app = AsyncFast()
@app.channel("register.{user_id}")
async def handle_register(user_id: str) -> None:
print(user_id)
{
"asyncapi": "3.0.0",
"info": {
"title": "AsyncFast",
"version": "0.1.0"
},
"channels": {
"HandleRegister": {
"address": "register.{user_id}",
"messages": {
"HandleRegisterMessage": {
"$ref": "#/components/messages/HandleRegisterMessage"
}
},
"parameters": {
"user_id": {}
}
}
},
"operations": {
"receiveHandleRegister": {
"action": "receive",
"channel": {
"$ref": "#/channels/HandleRegister"
}
}
},
"components": {
"messages": {
"HandleRegisterMessage": {}
}
}
}
The value of the channel parameter user_id will be passed to your function as the argument user_id.