【やってみよう】Alexaにものをたのむ準備-データ編

まずは空編のデータからです。

今回はここの部分です。ここにデータをいれるところ!

Lambdaの b を忘れてるのはご容赦くださいw


1.CSVデータ作成(これが一番大変)
2.AWSのデータベース(今回はDynamo)に入力(またはまる)

1.子どもに図鑑を借り、CSVファイルを作っていきます。図鑑を借りてぽちぽち入力してたら子どもが「手伝いたい、自分もやりたい!!!」と言っていたので、音声認識とかで入力手伝ってもらってもいいのかもなー。。。

一旦テスト用で入力したので、20件ほど入れました。最終的には、子どもが納得するくらいの量が欲しいところ。

2.これを、勉強のために、DynamoDbに入力してみよう・・・と思ったら画面からの入力が超めんどくさい。20件手で入れるのいやだなーと思ってPythonでサンプルプログラムを探して、Pandasで読み込んだら超読みやすくなった!ちょっとうれしい。

import pandas as pd
import boto3

csv_name = "Airplane.csv"
csv_input = pd.read_csv(filepath_or_buffer=csv_name, encoding="utf8", sep=",")

for index,item in csv_input.iterrows():
    #念のため入力内容を表示
    print(item['keyword'])
    print(item['tag'])
    print(item['detail'])

    dynamodb = boto3.resource('dynamodb')
    #作っておいたテーブル名を指定
    table = dynamodb.Table('Airline')
    table.put_item(
        Item={#作っておいた項目にはめていく。
             "keyword": item['keyword'],
              "tag": item['tag'],
              "detail": item['detail']
            }
       )

で、これを実行していこうと思ったら下記のエラー。

An error occurred (ResourceNotFoundException) when calling the Scan operation: Requested resource not found

一歩一歩つまづいている感ありますが、今回は意外に簡単に解決しました。下記のQiitaを参考にさせていただいて。

DynamoDBへputしたらResourceNotFoundExceptionが発生した時の対処https://qiita.com/tottu22/items/260f75de737c21664ec7

aws configure get region
us-west-2

!東京リージョンじゃないやん!!で、これってGETできるならSETできるんちゃうのと思ってコマンド打ってみたら、セットできました!

aws configure set region ap-northeast-1
aws configure get region
ap-northeast-1

やったー!Dynamoにデータが入った!

ということで下準備が!すこしづつ進んできました。

次は、入れたデータを取り出すところを作っていきます。


この記事が気に入ったらサポートをしてみませんか?