---
# System prepended metadata

title: 塩谷編集中_【50期】Python勉強会　第8回
tags: [Python勉強会]

---

###### tags: `Python勉強会`
# 塩谷編集中_【50期】Python勉強会　第8回

:::info
**＜第8回Web会議日程＞**
2023年06月21日（水）19:00から
:::

## 第7回　解説

### ・課題
**現在、「<span style="color:blue">lambda_function.py</span>」は、以下のようにLINEで入力した場合、**
**2行目をキー、3行目を値としたJSONファイルをS3に書き込みます。**


![](https://hackmd.io/_uploads/HJhh5w542.png)


**上記に以下のようにLINEで入力した場合、S3のJSONファイルを読み込み、**
**キーに対応する値をに応答する処理を追加してください**

![](https://hackmd.io/_uploads/BJqp9Pq4n.png)


### ・回答例

 ```python=
def s3_output(from_text):
    # 入力内容を改行コードで区切ってリスト型に格納
    str = from_text.split('\n')

    # リストの要素数が1つより大きいの場合
    if( len(str) > 1 ):
        
        # リストの2要素目（キー）がjson_dataに含まれる場合
        if( str[1] in json_data ):
            
            # キーに対応する値を「to_text」に格納
            to_text = json_data[str[1]]

        # リストの2要素目（キー）がjson_dataに含まれない場合
        else:
            to_text = str[1] + 'は登録されていません'
            
    else:
        to_text = '２行目にキーを入力してください'

    return to_text
 ```

### ・解説
「s3_output」関数実行時には、
「s3_function.py」内のjsonファイル読み込み処理実行済みのため、
変数「json_data」は以下となる

 ```python
#　json_data
{'明日の予定': '仕事'}
 ```

「from_text」には、LINEでの入力内容が以下の文字列として入る

 ```python
#　from_text
'出力\n明日の予定'
 ```
 
 このままでは処理できないため、「from_text」を改行コードで区切ってリスト型「str」に格納する
```python!
str = from_text.split('\n')
 ```
「str」は以下のようなリストの値となる
```python!
# str
['出力', '明日の予定']
 ```
 
リスト型「str」の2つ目の要素の値をキーとして、
辞書型「json_data」から値を取り出し、「to_text」に代入できていれば、OK
 
 ```python
 to_text = json_data[str[1]]
 ```
 
 上記に加え、想定外の入力があった場合の処理として、以下を追加
 ・「出力」から始まる1行しか入力がなかった場合、「２行目にキーを入力してください」を返す
・2行目にs3のjsonにないキーが指定された場合、「 キー は登録されていません」を返す

------

## 第8回　課題

まず、ホットペッパーAPIとは・・
### 【ホットペッパーAPI】

:::info
**【URL】ホットペッパーAPI**
https://webservice.recruit.co.jp/doc/hotpepper/reference.html

リクルートが提供するOPENAPI。ホットペッパーとホットペッパーBeautyの2種類のAPIが提供されている。
ホットペッパーAPIを利用するには利用申請が必要となる。
[リンク](https://webservice.recruit.co.jp/register/)より新規登録し、APIキーを取得します。

:::

### ・Lambda　レイヤー
:::warning
・Lambdaレイヤーは、追加のコードまたはデータを含むことができる .zipファイルをまとめたもの。ライブラリ、カスタムランタイム、データ、または設定ファイルを含めることができる。
・lambdaでサードパーティライブラリを使うにはLayerを使う必要があり、AWS Lambda上でもサードパーティー製のライブラリを使うことができる。
・Lambdaは標準ライブラリしか使えず、外部モジュールを使用するにはインストールしなければならない。
また、ファイルをAWSにアップロードすると、関数で利用できる
:::

※今回は。。。

:::