S3にアップロードするときにLambda関数がタイムアウトする

マーコム

私はPythonで書かれたラムダ関数を持っており、mongodbでいくつかの操作を実行します。その後、関数のtmpフォルダーからs3に画像をアップロードすることになっています。この関数は、アップロードステップでタイムアウトを維持します。

タイムアウトを2分に上げましたが、関数にはS3とvpcのアクセス許可があります。関数は単にタイムアウトします。何がうまくいかないのか誰かが何か考えを持っていますか?

サンプル入力

#picturename should be created by the app. a name unique for the dish
{
    "UserId": "56dc63fc1769d032d4d78e2e",  
    "DishId": "56dcc2781769d032d4d78e2f",
    "PictureName" : "katsu-001.png",
    "Data": "base64 image just the bits ignore data:image/jpeg;base64, if you have it"
}

関数

def addPicture(event,context):  

from __future__ import print_function
import pymongo
from pymongo import MongoClient
import bson.code
from bson.objectid import ObjectId
import datetime
import json    
import boto3
import sys
import uuid
from base64 import decodestring

print ('Writing file to disk')
with open('/tmp/' + pictureName,"wb") as f:
    f.write(decodestring(event["Data"]))
    print ('File written to /tmp/' + pictureName)

s3_client = boto3.client('s3')
print ('Starting S3 upload')
bucket = "foundue-dev-filestore"
upload_path = 'pictures/dish/' + dishId.__str__() + '/' + pictureName
print ('Uploading /tmp/' + pictureName + ' ' + bucket + ' ' + upload_path) 
s3_client.upload_file('/tmp/' + pictureName,bucket, upload_path)   
print ('Upload Complete')  
#pics[pictureName] = upload_path
#dish["Pictures"] = pics
#dish["UpdatedOn"] = datetime.datetime.utcnow()
#db.dishes.replace_one({"_id": dishId}, dish)
return

ラムダに添付されたポリシー

oneClick_lambda_basic_vpc_execution_1457284829450
oneClick_lambda_s3_exec_role_1457392283800

出力

Loading function 
START RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b Version: $LATEST 
Writing file to disk 
File written to /tmp/katsu-002png 
Starting S3 upload 
Uploading /tmp/katsu-002png foundue-dev-filestore pictures/dish/56dcc2781769d032d4d78e2f/katsu-002png 
END RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b 
REPORT RequestId: ed91c290-e582-11e5-95d6-ed4fc6a3321b  Duration: 121003.49 ms  Billed Duration: 121000 ms Memory Size: 128 MB  Max Memory Used: 22 MB
2016-03-08T23:12:21.437Z ed91c290-e582-11e5-95d6-ed4fc6a3321b Task timed out after 121.00 seconds
マーコム

本当の問題は、ラムダがVPCを使用していたが、VPCにはs3にアクセスするためのエンドポイントがなかったことです。だからあなたがそれを持っていることを確認してください。

(そしてラムダにs3を呼び出すのに十分なパーミッションを許可するため)

今では1秒未満で機能を実行します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

csvに書き込んでS3にアップロードするLambda関数

VPC構成でAWS Lambdaを追加すると、S3にアクセスするときにタイムアウトが発生する

boto3クライアントに接続するとLambda関数がタイムアウトします

s3(boto3)にアップロードすると、イベントレット付きのセロリが失敗する

AWS-複数のファイルをS3にアップロードしたいが、すべてがアップロードされた場合にのみラムダ関数をトリガーする

AWS S3にアップロードするときに、クローズドストリームにアクセスできません

AmazonEducateスターターアカウントでS3に画像をアップロードする

S3にアップロードするときにLambdaが「アクセスが拒否されました」

S3にアップロードするときにLambda関数をトリガーし、その応答を待って、その応答をユーザーに返します

S3のファイルアップロードに関する混乱

laravel APIエンドポイントからアップロードするときに、システム定義のメタデータをAmazon S3バケットのオブジェクトにどのように設定できますか?

ブラウザからS3にアップロードするときに403エラーが発生するのはなぜですか?

Api Gateway、Lambda関数を使用してS3バケットに画像をアップロードします

S3にアップロードするときの不正なXMLHttpRequest

アップロード時にファイル名にタイムスタンプを追加するS3バケットスクリプト

.htmlファイルをS3静的ウェブサイトでホストされているバケットにアップロードすると、ブラウザーに.htmlファイルがダウンロードされます

S3に画像をアップロードするとアップロードが完了しません

アクセスしようとしているバケットは、jenkinsからs3にアップロードするときに、指定されたエンドポイントを使用してアドレス指定する必要があります

ファイルがS3の特定のフォルダーにアップロードされたときに、AWSラムダ関数をトリガーできますか?

大きなファイルをAmazon S3にアップロードするときの問題

s3バケットでラムダを実行するとゲートウェイタイムアウトエラーがスローされる

HerokuでDjangoを使用して30秒のリクエストタイムアウトなしでAWS S3バケットに大きなファイルをアップロードする

S3に直接アップロードするときにIE9にコンテンツタイプを設定させる方法

goを使用してAWS S3にファイルをアップロードするストリーム

postgresjdbcドライバー42.2.10+にアップグレードするときにソケットタイムアウトが機能しない

GitHubに接続できない-Go関数のダウンロードに関する問題-接続がタイムアウトしました

boto3を使用してファイルをS3にアップロードする関数の単体テストを作成します

ゲームをプレイするときにコンピュータが「ブラックアウト」する

AWS S3は、タイムアウト後にマルチパートアップロードを自動的に中止しますか?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ