У меня есть функция активности, которая должна возвращать IEnumerable<IListBlobItem>
следующим образом:
[FunctionName("process_file_GetBlobList")]
public static IEnumerable<IListBlobItem> GetBlobList([ActivityTrigger] string name, ILogger log)
{
string storageConnectionString = @"connstring";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(storageConnectionString);
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
CloudBlobContainer container = blobClient.GetContainerReference("container");
IEnumerable<IListBlobItem> blobs = new IListBlobItem[0];
foreach (IListBlobItem blobItem in container.ListBlobs())
{
if (blobItem is CloudBlobDirectory)
{
CloudBlobDirectory directory = (CloudBlobDirectory)blobItem;
blobs = directory.ListBlobs(true);
}
}
return blobs;
}
В моем Orchestrator я вызываю эту функцию активности следующим образом:
IEnumerable<IListBlobItem> blobs = await context.CallActivityAsync<IEnumerable<IListBlobItem>>("process_file_GetBlobList", null);
путем отладкиЯ не получаю сообщение об ошибке, но во время выполнения я получаю это сообщение:
не удалось: не удалось создать экземпляр типа Microsoft.Azure.Storage.Blob.IListBlobItem. Тип является интерфейсом или абстрактным классом и не может быть создан. Путь '[0] .StreamWriteSizeInBytes'
Есть какие-нибудь идеи, как я могу вызвать функцию активности через CallActivityAsync
?