使用AWS CLI将单引号转换为特殊字符

时间:2019-08-15 13:48:55

标签: amazon-web-services amazon-dynamodb command-line-interface amazon-ses

我正在使用AWS CLI制作SES模板,并且在发送电子邮件时单引号转换为特殊字符时遇到问题。

当字符串中包含单引号时,使用CLI进行DynamoDB放置项操作时,也会发生这种情况。

我尝试了反斜杠,将引号括在双引号中,然后转义等。

aws ses send-bulk-templated-email --cli-input-json文件://test.json aws dynamodb put-item --table-name TABLE --item file://item.json

项目/测试示例(json的片段):

测试:“ SubjectPart”:“生日快乐!您18岁起就可以更多地参与管理您的医疗保健了。”

项目: “ S”:“现在您已经18岁”

输出:

生日快乐!十八岁起,让更多人参与管理您的医疗保健工作

现在您18岁

预期:

生日快乐!十八岁起,让更多人参与医疗保健管理

现在您18岁

2 个答案:

答案 0 :(得分:1)

假设您使用的是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

答案 1 :(得分:0)

经过多次试验和错误后,这才起作用:

您\

我不知道为什么,但是确实如此。发布此答案,以防其他人也遇到这种情况。

示例:

“ SubjectPart”:“生日快乐!既然您18岁,就可以更多地参与管理您的医疗保健”

这将为您提供预期的输出。

相关问题