Jaka jest maksymalna długość nazwy pliku w S3

84

Może jestem ślepy, ale nie mogę znaleźć w dokumentacji S3 maksymalnej długości nazwy pliku, którą można przesłać w S3.

ohe
źródło
6
Nie mam pojęcia, dlaczego zostało to zamknięte jako nie na temat. Idealnie pasuje do formatu pytań i odpowiedzi.
James McMahon,

Odpowiedzi:

109

Jak wynika z dokumentacji Amazon ,

Te nazwy są kluczami obiektów. Nazwa klucza to sekwencja znaków Unicode, której kodowanie UTF-8 ma maksymalnie 1024 bajty.

Maksymalna długość nazwy pliku to 1024 znaków. Jeśli znaki w nazwie wymagają więcej niż jednego bajtu w reprezentacji UTF-8, liczba dostępnych znaków jest zmniejszona.

Zespół przeglądarki S3
źródło
5
Jeśli twój język reprezentuje 16-bitowe znaki Unicode, to jest ((1024 bytes * 8 bits/byte) / 16 bits/character) = 512 characters. Ale skąd wiedzieć, czego używają?
Ben
11
@Ben Unicode! = UTF-8. UTF-8 to sposób kodowania Unicode na zestaw bitów. W przypadku znaków w (7-bitowym) zestawie ASCII UTF-8 wykorzystuje tylko 1 bajt / 8 bitów. W przypadku innych znaków będzie to prawdopodobnie 2 bajty, ale czasami 3 lub 4. Tak więc dla nazw plików, które używają wyłącznie znaków ASCII, maksymalna długość nazwy pliku będzie wynosić 1024 znaki.
Josh Gallagher,
22
Na początku pomyślałem „1024 bajty tekstu zakodowanego w UTF8! = 1024 znaki”, a potem pomyślałem „ach tak, ale maksimum to nadal 1024 znaki”. Zabawne, jak czasami możesz być tak chętny, aby pokazać nieznajomemu, że się mylił w Internecie (i jak prawie nigdy nie zdajesz sobie sprawy, że się mylisz przed wysłaniem wiadomości: D)
Romain
@Romain brzmi już na pierwszy rzut oka. Ale wtedy nie chodzi tylko o LOGICZNE, prawda, nie. Poza tym odpowiedź powinna być pomocna. Jeśli nie zauważysz Unicode! = UTF-8, czytelnik może źle to zrozumieć, wierząc, że tak długo, jak „keystring” .length () <= 1024, bez uwzględnienia kodowania.
Steve
3
To całkiem proste. Jeśli twój klucz składa się tylko z alfabetu amerykańskiego (zestaw ASCII), będziesz mieć 1024 znaki. Jeśli używam tylko niemieckich umlautów, takich jak öäü, będę miał miejsce tylko na 512 znaków, ponieważ są to 2-bajtowe zakodowane w UTF-8.
Marc