Tôi đang xây dựng một trang web (trong số những thứ khác) cho phép người dùng tải ảnh lên qua api web. Các hình ảnh người dùng sẽ được lưu trữ trong blob lưu trữ xanh để được hiển thị trong album của người dùng và được chia sẻ với phương tiện truyền thông xã hội. Trang web sẽ được lưu trữ dưới dạng trang web xanh. Tôi mong muốn giảm thiểu chi phí chuyển dữ liệu. Tôi hiểu rằng việc truyền dữ liệu giữa một trang web xanh và lưu trữ bảng/blob không phát sinh phí chuyển dữ liệu (vì nó không được coi là "đi") trong khi dữ liệu được yêu cầu từ bên ngoài trang web của Azure. Để đáp lại điều này, tôi có 2 chiến lược để hiển thị hình ảnh cho trình duyệt:Chiến lược để giảm thiểu lưu trữ Azure chi phí dữ liệu gửi đi
1.) Thông qua URI tới hình ảnh blob trong bộ nhớ xanh, ví dụ: với tài khoản lưu trữ cục bộ http://ipv4.fiddler:10000/devstoreaccount1/bcb2ad7581.jpg
2.) Thông qua api web tải xuống byte hình ảnh từ bộ nhớ và trả về chúng. ví dụ. với máy chủ cục bộ http://localhost:58559/api/image/bcb2ad7581.jpg
Đây là những giả định của tôi. Việc truy cập trực tiếp vào bộ nhớ (phương pháp 1 ở trên) hiệu quả hơn. Truy cập hình ảnh qua api web (phương pháp 2 ở trên) phải chịu chi phí vượt quá mà quyền truy cập trực tiếp không đúng, phải không? Mỗi yêu cầu api web phải tiêu thụ một chuỗi asp .net cộng với chu kỳ CPU. Đối với mỗi yêu cầu hình ảnh api web được xử lý, đó là một yêu cầu ít hơn cho các tài nguyên api web khác trên trang web không thể và phải được xếp hàng đợi. Mặt khác, bất kỳ trang web bên ngoài nào được chia sẻ hình ảnh sẽ thêm chi phí chuyển dữ liệu (trong số các chi phí khác) cho mỗi yêu cầu hình ảnh; nếu truy cập qua phương thức 1.
Vì vậy, chiến lược của tôi là truy cập hình ảnh trong trang web thông qua liên kết trực tiếp đến bộ nhớ (phương pháp 1), ví dụ: khi người dùng mở một album, tất cả các thẻ có uri xanh trong thuộc tính src của họ. Tuy nhiên khi người dùng nhấp vào biểu tượng Facebook để chia sẻ, tôi sẽ cung cấp một liên kết đến hình ảnh qua api web (phương pháp 2). Tôi nhận ra rằng người dùng có thể bỏ qua tất cả những điều đó bằng các plugin như nút "PinIt", nhưng điều đó vẫn ổn.
Tôi chỉ đang học công cụ này, vì vậy tôi có thể thoát ra. Tôi có sai về chi phí chuyển đi không được áp dụng cho các trang web xanh không? Tôi không nghĩ rằng tôi nhưng toàn bộ mô hình định giá là khó hiểu, để nói rằng ít nhất.
Đang truy cập bộ nhớ blob từ trang html của trình duyệt có thẻ và thuộc tính src, được coi là truyền dữ liệu đi; ngay cả khi trang html đến từ một tên miền trang web azure? Tôi có nghĩa là nó chỉ miễn phí khi mã phía máy chủ truy cập lưu trữ, không phải là khách hàng html?
Có bất kỳ chi phí chuyển dữ liệu nào được lưu qua phương pháp 2 (nếu thực sự có một), đơn giản bị hủy bằng một chi phí khác liên quan đến phương pháp api web (như chi phí băng thông)?
Tôi có sai về lợi ích hiệu suất của việc truy cập trực tiếp vào bộ nhớ blob hay có thể sai về chi phí của yêu cầu api trên web không?
Đó là những ngày đầu trong thiết kế, vì vậy tôi có thể đổ Azure nếu tôi phải làm. Tôi không muốn mặc dù, vì tôi nghĩ rằng đó là những gì tôi đang tìm kiếm. Tôi không muốn một cái gì đó cho không có gì và hạnh phúc để trả tiền cho các dịch vụ tôi tiêu thụ. Đương nhiên, mặc dù, tôi không muốn sự thiếu hiểu biết của mình phải trả giá cho tôi.
Tôi có thể làm theo lời khuyên của bạn, về điều này và thực sự đánh giá cao sự giúp đỡ của bạn.
Đó là một câu trả lời tuyệt vời. Cảm ơn –