Python đọc tệp địa hình
builtins: - deferred: on - appstats: on8 là mã viết tắt mà Google chỉ định dựa trên khu vực bạn chọn khi tạo ứng dụng của mình. Mã này không tương ứng với một quốc gia hoặc tỉnh, mặc dù một số ID khu vực có thể trông giống với mã quốc gia và tỉnh thường được sử dụng. Đối với các ứng dụng được tạo sau tháng 2 năm 2020, builtins: - deferred: on - appstats: on9 được bao gồm trong URL của Máy ứng dụng. Đối với các ứng dụng hiện có được tạo trước ngày này, ID khu vực là tùy chọn trong URL Tìm hiểu thêm ĐƯỢC RỒI Bạn định cấu hình cài đặt ứng dụng App Engine của mình trong tệp builtins: - name: on0. Tệp này chỉ định cách đường dẫn URL tương ứng với trình xử lý yêu cầu và tệp tĩnh. Tệp builtins: - name: on0 cũng chứa thông tin về mã ứng dụng của bạn, chẳng hạn như thời gian chạy và số nhận dạng phiên bản mới nhất Mỗi dịch vụ trong ứng dụng của bạn có tệp builtins: - name: on0 riêng, hoạt động như một bộ mô tả để triển khai dịch vụ đó. Trước tiên, bạn phải tạo tệp builtins: - name: on0 cho dịch vụ builtins: - name: on4 trước khi có thể tạo và triển khai tệp builtins: - name: on0 cho các dịch vụ bổ sung trong ứng dụng của mình Cấu trúc thư mụcĐể tìm hiểu thêm về cấu trúc nhiều dịch vụ trong ứng dụng của bạn, hãy xem Cấu trúc dịch vụ web trong App EngineThí dụSau đây là ví dụ về tệp builtins: - name: on0 cho ứng dụng Python 2 runtime: python27 api_version: 1 threadsafe: true handlers: - url: / script: home.app - url: /index\.html script: home.app - url: /stylesheets static_dir: stylesheets - url: /(.*\.(gif|png|jpg))$ static_files: static/\1 upload: static/.*\.(gif|png|jpg)$ - url: /admin/.* script: admin.app login: admin - url: /.* script: not_found.app Lệnh builtins: - name: on7 có thể chứa đường dẫn tệp kết thúc bằng builtins: - name: on8, nghĩa là tập lệnh sử dụng CGI hoặc đường dẫn mô-đun Python, với các tên gói được phân tách bằng dấu chấm, nghĩa là tập lệnh sử dụng WSGI cú phápCú pháp của builtins: - name: on0 là định dạng YAML Định dạng YAML hỗ trợ bình luận. Dòng bắt đầu bằng ký tự thăng ( builtins: - deferred: on - appstats: on30) bị bỏ qua builtins: - deferred: on - appstats: on4 Các mẫu đường dẫn tệp và URL sử dụng cú pháp biểu thức chính quy mở rộng POSIX, không bao gồm các phần tử đối chiếu và các lớp đối chiếu. Tham chiếu ngược đến các đối sánh được nhóm (e. g. builtins: - deferred: on - appstats: on31) được hỗ trợ, cũng như các tiện ích mở rộng Perl này. builtins: - deferred: on - appstats: on32 Thời gian chạy và các yếu tố ứng dụngYếu tố Mô tảbuiltins: - deferred: on - appstats: on33Cảnh báo. Phần tử builtins: - deferred: on - appstats: on33 ngoài việc sử dụng công cụ builtins: - deferred: on - appstats: on35 đã bị tắt. Xem hướng dẫn sau để chỉ định ứng dụng của bạn bằng công cụ Google Cloud CLI, chẳng hạn như dòng lệnh builtins: - deferred: on - appstats: on36 Phương pháp được đề xuất là xóa phần tử builtins: - deferred: on - appstats: on33 khỏi tệp builtins: - name: on0 của bạn và thay vào đó, hãy sử dụng cờ dòng lệnh để chỉ định ID ứng dụng của bạn
Để biết thêm thông tin về cách sử dụng các lệnh này, hãy xem Triển khai ứng dụng của bạn ID ứng dụng là ID dự án bảng điều khiển Google Cloud mà bạn đã chỉ định khi tạo ứng dụng trong bảng điều khiển Google Cloud builtins: - name: on41 Yêu cầu. Phiên bản API trong môi trường thời gian chạy nhất định được ứng dụng của bạn sử dụng lĩnh vực này là Khi Google thông báo hỗ trợ cho phiên bản mới của API của môi trường thời gian chạy, ứng dụng đã triển khai của bạn sẽ tiếp tục sử dụng phiên bản được viết cho nó. Để nâng cấp ứng dụng của bạn lên phiên bản API mới, bạn thay đổi giá trị này rồi triển khai lại ứng dụng của mình sang App Engine. Khi bạn chỉ định giá trị builtins: - name: on42, môi trường thời gian chạy mới nhất được hỗ trợ sẽ được sử dụng mỗi khi bạn triển khai ứng dụng đó (hiện tại) Tại thời điểm này, App Engine có một phiên bản của môi trường thời gian chạy builtins: - name: on43. builtins: - name: on42 builtins: - name: on45Tùy chọn. Nếu bạn là , bạn có thể thay đổi phương thức được sử dụng bằng cách đặt chính sách ID tự động. Sau đây là các tùy chọn hợp lệ. builtins: - name: on4Mặc định. Sử dụng ID tự động phân tán là số nguyên lớn được phân phối tốt, đủ nhỏ để được biểu thị bằng số float 64 bit. builtins: - name: on47Tùy chọn kế thừa sẽ không được dùng trong bản phát hành trong tương lai và cuối cùng sẽ bị xóa. Để biết thêm thông tin, hãy xem bài đăng trên blog thông báo thay đổi này. builtins: - name: on48 Không bắt buộc. SDK Python 2 bao gồm một số trình xử lý tích hợp cho các chức năng ứng dụng phổ biến. Chỉ thị builtins: - name: on48 cho phép bạn bao gồm các trình xử lý cụ thể trong builtins: - name: on0 lĩnh vực này là Các trình xử lý tích hợp sau đây có sẵn để bạn sử dụng builtins: - name: on61Bật Appstats tại builtins: - name: on62, mà bạn có thể sử dụng để đo hiệu suất ứng dụng của mình. Để sử dụng Appstats, bạn cũng cần phải. builtins: - name: on63Kích hoạt trình xử lý hoãn lại tại builtins: - name: on64. Nội dung dựng sẵn này cho phép các nhà phát triển sử dụng builtins: - name: on65 để đơn giản hóa việc tạo các tác vụ trong Hàng đợi tác vụ. builtins: - name: on66Kích hoạt nội trang tại builtins: - name: on68. Nội dung dựng sẵn này cho phép các ứng dụng từ xa có thông tin xác thực phù hợp truy cập kho dữ liệu từ xa. Thí dụ. builtins: - deferred: on - appstats: on Chỉ thị builtins: - name: on48 là một ví dụ đặc biệt của chỉ thị builtins: - name: on50. Trong Python, mỗi lệnh builtins: - name: on51 tương đương với lệnh builtins: - name: on50 có đường dẫn mở rộng. Ví dụ builtins: - name: on Tương đương với builtins: - deferred: on - appstats: on3 Khi bạn sử dụng builtins: - name: on48 trong tệp builtins: - name: on0 của mình, bất kỳ trình xử lý nào được xác định bởi tệp builtins: - name: on55 tích hợp sẽ thay thế bất kỳ trình xử lý nào bạn xác định trong tệp builtins: - name: on0 của mình. Tuy nhiên, nếu bạn bao gồm một tệp mà sau đó sử dụng builtins: - name: on48 hoặc builtins: - name: on50, thì các trình xử lý sẽ được thêm vào theo thứ tự của hệ thống phân cấp bao gồm. Nói cách khác, các trình xử lý của bao gồm "cha mẹ" được thêm vào trước các nội trang của "con" bao gồm, v.v. Ví dụ: hãy xem xét builtins: - name: on0 sau, sử dụng trình xử lý builtins: - name: on61 tích hợp builtins: - name: on4 Danh sách xử lý kết quả là builtins: - name: on6 Nếu builtins: - name: on0 sử dụng chỉ thị builtins: - name: on50 builtins: - name: on5 Và tệp builtins: - name: on43 sử dụng builtins: - name: on48 builtins: - name: on4 Danh sách xử lý kết quả bây giờ là builtins: - deferred: on - appstats: on40 Thứ tự đặt mệnh đề builtins: - name: on48 trong tệp builtins: - name: on46 không thay đổi hành vi builtins: - name: on47 Không bắt buộc. Đặt khoảng thời gian bộ nhớ cache mặc định chung cho tất cả các trình xử lý tệp tĩnh cho một ứng dụng. Bạn cũng có thể cấu hình một. Giá trị là một chuỗi các số và đơn vị, được phân tách bằng dấu cách, trong đó đơn vị có thể là d cho ngày, h cho giờ, m cho phút và s cho giây. Ví dụ: builtins: - name: on48 đặt hết hạn bộ đệm thành 4 ngày và 5 giờ sau khi tệp được yêu cầu lần đầu. Nếu bỏ qua, máy chủ sản xuất sẽ đặt thời gian hết hạn là 10 phútThí dụ. builtins: - deferred: on - appstats: on41 Để biết thêm thông tin, xem builtins: - name: on49 Không bắt buộc. Bạn có thể xác định các biến môi trường trong tệp builtins: - name: on0 của mình để cung cấp chúng cho ứng dụng của bạn. Đảm bảo rằng khóa trong (các) Biến môi trường khớp với biểu thức '[a-zA-Z_][a-zA-Z0-9_]*' (bắt đầu bằng bảng chữ cái hoặc "_", theo sau là bất kỳ chữ và số hoặc "_") Các biến môi trường có tiền tố là builtins: - deferred: on - appstats: on401 được dành riêng cho việc sử dụng hệ thống và không được phép sử dụng trong tệp builtins: - name: on0Các biến này sẽ có sẵn trong từ điển builtins: - deferred: on - appstats: on403. builtins: - deferred: on - appstats: on42 builtins: - deferred: on - appstats: on404 Không bắt buộc. Được sử dụng để định cấu hình các trang lỗi tùy chỉnh được trả về cho các loại lỗi khác nhau Phần tử này có thể chứa các phần tử sau builtins: - deferred: on - appstats: on405Tùy chọn. builtins: - deferred: on - appstats: on405 có thể là một trong những điều sau đây. builtins: - deferred: on - appstats: on407Cho biết ứng dụng đã vượt quá hạn ngạch tài nguyên builtins: - deferred: on - appstats: on408Được cung cấp nếu đến thời hạn trước khi có phản hồi từ ứng dụng của bạn Error_code là tùy chọn; builtins: - deferred: on - appstats: on409Mỗi mục nhập tệp chỉ ra một tệp tĩnh sẽ được phân phát thay cho phản hồi lỗi chung. Nếu bạn chỉ định phần tử builtins: - deferred: on - appstats: on409 mà không có phần tử builtins: - deferred: on - appstats: on405 tương ứng, thì tệp tĩnh sẽ là trang lỗi mặc định cho ứng dụng của bạn. Cảnh báo. Đảm bảo rằng đường dẫn đến tệp phản hồi lỗi không trùng lặp với đường dẫn trình xử lý tệp tĩnh. Dữ liệu lỗi tùy chỉnh phải nhỏ hơn 10 kilobyte. Ví dụ_______143____1412 Yêu cầu. Danh sách các mẫu URL và mô tả về cách xử lý chúng. Máy ứng dụng có thể xử lý các URL bằng cách thực thi mã ứng dụng hoặc bằng cách cung cấp các tệp tĩnh được tải lên cùng với mã, chẳng hạn như hình ảnh, CSS hoặc JavaScript builtins: - name: on50 Không bắt buộc. Chỉ thị builtins: - name: on50 cho phép bạn bao gồm tệp cấu hình cho bất kỳ thư viện hoặc dịch vụ nào trong ứng dụng của bạn. Ví dụ: bạn có thể bao gồm thư viện quản trị người dùng như sau builtins: - deferred: on - appstats: on44 Máy ứng dụng giải quyết đường dẫn được bao gồm theo thứ tự sau
Nếu lệnh builtins: - deferred: on - appstats: on415 chỉ định một thư mục, thì App Engine sẽ tìm trong thư mục đó một tệp có tên là builtins: - name: on55. Nếu lệnh bao gồm là một tệp, thì tệp cụ thể đó được bao gồm. Sử dụng builtins: - name: on50 chỉ truy xuất các loại lệnh sau từ tệp đích (nếu có) Các mẫu bao gồm builtins: - deferred: on - appstats: on421 được thêm vào các mẫu bao gồm trong builtins: - name: on0 hoặc vào danh sách mặc định nếu không có danh sách rõ ràng trong builtins: - name: on0. Lưu ý rằng builtins: - deferred: on - appstats: on421 so sánh các đường dẫn tuyệt đối builtins: - deferred: on - appstats: on426 Không bắt buộc. Các ứng dụng phải kích hoạt các dịch vụ đó trước khi có thể nhận các yêu cầu gửi đến. Bạn có thể kích hoạt dịch vụ cho ứng dụng Python 2 bằng cách bao gồm phần builtins: - deferred: on - appstats: on426 trong tệp builtins: - name: on0 Các dịch vụ trong nước sau đây có sẵn builtins: - deferred: on - appstats: on429Cho phép ứng dụng của bạn nhận thư. builtins: - deferred: on - appstats: on430Bật yêu cầu khởi động. Xem Cấu hình yêu cầu khởi động. Thí dụ. builtins: - deferred: on - appstats: on45 builtins: - deferred: on - appstats: on431 Không bắt buộc. cho dịch vụ này Các giá trị sau khả dụng tùy thuộc vào dịch vụ của bạn Tự động điều chỉnh tỷ lệbuiltins: - deferred: on - appstats: on432, builtins: - deferred: on - appstats: on433, builtins: - deferred: on - appstats: on434, builtins: - deferred: on - appstats: on435Mặc định. builtins: - deferred: on - appstats: on432 Tùy chọn sử dụng phần tử để thay đổi cài đặt mặc định cho tự động thay đổi quy mô, chẳng hạn như số lượng phiên bản tối thiểu và tối đa, độ trễ và kết nối đồng thời Ghi chú. Nếu builtins: - deferred: on - appstats: on431 được đặt thành builtins: - deferred: on - appstats: on433 trở lên, thì bạn có thể tối ưu hóa các phiên bản của mình bằng cách đặt thành giá trị cao hơn giá trị mặc định là 10. Để xác định giá trị tối ưu, hãy tăng dần giá trị đó và theo dõi hiệu suất của ứng dụng của bạnChia tỷ lệ cơ bản và thủ công_______1441, builtins: - deferred: on - appstats: on442, builtins: - deferred: on - appstats: on443, builtins: - deferred: on - appstats: on444, builtins: - deferred: on - appstats: on445Default. builtins: - deferred: on - appstats: on442 Các lớp thể hiện cơ bản và thủ công yêu cầu bạn chỉ định phần tử hoặc phần tử builtins: - deferred: on - appstats: on449 Không bắt buộc. Trăn 2. 7 bao gồm một số thư viện của bên thứ ba. Một số trong số này có sẵn theo mặc định; . Bạn có thể chỉ định phiên bản nào bạn muốn sử dụng bằng cách chỉ định các giá trị builtins: - deferred: on - appstats: on450 và builtins: - deferred: on - appstats: on451 lĩnh vực này là builtins: - deferred: on - appstats: on46 Lưu ý rằng khi bạn chỉ định builtins: - deferred: on - appstats: on452, SDK sẽ xác định phiên bản thư viện mới nhất tại thời điểm triển khai. Sau khi triển khai, phiên bản thư viện sẽ không thay đổi. Cách duy nhất để có phiên bản khác của thư viện là triển khai lại Nếu bạn đang phát triển một ứng dụng chưa có người dùng. bạn không cần phải theo dõi các phiên bản mới. Nhưng nếu ứng dụng của bạn đang được sử dụng tích cực, hãy cẩn thận. bạn có thể ngạc nhiên khi ứng dụng của bạn bắt đầu sử dụng phiên bản thư viện không tương thích ngược mới Để biết danh sách các thư viện bên thứ ba đi kèm, hãy xem Thư viện bên thứ ba. Bạn có thể sử dụng các thư viện bên thứ ba thuần python bổ sung bằng cách Nếu bạn đang sử dụng môi trường linh hoạt, hãy xem Sử dụng thư viện Python trong môi trường linh hoạt builtins: - deferred: on - appstats: on453 Ghi chú. Các mô-đun hiện được đặt tên là Dịch vụ Để quản lý ứng dụng của bạn bằng gcloud CLI, hãy sử dụng phần tử thay thế builtins: - deferred: on - appstats: on454 Yêu cầu. Tên của môi trường thời gian chạy được ứng dụng của bạn sử dụng. Ví dụ: để chỉ định Python 2. 7, sử dụng builtins: - deferred: on - appstats: on47 builtins: - deferred: on - appstats: on455 Dịch vụ trước đây được gọi là Mô-đun Ví dụ, chỉ được hỗ trợ bởi các plugin dựa trên gcloud CLI hoặc gcloud CLI. builtins: - deferred: on - appstats: on39 Bắt buộc nếu tạo dịch vụ. Tùy chọn cho dịch vụ builtins: - name: on4. Mỗi dịch vụ và mỗi phiên bản phải có tên. Tên có thể chứa số, chữ cái và dấu gạch ngang. Độ dài kết hợp của builtins: - deferred: on - appstats: on458, trong đó builtins: - deferred: on - appstats: on459 là tên phiên bản của bạn, builtins: - deferred: on - appstats: on460 là tên dịch vụ của bạn và builtins: - deferred: on - appstats: on461 là ID dự án của bạn, không được dài hơn 63 ký tự và không được bắt đầu hoặc kết thúc bằng dấu gạch ngang. Chọn một tên duy nhất cho từng dịch vụ và từng phiên bản. Không sử dụng lại tên giữa các dịch vụ và phiên bảnThí dụ. builtins: - deferred: on - appstats: on48 Ghi chú. Lệnh builtins: - deferred: on - appstats: on39 tương thích ngược và hỗ trợ các tệp builtins: - name: on0 hiện có bao gồm các dịch vụ được khai báo dưới dạng mô-đun, chẳng hạn builtins: - deferred: on - appstats: on49 builtins: - deferred: on - appstats: on464 Không bắt buộc. Phần tử builtins: - deferred: on - appstats: on464 cho phép bạn chỉ định tài khoản dịch vụ do người dùng quản lý làm thông tin nhận dạng cho phiên bản. Tài khoản dịch vụ được chỉ định sẽ được sử dụng khi truy cập các dịch vụ Google Cloud khác và thực hiện các tác vụThí dụ. builtins: - name: on50 builtins: - deferred: on - appstats: on421 Không bắt buộc. Phần tử builtins: - deferred: on - appstats: on421 chỉ định tệp nào trong thư mục ứng dụng sẽ không được tải lên App Engine. Giá trị là một biểu thức chính quy hoặc một danh sách các biểu thức chính quy. Bất kỳ tên tệp nào khớp với bất kỳ biểu thức chính quy nào sẽ bị loại khỏi danh sách tệp sẽ tải lên khi ứng dụng được tải lên. Tên tệp có liên quan đến thư mục dự án builtins: - deferred: on - appstats: on421 có mặc định sau builtins: - name: on51 Mẫu mặc định loại trừ các tệp sao lưu Emacs có tên ở dạng tệp builtins: - deferred: on - appstats: on469 và builtins: - deferred: on - appstats: on470, builtins: - deferred: on - appstats: on471 và builtins: - deferred: on - appstats: on472, tệp trong thư mục kiểm soát sửa đổi builtins: - deferred: on - appstats: on473 và tệp ẩn Unix có tên bắt đầu bằng dấu chấm ( builtins: - deferred: on - appstats: on474) Để mở rộng danh sách biểu thức chính quy ở trên, hãy sao chép và dán danh sách trên vào builtins: - name: on0 của bạn và thêm biểu thức chính quy của riêng bạn. Ví dụ: để bỏ qua các tệp có tên kết thúc bằng ____1476 ngoài các mẫu mặc định, hãy thêm một mục nhập như thế này cho ____1421 builtins: - name: on52 Để bỏ qua một thư mục đầy đủ, hãy thêm tên thư mục vào danh sách. Ví dụ: để bỏ qua một thư mục có tên builtins: - deferred: on - appstats: on478, hãy thêm dòng sau vào những dòng được mô tả trước đó builtins: - name: on53____1479 Yêu cầu. Định cấu hình ứng dụng của bạn để sử dụng các yêu cầu đồng thời. Nếu sử dụng thư viện luồng của Python, dữ liệu luồng cục bộ, như được trả về bởi builtins: - deferred: on - appstats: on480, sẽ bị xóa sau mỗi yêu cầu lĩnh vực này là builtins: - name: on54 Ghi chú. Chỉ thị builtins: - deferred: on - appstats: on479 là bắt buộc đối với Python 2. 7 ứng dụng. builtins: - deferred: on - appstats: on482 yêu cầu tất cả các trình xử lý tập lệnh phải là WSGI. Nghĩa là, mỗi tập lệnh phải được chỉ định trong một chỉ thị builtins: - name: on7 a sử dụng đường dẫn mô-đun Python, với các tên gói được phân tách bằng dấu chấm. Thành phần cuối cùng của lệnh builtins: - name: on7 sử dụng đường dẫn mô-đun Python là tên của biến toàn cục trong biến đó phải là ứng dụng WSGI và thường được gọi là builtins: - deferred: on - appstats: on486 theo quy ước builtins: - deferred: on - appstats: on451 Phương pháp được đề xuất là xóa phần tử builtins: - deferred: on - appstats: on451 khỏi tệp builtins: - name: on0 của bạn và thay vào đó, hãy sử dụng cờ dòng lệnh để chỉ định ID phiên bản của bạn
Để biết thêm thông tin về cách sử dụng lệnh này, hãy xem Triển khai ứng dụng của bạn Mã định danh cho phiên bản mã ứng dụng mà bạn triển khai cho App Engine ID phiên bản có thể chứa chữ thường, chữ số và dấu gạch nối. Nó không thể bắt đầu bằng tiền tố builtins: - deferred: on - appstats: on492 và tên builtins: - name: on4 và builtins: - deferred: on - appstats: on452 được bảo lưu và không thể được sử dụng Ghi chú. Tên phiên bản phải bắt đầu bằng một chữ cái, để phân biệt chúng với các phiên bản số luôn được chỉ định bởi một số. Điều này tránh sự mơ hồ với các URL như builtins: - deferred: on - appstats: on495, có thể được diễn giải theo hai cách. Nếu phiên bản "123" tồn tại, mục tiêu sẽ là phiên bản "123" của dịch vụ nhất định. Nếu phiên bản đó không tồn tại, mục tiêu sẽ là phiên bản số 123 của phiên bản dịch vụ mặc định Mỗi phiên bản của một ứng dụng giữ lại bản sao builtins: - name: on0 của chính nó. Khi một ứng dụng được tải lên, phiên bản được đề cập trong tệp builtins: - name: on0 đang được tải lên là phiên bản được tạo hoặc thay thế bởi bản tải lên. Quản trị viên có thể thay đổi phiên bản nào của ứng dụng đang phân phát lưu lượng truy cập bằng cách sử dụng bảng điều khiển Google Cloud và cũng có thể kiểm tra các phiên bản khác trước khi định cấu hình chúng để nhận lưu lượng truy cập builtins: - deferred: on - appstats: on498 Không bắt buộc. Định cấu hình ứng dụng của bạn để sử dụng trình kết nối Truy cập VPC không có máy chủ, cho phép ứng dụng gửi yêu cầu tới tài nguyên nội bộ trong mạng VPC của bạn. Để biết thêm thông tin, hãy xem Kết nối với mạng VPC builtins: - deferred: on - appstats: on450Chuỗi ký tự. Chỉ định tên đủ điều kiện của trình kết nối Truy cập VPC không máy chủ của bạn trong dấu ngoặc kép. builtins: - name: on56____2500Tùy chọn. Mặc định là builtins: - name: on501. builtins: - name: on500 có thể là một trong những thứ sau. builtins: - name: on501Mặc định. Các yêu cầu đối với địa chỉ IP nội bộ được gửi qua trình kết nối Truy cập VPC không máy chủ vào mạng VPC được kết nối. Yêu cầu đến địa chỉ IP bên ngoài được gửi đến internet công cộng. builtins: - name: on504Tất cả các yêu cầu được gửi qua trình kết nối Truy cập VPC không máy chủ vào mạng VPC được kết nối. Ví dụ____257 yếu tố xử lýPhần tử builtins: - deferred: on - appstats: on412 là phần tử bắt buộc trong tệp cấu hình builtins: - name: on0. Phần tử cung cấp danh sách các mẫu URL và mô tả về cách xử lý chúng. Máy ứng dụng có thể xử lý các URL bằng cách thực thi mã ứng dụng hoặc bằng cách cung cấp các tệp tĩnh được tải lên cùng với mã, chẳng hạn như hình ảnh, CSS hoặc JavaScript Các mẫu được đánh giá theo thứ tự chúng xuất hiện trong tệp builtins: - name: on0, từ trên xuống dưới. Ánh xạ đầu tiên có mẫu khớp với URL là ánh xạ được sử dụng để xử lý yêu cầu Bảng sau đây liệt kê các thành phần phụ của thành phần builtins: - deferred: on - appstats: on412 kiểm soát hành vi đối với tập lệnh, tệp tĩnh, thư mục tĩnh và các cài đặt khácPhần tửMô tả builtins: - name: on509Tùy chọn. Boolean. Theo mặc định, các tệp được khai báo trong trình xử lý tệp tĩnh được tải lên dưới dạng dữ liệu tĩnh và chỉ được cung cấp cho người dùng cuối. Chúng không thể được đọc bởi một ứng dụng. Nếu trường này được đặt thành true, các tệp cũng được tải lên dưới dạng dữ liệu mã để ứng dụng của bạn có thể đọc chúng. Cả hai lần tải lên đều bị tính phí đối với mã và dung lượng lưu trữ dữ liệu tĩnh của bạn lĩnh vực này là builtins: - name: on510Tùy chọn. Khoảng thời gian một tệp tĩnh do trình xử lý này cung cấp sẽ được lưu vào bộ nhớ đệm bởi các trình duyệt và proxy web. Giá trị là một chuỗi các số và đơn vị, được phân tách bằng dấu cách, trong đó đơn vị có thể là builtins: - name: on511 cho ngày, builtins: - name: on512 cho giờ, builtins: - name: on513 cho phút và builtins: - name: on514 cho giây. Ví dụ: builtins: - name: on48 đặt hết hạn bộ đệm thành 4 ngày và 5 giờ sau khi tệp được yêu cầu lần đầu. Nếu bỏ qua, builtins: - name: on47 của ứng dụng được sử dụng. Xem để biết thêm chi tiết. builtins: - name: on517 Không bắt buộc. Bạn có thể đặt tiêu đề HTTP cho phản hồi của trình xử lý thư mục hoặc tệp tĩnh của mình. Nếu bạn cần đặt tiêu đề HTTP trong trình xử lý builtins: - name: on518 của mình, thay vào đó, bạn nên làm điều đó trong mã ứng dụng của mình. Để biết thông tin về tiêu đề phản hồi nào ảnh hưởng đến bộ nhớ đệm, hãy xemVí dụ builtins: - name: on58 Hỗ trợ CORSMột ứng dụng quan trọng của tính năng này là hỗ trợ chia sẻ tài nguyên trên nhiều nguồn gốc (CORS), chẳng hạn như truy cập các tệp được lưu trữ bởi một ứng dụng App Engine khác Ví dụ: bạn có thể có ứng dụng trò chơi builtins: - name: on519 truy cập nội dung do builtins: - name: on520 lưu trữ. Tuy nhiên, nếu builtins: - name: on521 cố gắng biến JavaScript builtins: - name: on522 thành builtins: - name: on523, nó sẽ không thành công trừ khi trình xử lý cho builtins: - name: on523 trả về tiêu đề phản hồi builtins: - name: on525 chứa giá trị builtins: - name: on526 Đây là cách bạn sẽ làm cho trình xử lý tệp tĩnh của mình trả về giá trị tiêu đề phản hồi được yêu cầu đó builtins: - name: on59 Ghi chú. nếu bạn muốn cho phép mọi người truy cập nội dung của mình, bạn sẽ sử dụng ký tự đại diện _______ 2527, thay vì ________ 2528 builtins: - name: on529 Không bắt buộc. Nếu được chỉ định, tất cả các tệp do trình xử lý này cung cấp sẽ được cung cấp bằng loại MIME đã chỉ định. Nếu không được chỉ định, loại MIME cho tệp sẽ được lấy từ phần mở rộng tên tệp của tệp. Nếu cùng một tệp được tải lên với nhiều tiện ích mở rộng, thì tiện ích mở rộng kết quả có thể phụ thuộc vào thứ tự tải lên xảy ra Để biết thêm thông tin về các loại phương tiện MIME có thể có, hãy xem trang web Các loại phương tiện MIME của IANA builtins: - name: on530 Không bắt buộc. builtins: - name: on530 được sử dụng với cài đặt builtins: - name: on532 để đặt mã phản hồi HTTP được trả về khi thực hiện chuyển hướng theo yêu cầu của cách cài đặt builtins: - name: on532 được định cấu hình. Phần tử builtins: - name: on530 có các giá trị có thể sau builtins: - name: on535Đã di chuyển Mã phản hồi vĩnh viễn. builtins: - name: on536Đã tìm thấy mã phản hồi. builtins: - name: on537Xem Mã phản hồi khác. ________ 2538 Mã phản hồi chuyển hướng tạm thời. Ví dụ builtins: - deferred: on - appstats: on0 Khi yêu cầu của người dùng được chuyển hướng, mã trạng thái HTTP sẽ được đặt thành giá trị của tham số builtins: - name: on530. Nếu không có tham số, 302 sẽ được trả về builtins: - name: on518 Không bắt buộc. Chỉ định đường dẫn đến tập lệnh từ thư mục gốc của ứng dụng builtins: - deferred: on - appstats: on1 Lệnh builtins: - name: on7 phải là đường dẫn nhập python, ví dụ: builtins: - name: on542 trỏ đến ứng dụng WSGI. Thành phần cuối cùng của lệnh builtins: - name: on7 sử dụng đường dẫn mô-đun Python là tên của một biến toàn cục trong mô-đun. biến đó phải là một ứng dụng WSGI và thường được gọi là builtins: - deferred: on - appstats: on486 theo quy ước Ghi chú. giống như đối với câu lệnh Python builtins: - name: on545, mỗi thư mục con là một gói phải chứa một tệp có tên Trong thời gian chạy App Engine mới hơn, builtins: - name: on532Tùy chọn. Bất kỳ trình xử lý URL nào cũng có thể sử dụng cài đặt builtins: - name: on532, bao gồm trình xử lý tập lệnh và trình xử lý tệp tĩnh. Phần tử builtins: - name: on532 có các giá trị có thể sau. builtins: - name: on550Cả hai yêu cầu HTTP và HTTPS có URL phù hợp với trình xử lý đều thành công mà không cần chuyển hướng. Ứng dụng có thể kiểm tra yêu cầu để xác định giao thức nào đã được sử dụng và phản hồi tương ứng. Đây là mặc định khi builtins: - name: on532 không được cung cấp cho trình xử lý. builtins: - name: on552Yêu cầu URL khớp với trình xử lý sử dụng HTTPS này sẽ tự động được chuyển hướng đến URL tương đương HTTP. Khi yêu cầu HTTPS của người dùng được chuyển hướng thành yêu cầu HTTP, các tham số truy vấn sẽ bị xóa khỏi yêu cầu. Điều này ngăn người dùng vô tình gửi dữ liệu truy vấn qua kết nối không an toàn dành cho kết nối an toàn. builtins: - name: on553Yêu cầu URL phù hợp với trình xử lý này không sử dụng HTTPS sẽ tự động được chuyển hướng đến URL HTTPS có cùng đường dẫn. Tham số truy vấn được giữ nguyên cho chuyển hướng. Ví dụ builtins: - deferred: on - appstats: on2 Máy chủ web phát triển không hỗ trợ kết nối HTTPS. Nó bỏ qua tham số builtins: - name: on532, do đó, các đường dẫn dành cho sử dụng với HTTPS có thể được kiểm tra bằng các kết nối HTTP thông thường đến máy chủ web phát triển Để nhắm mục tiêu một phiên bản ứng dụng cụ thể của bạn bằng miền builtins: - name: on555, bạn thay thế các dấu chấm thường phân tách các thành phần miền phụ của URL bằng chuỗi " builtins: - name: on556", chẳng hạn. ______2557 Để sử dụng miền tùy chỉnh với HTTPS, trước tiên bạn phải kích hoạt và định cấu hình chứng chỉ SSL cho miền đó Đăng nhập và đăng xuất Tài khoản Google luôn được thực hiện bằng kết nối an toàn, không liên quan đến cách cấu hình URL của ứng dụng builtins: - name: on558 Không bắt buộc. Đường dẫn đến thư mục chứa các tệp tĩnh, từ thư mục gốc của ứng dụng. Mọi thứ sau khi kết thúc mẫu builtins: - name: on559 phù hợp được thêm vào builtins: - name: on558 để tạo thành đường dẫn đầy đủ đến tệp được yêu cầu Mỗi tệp trong thư mục tĩnh được cung cấp bằng loại MIME tương ứng với phần mở rộng tên tệp của nó trừ khi bị ghi đè bởi cài đặt builtins: - name: on529 của thư mục. Tất cả các tệp trong thư mục đã cho được tải lên dưới dạng tệp tĩnh và không tệp nào trong số chúng có thể chạy dưới dạng tập lệnh Tất cả các tệp trong thư mục này được tải lên cùng với ứng dụng của bạn dưới dạng tệp tĩnh. App Engine lưu trữ và phân phối các tệp tĩnh riêng biệt với các tệp của ứng dụng của bạn. Các tệp tĩnh không có sẵn trong hệ thống tệp của ứng dụng theo mặc định. Điều này có thể được thay đổi bằng cách đặt tùy chọn thành true builtins: - deferred: on - appstats: on3____2563 Không bắt buộc. Trình xử lý mẫu tệp tĩnh liên kết mẫu URL với đường dẫn đến tệp tĩnh được tải lên bằng ứng dụng. Biểu thức chính quy của mẫu URL có thể xác định các nhóm biểu thức chính quy sẽ được sử dụng trong việc xây dựng đường dẫn tệp. Bạn có thể sử dụng cái này thay vì builtins: - name: on558 để ánh xạ tới các tệp cụ thể trong cấu trúc thư mục mà không ánh xạ toàn bộ thư mụcThí dụ. builtins: - deferred: on - appstats: on4 App Engine lưu trữ và phục vụ các tệp tĩnh riêng biệt với các tệp ứng dụng. Các tệp tĩnh không có sẵn trong hệ thống tệp của ứng dụng theo mặc định. Điều này có thể được thay đổi bằng cách đặt tùy chọn thành true Tệp tĩnh không được giống với tệp mã ứng dụng. Nếu đường dẫn tệp tĩnh khớp với đường dẫn đến tập lệnh được sử dụng trong trình xử lý động, tập lệnh sẽ không khả dụng cho trình xử lý động builtins: - name: on566 Không bắt buộc. Một biểu thức chính quy khớp với đường dẫn tệp cho tất cả các tệp sẽ được trình xử lý này tham chiếu. Điều này là cần thiết vì trình xử lý không thể xác định tệp nào trong thư mục ứng dụng của bạn tương ứng với các mẫu builtins: - name: on559 và builtins: - name: on563 đã cho. Các tệp tĩnh được tải lên và xử lý riêng biệt với các tệp ứng dụng. Ví dụ trên có thể sử dụng mẫu builtins: - name: on566 sau. builtins: - name: on570 builtins: - name: on559 Phần tử bắt buộc theo builtins: - deferred: on - appstats: on412. Mẫu URL, dưới dạng biểu thức chính quy. Biểu thức có thể chứa các nhóm có thể được tham chiếu trong đường dẫn tệp tới tập lệnh với tham chiếu ngược biểu thức chính quy. Ví dụ: builtins: - name: on573 sẽ khớp với URL builtins: - name: on574 và sử dụng builtins: - name: on575 và builtins: - name: on576 làm nhóm thứ nhất và thứ hai Mẫu URL có một số khác biệt về hành vi khi được sử dụng với các thành phần sau Sử dụng tiền tố URL. Mẫu biểu thức chính quy không được chứa các nhóm khi được sử dụng với phần tửbuiltins: - name: on558. Tất cả các URL bắt đầu bằng tiền tố này đều được xử lý bởi trình xử lý này, sử dụng phần URL sau tiền tố như một phần của đường dẫn tệp. Trình xử lý mẫu tệp tĩnh liên kết mẫu URL với đường dẫn đến tệp tĩnh được tải lên bằng ứng dụng. Biểu thức chính quy của mẫu URL có thể xác định các nhóm biểu thức chính quy sẽ được sử dụng trong việc xây dựng đường dẫn tệp. Bạn có thể sử dụng cái này thay vì builtins: - name: on558 để ánh xạ tới các tệp cụ thể trong cấu trúc thư mục mà không ánh xạ toàn bộ thư mục yếu tố mở rộngCác thành phần trong bảng sau định cấu hình cách ứng dụng của bạn mở rộng. Để tìm hiểu thêm về cách ứng dụng App Engine mở rộng quy mô, hãy xem Yếu tốMô tảbuiltins: - deferred: on - appstats: on437 Không bắt buộc. Chỉ áp dụng cho các ứng dụng sử dụng từ F1 trở lên Chỉ định thành phần này để thay đổi cài đặt mặc định cho tự động thay đổi quy mô, chẳng hạn như đặt mức tối thiểu và tối đa cho số lượng phiên bản, độ trễ và kết nối đồng thời cho một dịch vụ Phần tử này có thể chứa các phần tử sau builtins: - name: on582Tùy chọn. Chỉ định một giá trị trong khoảng từ 0 đến 2147483647, trong đó số 0 sẽ tắt cài đặt Tham số này chỉ định số lượng phiên bản tối đa cho Máy ứng dụng để tạo cho phiên bản mô-đun này. Điều này rất hữu ích để hạn chế chi phí của một mô-đun builtins: - name: on583Cảnh báo. Để tính năng này hoạt động bình thường, bạn phải đảm bảo rằng các yêu cầu khởi động được bật và ứng dụng của bạn xử lý các yêu cầu khởi động. Ghi chú. Cài đặt này chỉ áp dụng nếu phiên bản của ứng dụng được xác định bởi tệp builtins: - name: on0 này được định cấu hình để nhận lưu lượng truy cập. Để tìm hiểu thêm về định tuyến lưu lượng truy cập đến các phiên bản khác nhau của ứng dụng, hãy xem Chia tách lưu lượng truy cập. Không bắt buộc. Số phiên bản tối thiểu để App Engine tạo cho phiên bản mô-đun này. Các phiên bản này phân phát lưu lượng khi có yêu cầu và tiếp tục phân phát lưu lượng ngay cả khi các phiên bản bổ sung được khởi động theo yêu cầu để xử lý lưu lượng Chỉ định một giá trị từ 0 đến 1000. Bạn có thể đặt tham số thành giá trị 0 để cho phép thay đổi quy mô thành 0 phiên bản nhằm giảm chi phí khi không có yêu cầu nào được phục vụ. Lưu ý rằng bạn bị tính phí cho số lượng phiên bản được chỉ định cho dù chúng có nhận được lưu lượng truy cập hay không builtins: - name: on585 Không bắt buộc. Số lượng phiên bản nhàn rỗi tối đa mà App Engine sẽ duy trì cho phiên bản này. Chỉ định giá trị từ 1 đến 1000. Nếu không được chỉ định, giá trị mặc định là builtins: - name: on586, có nghĩa là App Engine sẽ quản lý số lượng phiên bản nhàn rỗi. Hãy ghi nhớ những điều sau
Ghi chú. Khi trở lại mức bình thường sau khi tải tăng đột biến, số lượng phiên bản không hoạt động có thể tạm thời vượt quá mức tối đa được chỉ định của bạn. Tuy nhiên, bạn sẽ không bị tính phí cho nhiều trường hợp hơn số lượng tối đa mà bạn đã chỉ định builtins: - name: on587Cảnh báo. Để tính năng này hoạt động bình thường, bạn phải đảm bảo rằng các yêu cầu khởi động được bật và ứng dụng của bạn xử lý các yêu cầu khởi động. Ghi chú. Cài đặt này chỉ áp dụng nếu phiên bản của ứng dụng được xác định bởi tệp builtins: - name: on0 này được định cấu hình để nhận lưu lượng truy cập. Để tìm hiểu thêm về định tuyến lưu lượng truy cập đến các phiên bản khác nhau của ứng dụng, hãy xem Chia tách lưu lượng truy cập Không bắt buộc. Số phiên bản bổ sung sẽ tiếp tục chạy và sẵn sàng phân phát lưu lượng truy cập cho phiên bản này App Engine tính toán số lượng phiên bản cần thiết để phục vụ lưu lượng truy cập ứng dụng hiện tại của bạn dựa trên cài đặt chia tỷ lệ, chẳng hạn như builtins: - name: on589 và builtins: - name: on590. Cài đặt builtins: - name: on587 chỉ định số lượng phiên bản sẽ chạy ngoài số lượng được tính toán này. Ví dụ: nếu App Engine tính toán rằng 5 phiên bản là cần thiết để phân phối lưu lượng truy cập và builtins: - name: on587 được đặt thành 2, thì App Engine sẽ chạy 7 phiên bản (5, được tính dựa trên lưu lượng truy cập, cộng thêm 2 phiên bản cho mỗi builtins: - name: on587) Lưu ý rằng bạn bị tính phí cho số lượng phiên bản được chỉ định cho dù chúng có nhận được lưu lượng truy cập hay không. Hãy ghi nhớ những điều sau
builtins: - name: on589Tùy chọn. Chỉ định một giá trị giữa 0. 5 và 0. 95. Mặc định là builtins: - name: on595 Tham số này chỉ định ngưỡng sử dụng CPU mà tại đó các phiên bản mới sẽ bắt đầu xử lý lưu lượng truy cập, cho phép bạn cân bằng giữa hiệu suất và chi phí, với các giá trị thấp hơn sẽ tăng hiệu suất và tăng chi phí, còn các giá trị cao hơn sẽ giảm hiệu suất nhưng cũng giảm chi phí. Ví dụ: giá trị 0. 7 có nghĩa là các phiên bản mới sẽ được bắt đầu sau khi mức sử dụng CPU đạt 70 phần trăm builtins: - name: on590Tùy chọn. Chỉ định một giá trị từ 0. 5 đến 0. 95. Mặc định là builtins: - name: on595 Được sử dụng với builtins: - deferred: on - appstats: on440 để chỉ định thời điểm bắt đầu một phiên bản mới do các yêu cầu đồng thời. Khi số lượng yêu cầu đồng thời đạt đến giá trị bằng builtins: - deferred: on - appstats: on440 nhân với builtins: - name: on590, bộ lập lịch sẽ cố gắng bắt đầu một phiên bản mới builtins: - deferred: on - appstats: on440 Không bắt buộc. Số lượng yêu cầu đồng thời mà một phiên bản thay đổi quy mô tự động có thể chấp nhận trước khi bộ lập lịch tạo ra một phiên bản mới (Mặc định. 10, Tối đa. 1000) Được sử dụng với builtins: - name: on590 để chỉ định thời điểm bắt đầu một phiên bản mới do các yêu cầu đồng thời. Khi số lượng yêu cầu đồng thời đạt đến giá trị bằng builtins: - deferred: on - appstats: on440 nhân với builtins: - name: on590, bộ lập lịch sẽ cố gắng bắt đầu một phiên bản mới Chúng tôi khuyên bạn không nên đặt builtins: - deferred: on - appstats: on440 nhỏ hơn 10 trừ khi bạn cần phân luồng đơn. Giá trị nhỏ hơn 10 có khả năng dẫn đến nhiều phiên bản được tạo hơn mức bạn cần cho một ứng dụng an toàn luồng và điều đó có thể dẫn đến chi phí không cần thiết Nếu cài đặt này quá cao, bạn có thể gặp phải độ trễ API tăng lên. Lưu ý rằng bộ lập lịch có thể sinh ra một phiên bản mới trước khi đạt đến số lượng yêu cầu tối đa thực tế builtins: - deferred: on - appstats: on06 Lượng thời gian tối đa mà Máy ứng dụng sẽ cho phép một yêu cầu đợi trong hàng chờ xử lý trước khi bắt đầu các phiên bản bổ sung để xử lý các yêu cầu để giảm độ trễ chờ xử lý. Khi đạt đến ngưỡng này, đó là tín hiệu để mở rộng quy mô và dẫn đến số lượng phiên bản tăng lên. Nếu không được chỉ định, giá trị mặc định là builtins: - name: on586. Điều này có nghĩa là các yêu cầu có thể vẫn ở trong hàng chờ xử lý trong tối đa 10 giây, tối đa trước khi phiên bản mới bắt đầu được kích hoạt Mức tối đa thấp có nghĩa là Máy ứng dụng sẽ bắt đầu các phiên bản mới sớm hơn cho các yêu cầu đang chờ xử lý, cải thiện hiệu suất nhưng tăng chi phí vận hành Mức tối đa cao có nghĩa là người dùng có thể đợi lâu hơn để yêu cầu của họ được phục vụ (nếu có các yêu cầu đang chờ xử lý và không có phiên bản nhàn rỗi nào để phục vụ chúng), nhưng ứng dụng của bạn sẽ tốn ít chi phí hơn để chạy builtins: - deferred: on - appstats: on08 Một thành phần tùy chọn mà bạn có thể đặt để chỉ định khoảng thời gian tối thiểu mà Máy ứng dụng sẽ cho phép một yêu cầu đợi trong hàng chờ xử lý trước khi bắt đầu một phiên bản mới để xử lý yêu cầu đó. Việc chỉ định một giá trị có thể làm giảm chi phí vận hành nhưng tăng thời gian người dùng phải đợi yêu cầu của họ được phục vụ Đối với các ứng dụng miễn phí, giá trị mặc định là builtins: - deferred: on - appstats: on09. Đối với các ứng dụng trả phí, giá trị mặc định là builtins: - deferred: on - appstats: on10 Phần tử này hoạt động cùng với phần tử builtins: - deferred: on - appstats: on06 để xác định thời điểm App Engine tạo phiên bản mới. Nếu các yêu cầu đang chờ xử lý nằm trong hàng đợi
builtins: - deferred: on - appstats: on5 builtins: - deferred: on - appstats: on447 Các ứng dụng sử dụng B1 trở lên phải chỉ định yếu tố này hoặc builtins: - deferred: on - appstats: on18 Phần tử này cho phép thay đổi quy mô cơ bản của các lớp phiên bản B1 trở lên, có thể chứa các phần tử sau builtins: - name: on582Bắt buộc. Số lượng phiên bản tối đa mà App Engine có thể tạo cho phiên bản dịch vụ này. Điều này rất hữu ích để hạn chế chi phí của một dịch vụ. builtins: - deferred: on - appstats: on20Tùy chọn. Phiên bản sẽ bị tắt trong khoảng thời gian này sau khi nhận được yêu cầu cuối cùng của nó. Mặc định là 5 phút ( builtins: - deferred: on - appstats: on21). Ví dụ builtins: - deferred: on - appstats: on6 builtins: - deferred: on - appstats: on448 Các ứng dụng sử dụng B1 trở lên phải chỉ định yếu tố này hoặc builtins: - deferred: on - appstats: on23 Phần tử này cho phép thay đổi tỷ lệ thủ công các lớp phiên bản B1 trở lên và có thể chứa phần tử sau |