我希望你们中的一个能帮我使用AWS的动作。我一直在倾注这些文档,我仍然无法将"blob“的数据发布到一个Kinesis流中。
在API中,标准POST请求如下所示。
POST / HTTP/1.1
Host: kinesis.<region>.<domain>
x-amz-Date: <Date>
Authorization: AWS4-HMAC-SHA256 Credential=<Credential>, SignedHeaders=contenttype;
date;host;user-agent;x-amz-date;x-amz-target;x-amzn-requestid, Signature=<Signature>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Connection: Keep-Alive
X-Amz-Target: Kinesis_20131202.PutRecord
{
"StreamName": "exampleStreamName",
"Data": "XzxkYXRhPl8x",
"PartitionKey": "partitionKey"
}使用google应用程序"Postman“来发出Http请求,并为上述字段填写适当的信息,我无法在我的一生中想出如何成功地将数据发布到流中。我无法成功地做到这一点,所以我继续使用.NET。
我制作了一个快速的命令行c#控制台应用程序,我仍然有一些问题。
我的代码:http://pastebin.com/cyJeC0vU
错误消息System.Xml.XmlException未被处理,出现在代码的第61行:http://pastebin.com/HEG7DmMw
有没有人有过使用AWS激酶的成功经验。我很乐意挑选你的大脑/以某种方式回报你一点家教。
再次感谢你的帮助!
发布于 2014-04-16 22:43:19
您所得到的错误指示来自服务的响应无法被解析。有一个线索是,SDK从JSON解析器切换到XML解析器,因为响应看起来像XML。这通常表示您在需要身份验证的代理后面,并且代理将向您提供HTML错误消息。
您可以通过触发像Fiddler这样的协议分析器并监视请求流量来验证这一点。如果您的代理需要凭据,下面是关于将AWS用于.NET和代理的一些文档:
为.NET应用程序配置AWS的凭据
https://stackoverflow.com/questions/23085094
复制相似问题