gpt4 book ai didi

amazon-web-services - 是否可以使用 Postman 通过 http 和 dynamo api 访问 Dynamodb

转载 作者:行者123 更新时间:2023-12-04 12:13:52 24 4
gpt4 key购买 nike

我正在尝试使用 Postman,chrome 扩展 api 客户端 Postman通过 http 访问 Dynamodb。这实际上是我在书中读到的一种方法 Dynamodb Applied Design Patterns .看来我做错了什么,因为我无法成功进行身份验证并获得对 Web 服务的访问权限。

我在 Postman 客户端中使用的 url 和 header 以及我最近的请求参数和错误消息如下:

url: dynamodb.us-east-1.amazonaws.com
x-amz-date: 20150701T162011Z
x-amz-targe: DynamoDB_20120810.ListTables
authorizaton: AWS4-HMAC-SHA256 Credential=AMyAccessCode/20150701/us-east-1/dynamodb/aws4_request, SignedHeaders=host;x-amz-date;x-amz-target, Signature=8ngTnF8WH//njvBdY5bY5dSp5CAKi8qTXNFuv5Ws+30=
content-type: application/x-amz-json-1.0

我的请求正文是:
{
"ExclusiveStartTableName": "Owner",
"Limit": 3
}

我收到以下错误消息:

{"__type":"com.amazon.coral.service#InvalidSignatureException","message":"我们计算的请求签名与您提供的签名不匹配。请检查您的 AWS secret 访问 key 和签名方法。请参阅服务文档以了解详细信息。\n\n此请求的规范字符串应该是\n'POST\n/\n\nhost:dynamodb.us-east-1.amazonaws.com\nx-amz-date:20150701T162011Z\nx-amz-目标:DynamoDB_20120810.ListTables\n\n主机X-AMZ-日期; X-AMZ-目标\nb9e264461dcb0e94e69652f8b2d17c737a29506863d6f09c0f9fc98e9d560e5c'\n\n此字符串到注册应该已经\n'AWS4-HMAC-SHA256\n20150701T162011Z\n20150701/美-east-1/dynamodb/aws4_request\n7a6da3d9e8ed6317e0cb9217e9ea1174d01e86871a159f339f5f6969283264d5'\n"}

问题/奇怪 1. 当我发出请求时,我通常会收到回复,表明我的请求已过期。错误消息将包括比我使用的实际时间早四个小时的“有效”时间。当我在请求中使用错误信息提供的时间时,我不再收到过期的请求错误信息。

问题 2. 此消息似乎表明我必须计算规范请求的哈希值。亚马逊上的文档对此有点不清楚。我是否需要计算规范请求的 has,如果需要,我是否将其作为 header 包含在内”如果是这样, header 名称是什么?

我已经能够计算签名并复制亚马逊文档中的签名。

感谢您的输入。

最佳答案

我能够使用 Postman 3 进行调用。

curl 示例:

  curl -X POST \
https://dynamodb.eu-west-1.amazonaws.com/ \
-H 'authorization: AWS4-HMAC-SHA256 Credential=ABCDDEFSDFDDFDAG/20170725/eu-west-1/dynamodb/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-date;x-amz-target, Signature=7402a0163c267385b7270f5c6ce49748518cac4f4d7e03addbd9ddedf9c9970' \
-H 'cache-control: no-cache' \
-H 'content-type: application/json' \
-H 'host: dynamodb.eu-west-1.amazonaws.com' \
-H 'postman-token: 0152b36c-2947-2a6f-91b9-87884b38fb50' \
-H 'x-amz-date: 20170725T181135Z' \
-H 'x-amz-target: DynamoDB_20120810.GetItem' \
-d '{
"TableName": "TableName",
"Key": {
"id": {"S": "KeyId"}
}
}'
  • 插入体

  • Insert Body
  • 输入凭据并单击更新请求。您可能需要单击 Update Request更经常更新x-amz-date

  • Enter Credentials and Click on Update Request
  • 将 Content-Type header 更新为 application/json

  • Update Content-Type Header to application/json

    关于amazon-web-services - 是否可以使用 Postman 通过 http 和 dynamo api 访问 Dynamodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167275/

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