Магазин Nifi Azure Blob account_name / account_key в одном месте - PullRequest
1 голос
/ 19 июня 2020

У меня есть DeleteAzureBlobStorage и PutAzureBlobStorage в нескольких местах. По данным ducumentation, эти процессоры поддерживают «Имя учетной записи хранения» и «Ключ учетной записи хранения», которые можно указать либо в атрибутах, либо в реестре значений. AFAIK, оба способа небезопасны, истинный способ для конфиденциальной информации - использовать контекст параметра.

Итак, я закончил копированием пары «имя-ключ» на несколько процессоров. Очень громоздко, учитывая, что у меня есть 3 среды.

Есть ли лучший способ поделиться конфигурациями DeleteAzureBlobStorage / PutAzureBlobStorage на нескольких процессорах?

1 Ответ

1 голос
/ 19 июня 2020

Да, каждый из этих процессоров имеет свойство AzureStorageCredentialsControllerService, которое является службой контроллера, для которой предоставляются учетные данные Azure. Определите службу контроллера и заполните ее один раз, а затем укажите на нее столько процессоров, сколько захотите.

Если у вас несколько наборов учетных данных, вы также можете использовать AzureStorageCredentialsControllerServiceLookup, который удовлетворяет требованиям службы контроллера выше, но фактически служит преобразователем для нескольких наборов через azure.storage.credentials.name атрибут. Например, вы можете настроить dev и test с разными учетными данными, указать ASCCS для каждой пары учетных данных и зарегистрировать их оба с помощью поиска службы, обозначенного dev или test соответственно. Затем, когда потоковый файл, проходящий через процессор, имеет значение атрибута azure.storage.credentials.name dev, будут использоваться эти учетные данные, а при test - тестовые учетные данные.

...