Pulumi: манипулировать строкой подключения во время развертывания

Я использую Pulumi для развертывания нескольких ресурсов Azure, и это нормально.

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

const myPolicy = new azure.eventhub.TopicAuthorizationRule(...);

const myPolicyConnectionString = myPolicy.primaryConnectionString.get();

const goodConnectionString = myPolicyConnectionString .substr(0, myPolicyConnectionString .lastIndexOf(';EntityPath'));

И у меня такая ошибка: не удается вызвать .get во время обновления или предварительного просмотра.

Как я могу выполнить эту манипуляцию со строкой, чтобы установить ее в AppSettings?


person JuChom    schedule 17.01.2019    source источник


Ответы (1)


Значение строки подключения еще неизвестно на момент предварительного просмотра, поэтому вы не можете использовать его напрямую. Он содержится в значении типа Output<T>, которое будет разрешено в update время.

Вы можете преобразовать значения Output<T> с помощью функции apply:

const goodConnectionString = 
    myPolicy.primaryConnectionString.apply(s => s.substr(0, s.lastIndexOf(';EntityPath'));

который затем можно использовать для назначения AppSettings (без явного вызова get).

person Mikhail Shilkov    schedule 18.01.2019