{"version":"1.0","provider_url":"https://hatena.blog","title":"AttributeError: 'str' object has no attribute 'read'","description":"\u4e8b\u8c61 Aurora PostgreSQL\u4e92\u63db\u306e\u30a2\u30af\u30c6\u30a3\u30d3\u30c6\u30a3\u30b9\u30c8\u30ea\u30fc\u30e0\u3092 Kinesis Firehose \u3067 S3 \u306b\u51fa\u529b\u3057\u3001Lambda \u3067\u8aad\u3093\u3067 JSOn \u30b3\u30fc\u30c9 def load_iter(text: str) -> Generator: size = len(text) decoder = JSONDecoder() index = 0 while index < size: obj, offset = decoder.raw_decode(text, index) yield obj search = WHITESPACE.search(text, offset) if searc\u2026","categories":["Python"],"image_url":null,"author_url":"https://blog.hatena.ne.jp/yohei-a/","width":"100%","height":"190","published":"2020-04-08 05:33:17","url":"https://yohei-a.hatenablog.jp/entry/20200408/1586291597","provider_name":"Hatena Blog","blog_url":"https://yohei-a.hatenablog.jp/","author_name":"yohei-a","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fyohei-a.hatenablog.jp%2Fentry%2F20200408%2F1586291597\" title=\"AttributeError: &#39;str&#39; object has no attribute &#39;read&#39; - ablog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"ablog","type":"rich"}