gpt4 book ai didi

aws-cloudformation - 解析 serverless.yml 中的整数以使用环境变量中的 MemoryDB 的 ClusterEndpoint.Port

转载 作者:行者123 更新时间:2023-12-03 07:16:26 28 4
gpt4 key购买 nike

我正在为我的无服务器功能创建一个 MemoryDB 集群,但是 Port for the MemoryDB endpoint is an Integer ,因此当我尝试设置环境变量以将端点 URL 传递给我的函数时,我收到错误

Error:
Cannot resolve serverless.yml: Variables resolution errored with:
- Cannot resolve variable at "provider.environment.MEMORYDB_ENDPOINT": String value consist of variable which resolve with non-string value

示例 serverless.yml 文件:

provider:
name: aws
# [...]
environment:
MEMORYDB_PORT: ${self:custom.MEMORYDB_PORT}
# [...]
custom:
MEMORYDB_PORT: !GetAtt MemoryDB.ClusterEndpoint.Port

我尝试过使用 Fn::Join、Fn::Sub (插件)等,但它们都期望字符串作为参数。

我不打算使用自定义端口,因此我始终可以采用默认端口,但我觉得我在这里遗漏了一些东西。

有没有办法以某种方式解析无服务器/云信息中的整数?或者至少将该端口转换为字符串?

最佳答案

据我所知,无服务器不允许在 .yaml 文件中包含函数,因为这只是一个声明。

您可以有一个自定义插件:https://www.serverless.com/framework/docs/guides/plugins/custom-variables

看起来很相似

    export class MaxBatchingWindowIntParser {
public configurationVariablesSources: object;

public constructor() {
this.configurationVariablesSources = {
parseValue: {
resolve({ address }) {
return {
value: Number.parseInt(address, 10),
};
},
},
};
}
}

关于aws-cloudformation - 解析 serverless.yml 中的整数以使用环境变量中的 MemoryDB 的 ClusterEndpoint.Port,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71758178/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com