Правила именования S3 бакетов
Стандарт AWS S3, наследуется MinIO и другими S3-совместимыми хранилищами.
Правила
| Правило | Пример валидного | Пример невалидного |
|---|---|---|
| От 3 до 63 символов | images | og (2 символа) |
| Только строчные буквы, цифры, дефисы | my-bucket | My_Bucket |
| Начинается и заканчивается буквой или цифрой | data-1 | -bucket |
| Не может быть IP-адресом | — | 192.168.1.1 |
| Без точек (рекомендация) | my-bucket | my.bucket — проблемы с TLS при virtual-hosted |
HeadBucket vs CreateBucket при невалидном имени
CreateBucketCommand с невалидным именем возвращает InvalidBucketName. Но HeadBucketCommand на несуществующий бакет с невалидным именем может вернуть Unknown вместо ожидаемого NotFound. Это ломает логику «проверь → создай если нет», если она проверяет только NotFound.