我正在使用 AWS CLI 制作 SES 模板,并且在发送电子邮件时遇到单引号转换为特殊字符的问题。
当字符串中包含单引号时,使用 CLI 执行 DynamoDB 放置项操作时也会发生这种情况。
我试过反斜杠,将引号用双引号引起来然后转义等等。
aws ses send-bulk-templated-email --cli-input-json file://test.json aws dynamodb put-item --table-name TABLE --item file://item.json
项目/测试示例(json 片段):
测试:“SubjectPart”:“生日快乐!现在你 18 岁了,更多地参与管理你的医疗保健”
项目: “S”:“现在你 18 岁了”
输出:
生日快乐!现在您已年满 18 岁,更多地参与管理您的医疗保健
和
现在你 18 岁了
预期:
生日快乐!现在您已年满 18 岁,更多地参与管理您的医疗保健
和
现在你18岁了
最佳答案
假设您使用的是 Linux 或 Mac,使用 bash shell ...
以下是使用 awscli 时如何转义引号字符的示例:
aws dynamodb put-item \
--table mytable \
--item '{"id":{"S":"1"}, "name":{"S":"Fred'\''s Garage"}}'
第二种方式:
aws dynamodb put-item \
--table mytable \
--item $'{"id":{"S":"1"}, "name":{"S":"Fred\'s Garage"}}'
在后一个例子中,形式为 $'string' 的单词被特殊对待,并允许您 quote certain characters .
关于amazon-web-services - 使用 AWS CLI 将单引号转换为特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57510665/