我正在尝试将处理过的图像暂时保存在/ tmp文件夹中,但对我来说不起作用。假设它在根文件夹下,我试图通过这种方式获取它:
let tempraryImageDirectory: string;
if (process.env.DEV && process.env.DEV === 'Yes') {
tempraryImageDirectory = path.join(__dirname, `../../tmp/`);
} else {
tempraryImageDirectory = path.join(__dirname, `./tmp/`);
}
此处的else
选项是本地测试。我不想在根目录中创建/ tmp文件夹。在当地,一切都很好。但是在Lambda中,此刻对目录进行的任何操作CloudWatch都不会显示此后写入的任何日志,并且我的功能由于未知原因而失败。
我能正确寻址/ tmp文件夹吗?
答案 0 :(得分:1)
更改为:./tmp/
,即“当前工作目录下的/ tmp目录”
为此:/tmp/
,即“根文件系统下的/ tmp目录”
答案 1 :(得分:1)
该目录仅为import numpy as np
import boto3
client = boto3.client('sagemaker-runtime')
def np2csv(arr):
csv = io.BytesIO()
np.savetxt(csv, arr, delimiter=',', fmt='%g')
return csv.getvalue().decode().rstrip()
endpoint_name = 'DEMO-XGBoostEndpoint-2018-12-12-22-07-28'
test_vector = np.array([3.60606061e+00,
3.91395664e+00,
1.34200000e+03,
4.56100000e+03,
2.00000000e+02,
2.00000000e+02])
csv_test_vector = np2csv(test_vector)
response = client.invoke_endpoint(EndpointName=endpoint_name,
ContentType='text/csv',
Body=csv_test_vector)
,与工作目录无关:
/tmp
如果您没有故意将变量重命名为在let tempraryImageDirectory: string;
if (process.env.DEV && process.env.DEV === 'Yes') {
tempraryImageDirectory = path.join(__dirname, `../../tmp/`);
} else {
tempraryImageDirectory = '/tmp/';
}
中包含o
,那么您可能希望重命名该变量。