Lumaktaw sa pangunahing nilalaman

Azure Blob Storage

Layunin

I-set up ang awtomatikong file sanitization sa Azure Blob Storage gamit ang Glasswall Halo API sa pamamagitan ng event grid functionality at service bus queues.

Gabay sa Integrasyon ng Azure Blob Storage


Mga Kinakailangan

Mga Tala:

  • Tiyakin na ang lahat ng configuration parameters ay tama ang pangalan at naidagdag sa Azure Function App. Ang anumang hindi pagtutugma ay magdudulot ng mga pagkabigo.
  • Nagbigay lamang kami ng sample code upang ipakita ang use case na ito. Flat files lamang ang hinahawakan nito at wala itong sopistikadong mga mekanismo ng pag-log.

Hakbang 1 - Gumawa ng Service Bus namespace

Una, kailangan mong gumawa ng Service Bus namespace at isang queue upang makatanggap ka ng mga mensahe ng event grid.

Tandaan: ang tier at mga setting ay nauugnay sa iyong load o IT.

  1. Mag-sign in sa Azure Portal.

  2. Pumunta sa All services > Integration > Service Bus.

  3. Sa tab na Basics ng pahinang Create namespace, gumawa ng Namespace.

Tandaan: gagana ang ibinigay na sample code sa lahat ng tier kaya piliin ang mga setting na angkop sa iyong paggamit, at ilagay ang lahat ng kinakailangang configuration.

Abs%20-%20step%201c

Para sa mas detalyadong impormasyon tungkol sa paggawa ng Service Bus namespace at queue, mangyaring sumangguni sa Azure documentation.


Hakbang 2 - Gumawa ng Service Bus queue

Kapag nagawa na ang namespace, kailangan nating gumawa ng queue kung saan ipapadala ang mga event.

  1. Sa pahinang Service Bus namespace, piliin ang Queues sa kaliwang menu ng nabigasyon.

  2. Sa pahinang Queues, piliin ang + queue sa toolbar.

Abs%20-%20step%201d

Tandaan: tulad ng sa namespace, nakabatay sa kagustuhan ang mga setting – para sa halimbawang ito, ginagamit lang namin ang mga default.

  1. Maglagay ng pangalan para sa queue, at iwan ang ibang mga value sa kanilang mga default.

Hindi mahalaga ang pangalang pipiliin mo dahil pinapayagan ng sample code na i-configure ito ayon sa anumang nakatakda.

Abs%20-%20step%201e

  1. Piliin ang Create.

Para sa mas detalyadong impormasyon tungkol sa paggawa ng Service Bus namespace at queue, mangyaring sumangguni sa Azure documentation.


Hakbang 3 - I-set up ang mga event ng source Blob Storage account

Pagkatapos gawin ang Service Bus namespace at queue, i-configure ang source Blob Storage account para maglabas ng mga event bilang mga mensahe sa queue.

Bagama't maaaring i-configure ang mga event na ito para direktang mag-trigger ng Azure Function, kailangang ma-acknowledge ang bawat event sa loob ng 30 segundo. Bagama't mabilis maproseso ang karamihan ng mga file, maaaring lumampas sa palugit na ito ang mas malalaking file o mga panahon ng mataas na load.

Para maiwasan ang limitasyong ito, inirerekomenda naming i-configure ang Event Grid para maghatid ng mga event sa Service Bus queue at payagan ang Azure Function na kumonsumo ng mga mensahe mula sa queue. Nagbibigay ang paraang ito ng mas mataas na resilience at flexibility sa pamamagitan ng paghihiwalay ng event ingestion mula sa pagproseso.

  1. Para i-set up ang mga event, pumunta sa source storage account at piliin ang Events > More options > Service Bus queue.

Abs%20-%20step%202a

  1. Maglagay ng Name sa ilalim ng mga detalye ng event subscription.

  2. Maglagay ng System topic name sa ilalim ng mga detalye ng topic.

  3. Mula sa dropdown na Filter to event type, piliin ang Blob created.

Ibig sabihin nito, magkakaroon ng mensahe para sa bawat bagong file sa Blob Storage sa buong storage account.

  1. Panghuli, piliin ang queue na ginawa mo sa nakaraang hakbang sa ilalim ng endpoint detail.

Abs - step 2b.jpg

Abs%20-%20step%202c

Isang bagong mensahe ng Service Bus ang inilalagay na ngayon sa queue para sa bawat file na ina-upload sa storage account na iyon, na kukunin sa pamamagitan ng isang function na susunod nating gagawin.


Hakbang 4 - Gumawa ng Function App

Dapat ay mayroon kang Function App upang i-host ang pagpapatakbo ng iyong mga function. Magagamit ng Azure function na kumokonsumo sa mga mensahe ng Service Bus na kakagawa mo lang ang mga detalye ng event grid upang matukoy ang bagong file.

May gumaganang halimbawa ang Glasswall sa C# na nagsasagawa ng mga sumusunod:

  • Tinutukoy ang bagong file.
  • Ina-access ang file.
  • Ipinapadala ito sa isang request sa Synchronous API ng Glasswall Halo.
  • Lumilikha (kung wala pa) ng container na may kaparehong pangalan sa destination storage account.
  • Isinusulat ang alinman sa regenerated file (na may kaparehong pangalan ng orihinal) o isang text file kung hindi ito ma-regenerate.
  1. Upang gumawa ng Function App, pumunta sa pahinang Create a resource.

  2. Sa pahinang New, piliin ang Compute > Function app.

  3. Ang mga setting sa ibaba ay gagana para sa halimbawang function ng Glasswall. Dapat mong iakma ang mga setting na ito upang umangkop sa iyong nilalayong function code at hosting option:

Abs - step 3a.jpg

Para sa mas detalyadong impormasyon tungkol sa paggawa ng Function App, pakitingnan ang Azure documentation.


Hakbang 5 - Gumawa ng function

Kapag nalikha na ang Function App, maaari mo nang gawin ang function.

  1. Sa overview ng Function App, nagbibigay ito ng gabay para sa iba't ibang paraan ng pag-deploy ng iyong code.

Piliin ang paraang pinakaangkop para sa iyong napiling codebase.

Abs%20-%20step%203b

Abs%20-%20step%203c

  1. Kung ginagamit mo ang sample code ng Glasswall, kailangang idagdag ang sumusunod na configuration sa Function App sa pamamagitan ng Settings > Configuration.

Maaaring makuha ang lahat ng value mula sa mga kaugnay na resource sa Azure Portal. Para sa access sa Glasswall Halo, gamitin ang iyong instance at authentication, o para sa trial na layunin makipag-ugnayan sa aming sales team para sa basic authentication credentials na gagamitin sa aming public endpoint.

Configuration

SusiValue
Azure_servicebus_connectionstringConnection string para sa service bus
Azure_servicebus_newfiles_queuenamePangalan ng queue para sa mga bagong blob event
Azure_storage_account_namePangalan ng source storage account
Azure_storage_account_keyKey ng source storage account
Azure_storage_destination_connectionstringConnection string ng destination storage account
cdr_usernameUsername para sa Halo API basic auth
cdr_passwordPassword para sa Halo API basic auth
cdr_urlURL para sa CDR-file endpoint (hal. https://api.glasswall.com/api/v3/cdr-file)

Abs%20-%20step%203d

Binabati kita! Kapag nakumpleto na ang lahat ng hakbang, anumang file na inilagay sa source Azure Blob Storage account ay pinoproseso na ngayon ng advanced CDR technology ng Glasswall at nagreresulta sa alinman sa isang regenerated na malinis na dokumento o isang benign na text file na naglalaman ng mensahe ng error.