NodeJS AWS Lambda 函数的 SMB 客户端?

问题描述 投票:0回答:1

我正在尝试找到一个软件包或找出一种使用 SMB 客户端或 Samba 客户端将文件放在 FSx 共享上的方法。我找到了这个示例:https://aws.amazon.com/blogs/storage/enabling-smb-access-for-serverless-workloads/。问题是我用nodejs而不是python编写。有人知道 nodjs 包或使用云形成模板的自定义资源安装 SMBClient 的方法吗?

node.js amazon-web-services aws-lambda samba smb
1个回答
0
投票

我遇到了同样的问题,最终为我的代码创建了一个自定义 docker 映像并安装 samba-client 作为依赖项。

这是我的 Dockerfile -

FROM public.ecr.aws/lambda/nodejs:18
RUN yum update -y
RUN yum install -y samba-client

WORKDIR ${LAMBDA_TASK_ROOT}
COPY package.json ./
RUN npm install

COPY src ./src

CMD [ "/var/task/src/index.handler" ]

对于 NodeJS,我使用了 samba-client -

const SambaClient = require('samba-client');

const client = new SambaClient({
  "share": `\\shared-path`,
  "domain": `WORKGROUP`,
  "username": "",
  "password": ""
});

await client.getFile('someRemotePath/file', 'destinationFolder/name');
© www.soinside.com 2019 - 2024. All rights reserved.