AWS实战(二)之Java连接AWS的 Kinesis Data Firehose,实现数据上传S3中

上文已经提到了Kinesis Data Firehose在我的设计中处在我的client和S3之间实现了大数据信息收集存储的功能;

Kinesis Data Firehose API 提供两种向传输流发送数据的操作:PutRecord 和 PutRecordBatch。PutRecord() 可在一次调用中发送一条数据记录;PutRecordBatch() 可在一次调用中发送多条数据记录(代码仅仅实现PutRecord ,PutRecordBatch的实现可参考官方文档https://docs.amazonaws.cn/firehose/latest/dev/writing-with-sdk.html)。

 

public class FireHoseController {

    private static String access_key_id = "********";
    private static String secret_key_id = "*************************";

    private static AmazonKinesisFirehose build;
    static {        
        BasicAWSCredentials awsCredentials = new BasicAWSCredentials(access_key_id, secret_key_id);

        build = AmazonKinesisFirehoseClient.builder().withRegion("cn-north-1")
            .withCredentials(new AWSStaticCredentialsProvider(awsCredentials))
            .build();;

    }

    public static PutRecordResult fireHose() {

        PutRecordRequest putRecordRequest = new PutRecordRequest();
        putRecordRequest.setDeliveryStreamName("创建的 Data Firehose名称");

        String data = "11111111111111" + "\n";  //测试数据

        Record record = new Record().withData(ByteBuffer.wrap(data.getBytes()));
        putRecordRequest.setRecord(record);

        // Put record into the DeliveryStream
        PutRecordResult putRecord = build.putRecord(putRecordRequest);
        return putRecord;
    }
    public static void main(String[] args) {
        System.out.println( fireHose());
    }
}

 

你可能感兴趣的:(AWS,Kinesis,S3,大数据收集,IOT,AWS,云服务)