Связать функцию Azure с таблицей просто, указав атрибут Table с именем таблицы:
[FunctionName("TableInput")]
public static void Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
[Table("MyTable")] MyTable table,
ILogger log)
{
...
}
Но что, если имя таблицы параметризовано, то есть функция читает из таблицы, чье имя передаетсяв HTTP-запросе:
[FunctionName("queryById")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = "{tableName}")] HttpRequest req,
Binder binder,
ILogger log,
string tableName)
Я хотел бы привязать таблицу с помощью TableAttribute:
var attributes = new Attribute[]
{
new TableAttribute(collectionName),
};
Но не похоже, что интерфейс IBinder поддерживает привязку таблицы дляЦель чтения данных из таблицы.Я не могу использовать BindAsync с типом CloudTable, чтобы получить ссылку на таблицу.Я могу привязать к TableEntity, но это работает только с целью вставки данных в таблицу с помощью IAcyncCollector.
Есть ли способ динамически привязать функцию Azure к таблице, указав имя таблицы во время выполнения?