我正在尝试找到一个软件包或找出一种使用 SMB 客户端或 Samba 客户端将文件放在 FSx 共享上的方法。我找到了这个示例:https://aws.amazon.com/blogs/storage/enabling-smb-access-for-serverless-workloads/。问题是我用nodejs而不是python编写。有人知道 nodjs 包或使用云形成模板的自定义资源安装 SMBClient 的方法吗?
我遇到了同样的问题,最终为我的代码创建了一个自定义 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');