title: CLI to put data into AWS Firehose
body: <p>AWS Firehose was released today. I'm playing around with it and trying to figure out how to put data into the stream using AWS CLI. I have a simple JSON payload and the corresponding Redshift table with columns that map to the JSON attributes. I've tried various combinations but I can't seem to pass in the JSON payload via the cli.</p>
  
  <p>What I've tried:</p>
  
  <pre><code>aws firehose put-record --delivery-stream-name test-delivery-stream --record '{ "attribute": 1 }'
  
  aws firehose put-record --delivery-stream-name test-delivery-stream --record { "attribute": 1 }
  
  aws firehose put-record --delivery-stream-name test-delivery-stream --record Data='{ "attribute": 1 }'
  
  aws firehose put-record --delivery-stream-name test-delivery-stream --record Data={ "attribute": 1 }
  
  aws firehose put-record --delivery-stream-name test-delivery-stream --cli-input-json '{ "attribute": 1 }'
  
  aws firehose put-record --delivery-stream-name test-delivery-stream --cli-input-json { "attribute": 1 }
  </code></pre>
  
  <p>I've looked at the cli help which hasn't helped. <a href="https://aws.amazon.com/blogs/aws/amazon-kinesis-firehose-simple-highly-scalable-data-ingestion/" rel="nofollow">This article</a> was published today but looks like the command they use is already outdated as the argument "--firehose-name" has been replaced by "--delivery-stream-name".</p>