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.