Điểm:0

Lỗi AWS Lambda khi xây dựng Node với Thư viện sắc nét

lá cờ jp

Tôi gặp sự cố khi xây dựng trình xử lý lambda của mình. Tôi đang cố gắng sử dụng thư viện sắc nét để thay đổi kích thước hình ảnh trên S3.

Mã của tôi:

S3.getObject({
    Xô: tên xô,
    Khóa: khóa đối tượng
}, (lỗi, dữ liệu) => {
    SHARP(data.Body).resize(250, 250).toFormat("jpg").toBuffer().then((buffer) => {
        S3.putObject({
            Cơ thể: bộ đệm,
            Xô: tên xô,
            Khóa: objectKey,
            Loại nội dung: "hình ảnh/jpeg",
            Bố cục nội dung: "nội tuyến",
        })
    })
});

Phụ thuộc nút của tôi:

  "phụ thuộc": {
    "aws-sdk": "^2.637.0",
    "dotenv": "^10.0.0",
    "mysql": "^2.18.1",
    "sắc": "^0.29.1",
    "sử dụng": "^0.12.4"
  },
  "devDependencies": {
    "esbuild": "^0.12.27",
    "gật đầu": "^2.0.12"
  }

mã của tôi để xây dựng:

esbuild --bundle --minify --platform=node --target=node12 --outdir=build index.js && cd build && zip index.js.zip index.js

Lỗi AWS Lambda:

Không thể tìm thấy mô-đun '../build/Release/sharp-linux-x64.node'
Yêu cầu ngăn xếp:
- /var/task/index.js
- /var/runtime/UserFunction.js
- /var/runtime/index.js

Phương pháp khả thi:
- Cài đặt với cờ --verbose và tìm lỗi: "npm install --ignore-scripts=false --verbose sharp"
- Cài đặt cho runtime hiện tại: "npm install --platform=linux --arch=x64 sharp"
- Tham khảo tài liệu cài đặt: https://sharp.pixelplumbing.com/install
Tim avatar
lá cờ gp
Tim
Câu hỏi này có thể tốt hơn về lỗi máy chủ. Thông báo nói rằng nó không thể tìm thấy độ sắc nét, nhưng tôi nghĩ chính xác tại sao lại là câu hỏi dành cho các nhà phát triển hơn là những người làm cơ sở hạ tầng. Tôi sử dụng AWS SAM để triển khai phần mềm lẻ mà tôi cần triển khai
Matheus Pereira avatar
lá cờ jp
Tôi đã nghĩ về AWS SAM, nhưng tôi là người mới trong thế giới này, tôi sợ cấu hình nó trong một máy phát triển, nhưng đó là một cách hay, tôi có thể thử cách này. Cảm ơn những lời khuyên, @Tim!
Tim avatar
lá cờ gp
Tim
AWS SAM có thể trợ giúp về phần phụ thuộc và triển khai. Tôi thấy nó dễ dàng hơn là tự mình cố gắng đóng gói và những thứ tương tự. Nó không quá phức tạp nhưng sẽ mất một chút thời gian để tìm hiểu và làm việc, nhưng hy vọng sẽ tiết kiệm thời gian tổng thể.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.