表題を試したい。
■ 環境
- awscli 1.15.0
- AWS Kinesis Data Firehose
- macOS High Sierra
■ Kinesis Data Firehose
ManagementConsoleからいろいろ設定をして環境は作った。テストをしたくて簡易的にデータを入れて動作を確認したい。
$ aws firehose help
`firehose`サブコマンドを使うようである。どんなコマンドがあるかと確認すると下記であった。
- create-delivery-stream
- delete-delivery-stream
- describe-delivery-stream
- help
- list-delivery-streams
- list-tags-for-delivery-stream
- put-record
- put-record-batch
- tag-delivery-stream
- untag-delivery-stream
- update-destination
データの投入をしたいので、今回は`list-delivery-streams`/`describe-delivery-stream`/`put-record`だけを確認してみる。
$ aws firehose list-delivery-streams
{
"DeliveryStreamNames": [
"example-stream-001"
],
"HasMoreDeliveryStreams": false
}
$
詳細を見てみる。
$ aws firehose describe-delivery-stream --delivery-stream-name example-stream-001
{
"DeliveryStreamDescription": {
"DeliveryStreamName": "example-stream-001",
"DeliveryStreamARN": "arn:aws:firehose:ap-northeast-1:XXXXXXXXXXXX:deliverystream/example-stream-001",
"DeliveryStreamStatus": "ACTIVE",
"DeliveryStreamType": "DirectPut",
"VersionId": "1",
"CreateTimestamp": 1533028327.363,
"Destinations": [
{
"DestinationId": "destinationId-000000000001",
"S3DestinationDescription": {
"RoleARN": "arn:aws:iam::XXXXXXXXXXXX:role/firehose_delivery_role",
"BucketARN": "arn:aws:s3:::firehose-example",
"Prefix": "logs/",
"BufferingHints": {
"SizeInMBs": 5,
"IntervalInSeconds": 60
},
"CompressionFormat": "GZIP",
"EncryptionConfiguration": {
"NoEncryptionConfig": "NoEncryption"
},
"CloudWatchLoggingOptions": {
"Enabled": true,
"LogGroupName": "/aws/kinesisfirehose/example-stream-001",
"LogStreamName": "S3Delivery"
}
},
"ExtendedS3DestinationDescription": {
"RoleARN": "arn:aws:iam::XXXXXXXXXXXX:role/firehose_delivery_role",
"BucketARN": "arn:aws:s3:::firehose-example",
"Prefix": "logs/",
"BufferingHints": {
"SizeInMBs": 5,
"IntervalInSeconds": 60
},
"CompressionFormat": "GZIP",
"EncryptionConfiguration": {
"NoEncryptionConfig": "NoEncryption"
},
"CloudWatchLoggingOptions": {
"Enabled": true,
"LogGroupName": "/aws/kinesisfirehose/example-stream-001",
"LogStreamName": "S3Delivery"
},
"ProcessingConfiguration": {
"Enabled": false,
"Processors": []
},
"S3BackupMode": "Disabled"
}
}
],
"HasMoreDestinations": false
}
}
$
設定した通りの内容が出てきている気がする。
JSONでデータをしたかったのだが、下記でできた。
aws firehose put-record --delivery-stream-name example-stream-001 --record '{"Data":"{\"attribute\":1}"}'
以上。