You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#对接AWS Kinesis及配置Postman/Fiddler请求头

AWS Kinesis客户端对接及请求头适配方案

1. C#实现代码

首先安装AWS官方Kinesis SDK NuGet包:
Install-Package AWSSDK.Kinesis

完整代码示例:

using Amazon;
using Amazon.Kinesis;
using Amazon.Kinesis.Model;
using System.Text;

namespace KinesisDemo
{
    internal class Program
    {
        static async Task Main(string[] args)
        {
            // 替换为实际生效的凭证信息
            string awsKeyId = "##AZG6B52DCC##";
            string awsKeySecret = "##NG6e#p/##YGuRVEs5jqjwB4i3GLpwaewt##";
            // 从提供的ARN中提取对应信息:区域为us-east-1,流名为ARN最后一段/后的内容
            RegionEndpoint region = RegionEndpoint.USEast1;
            string streamName = "template-v1-kinesis-##00056###-64-sandbox-customerstream###-Vfyubo###";

            // 初始化Kinesis客户端
            using var kinesisClient = new AmazonKinesisClient(awsKeyId, awsKeySecret, region);

            // 构造单条消息写入请求
            PutRecordRequest putRequest = new PutRecordRequest
            {
                StreamName = streamName,
                // 消息内容转二进制流
                Data = new MemoryStream(Encoding.UTF8.GetBytes("你的业务消息内容")),
                // 分区键用于Kinesis分片路由,可按业务规则自定义
                PartitionKey = "your-custom-partition-key"
            };

            try
            {
                PutRecordResponse putResponse = await kinesisClient.PutRecordAsync(putRequest);
                Console.WriteLine($"写入成功,分片ID:{putResponse.ShardId},序列编号:{putResponse.SequenceNumber}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"写入失败,错误:{ex.Message}");
            }
        }
    }
}

2. Postman/Fiddler适配所需HTTP请求头参数

所有请求需配置以下头参数:

  • Host:固定值为kinesis.us-east-1.amazonaws.com,对应Kinesis服务接入域名
  • X-Amz-Target:接口操作标识,单条写入操作为Kinesis_20131202.PutRecord,其他操作替换为对应接口名即可
  • Content-Type:固定值为application/x-amz-json-1.1
  • Authorization:AWS SigV4签名串,需使用AWS Key ID、Key Secret结合请求内容、区域、服务名生成
  • X-Amz-Date:ISO 8601格式的UTC时间,示例:20240520T130522Z,签名计算时必须和该值完全一致
  • Content-Length:请求Body的字节长度,工具可自动生成也可手动配置

小提示:使用Postman时可直接在Authorization标签选择「AWS Signature」类型,填写对应Key ID、Key Secret、区域填us-east-1、服务名填kinesis,Postman会自动生成签名及其他必要头参数,无需手动计算签名。


内容的提问来源于stack exchange,提问作者Anish Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:24:03