Skip to content

Instantly share code, notes, and snippets.

@crazygit
Last active May 17, 2017 09:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save crazygit/adb1280bad2cc57e4261da2263bb5464 to your computer and use it in GitHub Desktop.
Save crazygit/adb1280bad2cc57e4261da2263bb5464 to your computer and use it in GitHub Desktop.
Test put data to AWS firehose
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