Я создал триггер большого двоичного объекта, который принимает файл из большого двоичного объекта, распаковывает его и перемещает в другой большой двоичный объект с помощью потоков.
Мой код выглядит так
[FunctionName("Requests")]
[StorageAccount("samplecontainer")]
public static void Run([BlobTrigger("incoming/{name}")]Stream myBlob,
[Blob("processing/{name}.xml", FileAccess.Write)] TextWriter output,
string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
string returnValue;
using (Stream blob = myBlob)
{
using (GZipStream decompressionStream = new GZipStream(blob, CompressionMode.Decompress))
{
log.LogInformation($"Unzipping file");
name = name.Replace(".gz", "");
var content = String.Empty;
using (StreamReader reader = new StreamReader(decompressionStream))
{
content = reader.ReadToEnd();
reader.Close();
}
returnValue = content;
}
}
log.LogInformation($"C# Blob trigger function finished processing blob\n Name:{name} \n Now writing to xml");
output.WriteLine(returnValue);
}
Фактически, это будет работать при локальном запуске с использованием AzureWebJobsStorage: UseDevelopmentStorage = true в моем файле local.settings.json.
Однако после того, как я развернул это приложение и загрузил файл в реальный контейнер с помощью обозревателя хранилищ Azure, ничего не происходит, и журнал активности показывает, что операция завершилась неудачно в Write.Tiny.txt.gz, не удалось найти файл 'D: \ home \ site \ wwwroot \ Requests \ tiny.txt.gz '.
У меня есть триггеры http, которые действительно работают, и я попытался отключить конфигурацию WEBSITE_RUN_FROM_PACKAGE, но безрезультатно. Возможно, мне не хватает какой-то настройки или конфигурации? Когда я подключаюсь к этому пути в приложении-функции и перехожу к функции function.json, я получаю следующее:
{
"generatedBy": "Microsoft.NET.Sdk.Functions-1.0.29",
"configurationSource": "attributes",
"bindings": [
{
"type": "blobTrigger",
"connection": "samplecontainer",
"path": "incoming/{name}",
"name": "myBlob"
}
],
"disabled": false,
"scriptFile": "../bin/azure-functions.dll",
"entryPoint": "Requests.Run"
}
[StorageAccount]
,samplecontainer
, соответствует ли оно настройке приложения с именемsamplecontainer
илиAzureWebJobssamplecontainer
? - person eli   schedule 09.03.2021