/ tmp /文件夹的AWS Lambda文件错误问题

时间:2019-12-23 17:56:06

标签: python amazon-web-services aws-lambda

我正在尝试基本上在AWS Lambda中写入文件。 这是我的analytics.py脚本,用于分析文件并写入Lambda。

from main import Analyzer
import argparse
import sys

# Takes helper functions from main.py and prints filament usage and print time 
def parse_args():
    parser = argparse.ArgumentParser(description="Gcode Info Extractor")
    parser.add_argument('path', type=str)
    return parser.parse_args()

def giveInput():
    args = '/tmp/' + 'output.gcode'
    #path = '/tmp/' + args.path
    analyzer = Analyzer(args)
    time = analyzer.get_time()/60
    filUsage = analyzer.get_filament_usage()
    # Lambda issues, so going to try to make  the return of this function simply the two variables I need..
    neededInput = "%.2f, %s" %(filUsage, time)
    return (neededInput)

{
  "errorMessage": "[Errno 2] No such file or directory: '/tmp/output.gcode'",
  "errorType": "FileNotFoundError",
  "stackTrace": [
    [
      "/var/task/lambda_function.py",
      20,
      "pp_handler",
      "data = giveInput()"
    ],
    [
      "stl2gcode/analyze.py",
      14,
      "giveInput",
      "analyzer = Analyzer(args)"
    ],
    [
      "stl2gcode/main.py",
      45,
      "__init__",
      "self.__process()"
    ],
    [
      "stl2gcode/main.py",
      57,
      "__process",
      "with open(self.__file_path, \"r\") as fp:"
    ]
  ]
}

问题是,当我错误地在Lambda上的我的部署包中包含了output.gcode文件时,仅阅读该文件就没有问题。但是我的问题是何时写入该文件。

我编写该文件的方式是通过一个名为mandoline_py的库 我执行以下命令:

mandoline -o /tmp/output.gcode -n /tmp/input.stl

问题不在于库,因为当我尝试在我的GiveInput()函数中使用“ input.stl”而不是“ output.gcode”时,Lambda发现的文件没有问题。知道我能做什么吗?

0 个答案:

没有答案