#azure #azure-blob-storage #azure-logic-apps
#azure #azure-blob-хранилище #azure-logic-apps
Вопрос:
У меня есть приложение Azure Logic, которое каждый месяц получает содержимое больших двоичных объектов, хранящихся в контейнере Azure. Большие двоичные объекты хранятся в папке -> Например. mycontainer/RG1/MonthlyInvoice/20200101-20200131/invoice1.csv.
Я могу получить содержимое из RG1, указав путь в триггере «List Blobs» -> mycontainer/RG1/MonthlyInvoice/
Теперь мне нужно получить содержимое таким же образом, но для разных папок. Например, например, mycontainer/RG2/MonthlyInvoice/20200101-20200131/invoice1.csv, mycontainer/RG3/MonthlyInvoice/20200101-20200131/invoice1.csv, mycontainer/RG4/MonthlyInvoice/20200101-20200131/invoice1.csv
(Примечание: используется один и тот же контейнер)
Есть какие-либо рекомендации по этому поводу? Спасибо!
Ответ №1:
У вас уже должна быть вся необходимая информация, если вы используете действие «List Blob».
Я предполагаю, что известное значение, которое меняется от месяца к месяцу, равно «20200101-20200131». Я только что создал параметр для тестирования, но вы могли бы сделать это динамичным, используя выражение с UtcNow! .
Создал учетную запись хранилища и контейнер с той же структурой папок, что и выше.
Первая часть приложения logic (повторяемость была установлена на один раз в месяц):
Вторая половина приложения logic:
Действие list blob, похоже, перечисляет все файлы внутри контейнера. Я использую путь и условную проверку, чтобы проверить, содержит ли путь значение даты из параметра.
{
"Id": "JTJmYWNpaW52b2ljZXMlMmZyZzIlMmZNb250aGx5SW52b2ljZSUyZjIwMjAwMTAxLTIwMjAwMTMxJTJmaW52b2ljZTEuY3N2",
"Name": "invoice1.csv",
"DisplayName": "invoice1.csv",
"Path": "/aciinvoices/rg2/MonthlyInvoice/20200101-20200131/invoice1.csv",
"LastModified": "2020-11-05T19:03:07Z",
"Size": 12,
"MediaType": "text/csv",
"IsFolder": false,
"ETag": ""0x8D881BD6E90C327"",
"FileLocator": "JTJmYWNpaW52b2ljZXMlMmZyZzIlMmZNb250aGx5SW52b2ljZSUyZjIwMjAwMTAxLTIwMjAwMTMxJTJmaW52b2ljZTEuY3N2",
"LastModifiedBy": null
}
Вот параметр, который я использовал при тестировании.
Я сделал здесь несколько предположений, поэтому, пожалуйста, если вы можете предоставить более подробную информацию, которая была бы полезна. Это должно помочь вам хотя бы начать.
Комментарии:
1. Спасибо, Джон! Я попробую это и протестирую. Большое спасибо за ваш ответ!