问题:如何在cdktf中使用base64encodeTerraform函数?
据我所知,这些Terraform函数还不受支持。还是现在呢?
我的用例是";加载用于ec2启动模板的BASE64编码的用户数据";
当我尝试使用nodejs方法来做同样的事情时:
import { readFileSync } from 'fs';`
.
.
const userTemplate = readFileSync('./user_template.txt', {encoding: 'utf-8'});
.
.
const launchTemplate = new LaunchTemplate(this, "launchTemplate", {
.
.
userData: userTemplate,
.
它失败,并出现以下错误:
错误:InvalidUserData。格式不正确:用户数据的BASE64编码无效
关于如何使用cdktf将userData传递到LaunchTemplate,有什么建议吗?
解决了这个问题。似乎由readFileSync创建的对象会根据您传递的内容返回缓冲区或字符串。当我像这个一样通过它时
const userTemplate = readFileSync('./user_template.txt', 'base64');
它返回以base64编码的字符串。这正是我所追求的。