我正在从节点获取中获取文件,就像这样
module.exports.somelambdafunction = async (event, context, callback) => {
const streamData = await fetch(some file url, {
headers: {
Authorization: `Bearer ${this.accessToken}`,
'Content-Type': 'application/json',
},
});
const buffer = await streamData.buffer();
response.headers = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'GET, POST',
'Content-Type': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
Accept: 'application/octet-stream',
'Content-disposition': `attachment; filename=${getSpFileAttributes.LinkFilename}`,
};
response.body = buffer;
response.isBase64Encoded = true;
return response;
}
给定缓冲区我还将 isBase64Encoded 设置为 true。我正在使用无服务器来部署这个东西。但是,当调用端点时,我不断收到内部服务器错误。我在这里做错了什么?
您获取的文件有多大?您检查过 Cloudwatch 中的 lambda 日志吗?我猜你的任务超时了,因为默认配置将超时设置为 3 秒之类的值。
您可以尝试从“常规配置”选项卡增加 lambda 函数的超时值。