Có hai cách để chỉ định phần phụ thuộc cho các Hàm đám mây được viết trong
Python: sử dụng trình quản lý gói pip
requirements.txt
hoặc đóng gói các phần phụ thuộc cục bộ cùng với hàm của bạn.
Thông số kỹ thuật của phần phụ thuộc theo tiêu chuẩn Pipfile/Pipfile.lock không được hỗ trợ. Dự án của bạn không nên bao gồm những tệp này.
Chỉ định các phần phụ thuộc bằng pip
Các phần phụ thuộc trong Python được quản lý bằng pip và thể hiện trong tệp siêu dữ liệu
đã gọi
requirements.txt
.
Tệp này phải ở trong cùng thư mục với tệp main.py
chứa
mã hàm.
Khi bạn triển khai hoặc triển khai lại chức năng, Cloud Functions
sử dụng pip để tải xuống và cài đặt phiên bản mới nhất của
các phần phụ thuộc như khai báo trong tệp requirements.txt
.
Tệp requirements.txt
chứa một dòng cho mỗi gói. Mỗi dòng chứa
tên gói và phiên bản được yêu cầu (không bắt buộc). Để biết thêm thông tin, hãy xem
requirements.txt
tham chiếu.
Để bản dựng không bị ảnh hưởng bởi các thay đổi về phiên bản phần phụ thuộc, hãy cân nhắc việc ghim các gói phần phụ thuộc vào một phiên bản cụ thể.
Sau đây là ví dụ về tệp requirements.txt
:
functions-framework requests==2.20.0 numpy
Khung hàm là phần phụ thuộc bắt buộc cho tất cả hàm. Mặc dù Chức năng đám mây cài đặt tiện ích đó thay cho bạn khi hàm được tạo, bạn nên bạn thêm nó vào dưới dạng phần phụ thuộc rõ ràng để cho rõ ràng.
Nếu
dựa trên các phần phụ thuộc riêng tư, bạn nên
đồng bộ hoá hai chiều functions-framework
sang sổ đăng ký riêng tư của bạn. Bao gồm hiệu ứng được phản chiếu
functions-framework
làm phần phụ thuộc vào hàm nhằm tránh việc cài đặt
từ Internet công cộng.
Đóng gói các phần phụ thuộc cục bộ
Bạn cũng có thể đóng gói và triển khai các phần phụ thuộc cùng với hàm của mình. Chiến dịch này phương pháp tiếp cận này rất hữu ích nếu phần phụ thuộc của bạn không có sẵn thông qua pip trình quản lý gói hoặc nếu môi trường Internet của bạn trong Cloud Functions quyền truy cập bị hạn chế.
Ví dụ: bạn có thể dùng một cấu trúc thư mục chẳng hạn như:
myfunction/ ├── main.py └── localpackage/ ├── __init__.py └── script.py
Sau đó, bạn có thể nhập mã như bình thường từ localpackage
bằng cách sử dụng
Câu lệnh import
.
# Code in main.py from localpackage import script
Xin lưu ý rằng phương pháp này sẽ không chạy bất kỳ tệp setup.py
nào. Gói dịch vụ có
tệp vẫn có thể được nhóm nhưng có thể không chạy chính xác trên Cloud Functions.