我想转义单引号,使其成为字符串的一部分。从这样的东西:
!Join [ '', [ 'xyz', '.execute-api.eu-central-1.amazonaws.com', ''', ',', ' '' 'something' ] ]
我想得到这个:
xyz.execute-api.eu-central-1.amazonaws.com', 'something
我将其用于无服务器框架作为环境变量,该变量将其视为应变,以便在其周围加上两个单引号。
答案 0 :(得分:1)
我对您的Join语句有点困惑,但是您可以通过将单引号括在双引号中来包含单引号(无需转义)。您还需要用逗号将双引号引起来。从无服务器文档中:
将Cache-Control标头传递为“'max-age = 120'”表示API网关将接收值为“ max-age = 120'(用单引号引起来)。
在.yml中,必须引用包含:,{,},[,] 、、、&,*,#,?,|,-,<,>,=,!,%,@,`的字符串。
因此,要产生xyz.execute-api.eu-central-1.amazonaws.com', 'something
,可以使用以下Join语句:
!Join [
"", [
"xyz",
".execute-api.eu-central-1.amazonaws.com",
"', '",
"something"
]
]
免责声明:我不确定您希望输出字符串是什么,但这演示了一般概念。
对于那些不使用JSON编写代码的人,可以在serverless.yml文件中使用固有的Fn::Join
函数以获得更全面的结构:
sameWeirdEndpoint:
Fn::Join:
- ""
- - "xyz"
- ".execute-api.eu-central-1.amazonaws.com"
- "', '"
- "something"
希望这会有所帮助!
参考:https://serverless.com/framework/docs/providers/aws/events/apigateway/#custom-request-templates