接入教程
1. 在 AWS 控制台创建 Firehose 传输流
2. 配置数据源(如 Kinesis Streams 或直接上传)
3. 选择目标存储(如 S3、Redshift、OpenSearch)
4. 设置数据转换(可选 Lambda 函数)
5. 配置错误处理和备份策略
6. 启动传输流并监控数据流指标
使用Python发送数据到Firehose
import boto3
import json
# 初始化Firehose客户端
firehose_client = boto3.client(
'firehose',
region_name='us-east-1',
aws_access_key_id='YOUR_API_KEY',
aws_secret_access_key='YOUR_SECRET_KEY'
)
# 准备记录数据
record = {
'Data': json.dumps({'event': 'sample_data', 'timestamp': '2023-10-01T12:00:00Z'})
}
# 发送数据到指定的投递流
response = firehose_client.put_record(
DeliveryStreamName='your-delivery-stream-name',
Record=record
)
print(f"Record sent. RecordId: {response['RecordId']}")
使用PHP将数据推送到Firehose
<?php
require 'vendor/autoload.php';
use Aws\Firehose\FirehoseClient;
use Aws\Exception\AwsException;
// 配置Firehose客户端
$firehoseClient = new FirehoseClient([
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => [
'key' => 'YOUR_API_KEY',
'secret' => 'YOUR_SECRET_KEY',
],
]);
// 准备数据记录
$record = [
'Data' => json_encode(['event' => 'sample_data', 'timestamp' => '2023-10-01T12:00:00Z']),
];
// 发送记录到投递流
try {
$result = $firehoseClient->putRecord([
'DeliveryStreamName' => 'your-delivery-stream-name',
'Record' => $record,
]);
echo "Record sent. RecordId: " . $result['RecordId'] . "\n";
} catch (AwsException $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
使用JavaScript向Firehose发送数据
const AWS = require('aws-sdk');
// 配置AWS SDK
AWS.config.update({
region: 'us-east-1',
accessKeyId: 'YOUR_API_KEY',
secretAccessKey: 'YOUR_SECRET_KEY'
});
const firehose = new AWS.Firehose();
// 准备数据记录
const record = {
Data: JSON.stringify({ event: 'sample_data', timestamp: '2023-10-01T12:00:00Z' })
};
// 发送记录到投递流
const params = {
DeliveryStreamName: 'your-delivery-stream-name',
Record: record
};
firehose.putRecord(params, (err, data) => {
if (err) {
console.error('Error:', err);
} else {
console.log(`Record sent. RecordId: ${data.RecordId}`);
}
});
常见问题
Amazon Kinesis Firehose 的主要用途是什么?
Amazon Kinesis Firehose 是一项全托管服务,用于实时捕获、转换和加载流数据到数据存储和分析工具,如 Amazon S3、Amazon Redshift、Amazon OpenSearch Service 等。它自动处理数据摄入、缓冲、压缩和加密,无需管理基础设施。
使用 Firehose API 需要哪些凭证?
要使用 Firehose API,您需要 AWS 访问密钥(Access Key ID 和 Secret Access Key),这些可以通过 AWS IAM 控制台生成。确保密钥具有操作 Firehose 投递流(如 PutRecord、ListDeliveryStreams)的必要权限。
Firehose 支持哪些数据目的地?
Firehose 支持将流数据发送到多种目的地,包括 Amazon S3、Amazon Redshift、Amazon OpenSearch Service、Splunk、HTTP 端点以及自定义目的地(通过 AWS Lambda)。它还支持数据转换,如使用 Lambda 函数进行格式转换。
Aitishiku.com