AWS SES Query API请求中Signature Version 4所需服务名称咨询
AWS SES Signature Version 4 服务名称确认
刚好之前处理过SES的SigV4签名相关工作,明确告诉你——AWS SES的服务名称是email,不是你疑惑的SES。
对应你给出的CredentialScope格式,服务名称部分填email就对了。举个实际例子:如果请求日期是20240520、区域是us-west-1,那CredentialScope就应该写成20240520/us-west-1/email/aws4_request。
再给你补一个符合你公式的完整StringToSign示例参考:
StringToSign = AWS4-HMAC-SHA256
- \n
- 20240520T123456Z
- \n
- 20240520/us-west-1/email/aws4_request
- \n
- 7f9c199f45c987b95f8d4105689a35e44f202c156645412d58977d0567e8f53a
另外提个小提醒:在用SES Query API生成SigV4签名时,除了服务名称要正确,还要确保Canonical Request的其他部分(比如GET请求的URI、查询字符串编码)都符合AWS规范,不然签名还是会验证失败哦。
内容的提问来源于stack exchange,提问作者johnDoe




