Last active
May 17, 2017 09:24
-
-
Save crazygit/adb1280bad2cc57e4261da2263bb5464 to your computer and use it in GitHub Desktop.
Test put data to AWS firehose
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import boto3 | |
import json | |
from datetime import datetime | |
# 本脚本只适用于适用特定的用户操作Firehose, 模拟角色可以参考 | |
# http://boto3.readthedocs.io/en/latest/reference/services/sts.html#STS.Client.assume_role | |
# https://gist.github.com/gene1wood/938ff578fbe57cf894a105b4107702de | |
def list_delivery_streams(client): | |
response = client.list_delivery_streams( | |
Limit=123, | |
) | |
print pretty_output(response) | |
def pretty_output(response): | |
return json.dumps(response, indent=4) | |
def put_record(client, delivery_stream_name): | |
for i in range(1, 2): | |
print "put %d" % i | |
response = client.put_record( | |
DeliveryStreamName=delivery_stream_name, | |
Record={ | |
'Data': b'Hello world\n' | |
} | |
) | |
print pretty_output(response) | |
def put_record_batch(client, delivery_stream_name): | |
records = [] | |
for i in range(1, 500): | |
records.append({ | |
'Data': b'%d Hello World! %s\n' % (i, datetime.now().strftime('%Y-%m-%d %H:%M:%S')) | |
}) | |
response = client.put_record_batch( | |
DeliveryStreamName=delivery_stream_name, | |
Records=records | |
) | |
print pretty_output(response) | |
if __name__ == '__main__': | |
# boto3.setup_default_session(profile_name='CodeDeployEC2Role') | |
aws_access_key_id = 'aws_access_key_id' | |
aws_secret_access_key = 'aws_secret_access_key' | |
region_name = 'us-east-1' | |
delivery_stream_name = 'delivery_stream_name' | |
boto3.setup_default_session(aws_access_key_id=aws_access_key_id, | |
aws_secret_access_key=aws_secret_access_key, | |
region_name=region_name) | |
client = boto3.client('firehose') | |
# list_delivery_streams(client) | |
# put_record(client, delivery_stream_name) | |
put_record_batch(client, delivery_stream_name) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment