2010-06-30 24 views
16

Gần đây tôi đã phát hiện ra rằng bạn có thể giả mạo cấu trúc thư mục trên S3 bằng cách đặt dấu gạch chéo trong tên tệp của bạn. Điều đó khiến tôi suy nghĩ: có bất kỳ hạn chế nào về ID đối tượng không? Tôi chắc chắn phải có một số. Chiều dài? Ký tự trống (\ 0)? Công cụ Arcane như các ký tự UTF-8 không hợp lệ?Các hạn chế về ID đối tượng trong Amazon S3 là gì?

Tôi chắc chắn phải có một số hạn chế, nhưng tôi dường như không thể tìm thấy chúng ở bất kỳ đâu trong tài liệu.

+2

Câu hỏi hay; quy tắc đặt tên cho * thùng * dường như có sẵn (trong Hướng dẫn bắt đầu và Hướng dẫn sử dụng) nhưng không có sẵn cho các đối tượng. – Jonik

+2

Điều này đã được hỏi 4 năm trước, và vẫn là kết quả google hàng đầu, wtf amazon? –

Trả lời

21

mỗi sự technical documentation:

Một khóa là một chuỗi các ký tự Unicode có mã UTF-8 là tại lâu nhất 1024 bytes.

tên Xô có additional restrictions:

Chúng tôi khuyên tất cả các tên xô tuân thủ công ước DNS đặt tên.

Các quy tắc cho tên xô DNS tuân thủ là:

  • tên Bucket phải có ít nhất 3 và không nhiều hơn 63 ký tự.
  • Tên nhóm phải là một chuỗi gồm một hoặc nhiều nhãn. Các nhãn liền kề được phân tách bằng một dấu chấm (.). Tên nhóm có thể chứa chữ thường, số và dấu gạch nối. Mỗi nhãn phải bắt đầu và kết thúc bằng một chữ thường hoặc một số.
  • Tên nhóm không được định dạng là địa chỉ IP (ví dụ: 192.168.5.4).

Tại thời điểm này tên tuân thủ DNS không được thực thi trong khu vực tiêu chuẩn Hoa Kỳ nhưng Amazon đang tiến tới.

+0

Tôi cũng khuyên bạn nên tránh các ký tự không tuân thủ xml1.0. Điều này gây ra lỗi khác nhau với boto và có thể triển khai khác. Xem https://github.com/boto/boto/issues/1459 – omribahumi

Các vấn đề liên quan