Pulumi:在部署期间操纵连接字符串

Pulumi: Manipulate connection string during deployment

我正在使用 Pulumi 部署多个 Azure 资源,效果很好。

我正在部署一个 TopicAuthorizationRule,我需要操作连接字符串以使其与 Azure Function Trigger 一起工作。

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

const myPolicyConnectionString = myPolicy.primaryConnectionString.get();

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

我遇到这个错误:在更新或预览期间无法调用“.get”

如何进行此字符串操作以便在 AppSettings 中进行设置?

预览时连接字符串值未知,因此不能直接使用。它包含在 Output<T> 类型的值中,将在 update 时间解析。

您可以使用 apply 函数转换 Output<T> 的值:

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

然后可用于分配 AppSettings(无需显式调用 get)。