# はじめに
この記事は筆者がiOSとAWSの連携をしていたときに苦しんだため書いたものである。筆者の備忘録的な意味合いもあるため、わかりずらさがあったらすいません。
- 苦しんだ理由
- Kinesis data streams との関連記事がなんか古い(2015年とか)けどとりあえず実装してみるかという甘い考えでいた。
- swift Jsonなどの知識不足
実際起こった問題
AWSKinesis iOSでググると2015年の記事がいっぱい出てくる、それを実装しても曖昧な関数なので、ダメです!とかいうエラーが出てよくわかんない
## 完成形のコード
-
前提条件
cocoapods,AWSCore,AWSKinesis,AWSCognitoはimportで宣言済みlet kinesisRecorder = AWSKinesisRecorder.default() let jsonStr = """{\"hogehoge\": \"hogehoge\",\"mobile_timestamp\": \"2016-03-16 01:40:12\",\"hogehoge\": \"hogehoge\",\"hogehoge\": \"hogehoge\",\"hogehoge\": \"hogehogehoge\",\"hogehoge\": \"hogehoge\"}""" let yourData = jsonStr.data(using: .utf8) kinesisRecorder.saveRecord(yourData, streamName: "your stream name") kinesisRecorder.submitAllRecords()
ざっくりと見てみる
一行目 kinesisを使うためのレコーダー宣言
二行目 Jsonの定義
三行目 utf8でのエンコード
四行目 作成したストリームを指定して、宛先を指定
五行目 送信
これだけでデータを送れると
ただ、"""を使用してjsonを無理やり文字列にしているのがいただけない・・・