Есть ли способ изменить путь BLOB-объектов в привязке BLOB-объектов для функции Azure? - PullRequest
0 голосов
/ 08 января 2019

Я использую функцию Azure, которая собирается сохранять несколько XML-файлов с разными именами в одном контейнере BLOB-объектов. Я хочу использовать данные из другой привязки для форматирования имени.

Привязка BLOB-объектов:

[Blob("outbound/", FileAccess.Write, Connection = 
Settings.InbundBlobConnectionString)] Stream outboundBlob

Есть ли способ, которым я могу манипулировать путем BLOB-объектов с помощью кода?

Ответы [ 2 ]

0 голосов
/ 08 января 2019

В случае, когда значение blobName находится в полезной нагрузке JSON привязки Trigger (например, в теле сообщения / запроса), вы можете использовать объект POCO, см. Следующее:

[QueueTrigger("myQueueName", Connection = "mySTORAGE")] POCO item,
[Blob("outbound/{blobName}", FileAccess.Write, Connection = Settings.InbundBlobConnectionString)] Stream outboundBlob

   …

public class POCO
{
  // ...
  public string blobName { get; set;}
}

Вот документ .

0 голосов
/ 08 января 2019

Мы могли бы использовать шаблон обязательного связывания . В сигнатуре метода функции добавьте Binder binder, удалите привязку ввода Blob и попробуйте код ниже.

        string myBlobName = "valueGotFromOtherBinding";
        var attributes = new Attribute[]
        {
            new BlobAttribute($"outbound/{myBlobName}", FileAccess.Write),
            new StorageAccountAttribute(Settings.InbundBlobConnectionString)
        };
        using (var writer = await binder.BindAsync<TextWriter>(attributes))
        {
            await writer.WriteAsync("Conetent");
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...