1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

LambdaでDropbox APIを実行する

Posted at

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の権限まわり含めて理解していきたい
1
0
0

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
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?