使用.NET SDK发布到Amazon Web Services Kinesis时出错

本文关键字:Services Web Kinesis 出错 Amazon NET SDK 使用 | 更新日期: 2023-09-27 17:58:36

我希望你们中的一个人能帮助我使用AWS Kinesis。我一直在翻阅文档,但仍然无法将"一团"数据发布到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"
}

使用"Postman"一个谷歌chrome应用程序来发出Http请求,并为上述字段填写适当的信息,我一辈子都无法弄清楚如何成功地将数据发布到流中。我无法成功地做到这一点,所以我继续使用visual studio的.NET SDK。

我制作了一个快速命令行c#控制台应用程序,但我仍然有一些问题。

我的代码:http://pastebin.com/cyJeC0vU

错误消息System.Xml.XmlException未经处理出现在代码的第61行:http://pastebin.com/HEG7DmMw

有人成功使用过AWS Kinesis吗。我很乐意为你开窍/以某种方式回报你的辅导。

再次感谢您的帮助!

使用.NET SDK发布到Amazon Web Services Kinesis时出错

您得到的错误表明无法解析来自服务的响应。SDK从JSON解析器切换到XML解析器是因为响应看起来像XML。这通常表示您在一个需要身份验证的代理后面,并且该代理会给您一条HTML错误消息。

您可以通过启动像Fiddler这样的协议分析器并查看请求流量来验证这一点。如果您的代理需要凭据,这里有一些关于使用带有代理的AWS SDK for.NET的文档:

为.NET应用程序的AWS SDK配置凭据