Có thể đổi tên một hàm AWS Lambda không?


78

Tôi đã tạo một số hàm Lambda trên AWS cho mục đích thử nghiệm (được đặt tên là test_functiongì đó), sau đó sau khi thử nghiệm, tôi thấy các hàm đó có thể được sử dụng trong prod env.

Có thể đổi tên hàm Lambda không? và làm thế nào? Hay tôi nên tạo một cái mới và sao chép mã nguồn dán?


1
Đây là AWS, bạn có thực sự nghĩ rằng nó đơn giản như vậy không? : D sucky UI :)
OZZIE

Câu trả lời:


77

Cách gần nhất bạn có thể đổi tên hàm lambda là sử dụng bí danh, đây là một cách để đặt tên cho một phiên bản cụ thể của lambda. Tuy nhiên, tên thực của hàm được đặt sau khi bạn tạo nó. Nếu bạn muốn đổi tên nó, chỉ cần tạo một hàm mới và sao chép mã chính xác vào nó. Bạn sẽ không mất thêm bất kỳ chi phí nào để thực hiện việc này (vì bạn chỉ bị tính phí cho thời gian thực hiện) nên bạn không mất gì.

Để tham khảo cách đặt tên cho các phiên bản của hàm lambda, hãy xem tài liệu tại đây .


37
bạn nghĩ rằng Amazon sẽ chỉ làm những gì bạn đã nói và cho phép tôi có chức năng đổi tên chết tiệt của mình :-)
Blundell

2

Bạn không thể đổi tên hàm, lựa chọn duy nhất của bạn là làm theo các đề xuất đã được cung cấp ở đây hoặc tạo một hàm mới và sao chép mã.

Thực sự tốt là bạn không thể đổi tên nó: nếu bạn có thể, nó sẽ ngừng hoạt động vì các chính sách được đính kèm với hàm vẫn trỏ đến tên cũ, trừ khi bạn phải chỉnh sửa từng cái một trong số chúng theo cách thủ công hoặc được thực hiện chúng chung chung (không được khuyến cáo).

Tuy nhiên, như một phương pháp hay nhất về phát triển phần mềm, tôi khuyên bạn nên luôn giữ quá trình sản xuất và kiểm thử (dàn dựng) riêng biệt, sao chép hiệu quả môi trường của bạn.

Điều này cho phép bạn kiểm tra nội dung trên một môi trường an toàn, nơi nếu bạn mắc lỗi, bạn sẽ không mất bất cứ thứ gì quan trọng và khi bạn xác nhận rằng các tính năng mới của mình hoạt động, hãy nhân rộng chúng trong sản xuất.

Vì vậy, trong trường hợp của bạn, bạn sẽ có hai lambda, một được gọi là 'my-lambda-staging' và 'my-lambda-prod'. Sử dụng các biến ENV của lambdas để thích ứng với môi trường hiện tại, vì vậy bạn không cần phải cấu trúc lại!


0

Giải pháp của tôi là xuất hàm, tạo một Lambda mới, sau đó tải tệp .zip lên Lambda mới.


1
Bạn có biết làm thế nào để làm điều này thông qua giao diện?
darkace

Tôi thấy rằng nó chỉ xuất / nhập . Đối với mã nhập: Mã chức năng> Tác vụ> Tải lên tệp .zip / Tải tệp lên từ Amazon S3.
alditis
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.