LoginSignup
0

More than 1 year has passed since last update.

posted at

LambdaでDropbox APIを実行する

Dropbox APIをLambdaで実行したときの個人メモ

準備

Dropbox API

  • Dropboxのアカウントがあることが前提

  • Dropboxのホーム画面から「App Center」を選択

000.JPG

  • 「アプリの開発」を選択

001.JPG

  • 「アプリを作成」を押下

002.JPG

  • 以下設定にて「Create app」を押下

004.JPG

  • アプリを作成したことを確認

005.JPG

Lambda

  • AWSマネジメントコンソールからLambdaを選択、「関数の作成」を押下

006.JPG

  • カスタムランライムとしてAmazon Linux 1を選択、「関数の作成」を押下

007.JPG

  • 生成された「hello.sh」を一部変更して「Deploy」を押下
hello.sh
function handler () {
    EVENT_DATA=$1

    DATE=`date`
    RESPONSE="{\"statusCode\": 200, \"body\": \"$DATE\"}"
    echo $RESPONSE

}

008.JPG

  • テスト実行前に、テストイベントを作成
    インプットを利用していないため、空でも動作に影響なし

009.JPG

  • 「Test」を押下し、実行

010.JPG

  • echoした内容がレスポンスに出力されていることを確認

011.JPG

  • 「hello.sh」を一部変更して「Deploy」を押下、「Test」を押下し、実行
    • curlコマンドを利用してHTTPリクエストを送信、レスポンスをechoするように変更
    • 今回はhttpbin.orgを利用
hello.sh
function handler () {
    EVENT_DATA=$1

    HTTP=`curl -X GET "http://httpbin.org/get"`
    RESPONSE="{\"statusCode\": 200, \"body\": \"$HTTP\"}"
    echo $RESPONSE

}

012.JPG

  • HTTP通信できていることを確認

013.JPG

Dropbox API実行

APIの権限を確認(今回は/get_current_accountを実行)

  • 利用するAPIに必要な権限が「account_info.read」であることを確認

020.JPG

  • アプリ情報から許可されている権限を確認

018.JPG

  • 「account_info.read」にチェックが入っていることを確認

023.JPG

  • EXAMPLEからcurlコマンドをコピーしLambdaにペースト、「Test」を押下し、実行

020.JPG
021.JPG

  • レスポンスにアカウント情報が含まれていることを確認

022.JPG

感想

  • curlをたたきたいだけなら、LambdaでPythonと思っていたが
    カスタムランライムを使うと楽そう
  • Dropbox APIの権限まわり含めて理解していきたい

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
0