Po wszystkich trudnych pracach migracyjnych itp. Po prostu zdaj sobie sprawę, że jeśli potrzebujesz, aby obsługiwać zawartość za pomocą CNAME (np. Media.abc.com). Nazwa zasobnika musi zaczynać się od media.abc.com/S3/amazon.com, aby zapewnić jej idealne działanie.
Po prostu uświadom sobie, że S3 nie zezwala na bezpośrednią zmianę nazwy z konsoli.
Czy są jakieś sposoby obejścia tego?
amazon-web-services
amazon-s3
cname
Carson Lee
źródło
źródło
Rozwiązanie
Wyjaśnienie
Nie ma funkcji zmiany nazwy zasobnika dla S3, ponieważ technicznie nie ma folderów w S3, więc musimy obsłużyć każdy plik w zasobniku.
Powyższy kod 1. utworzy nowy zasobnik, 2. skopiuje pliki i 3. usunie stary zasobnik. Otóż to.
Jeśli masz dużo plików w swoim wiadrze i martwisz się o koszty, czytaj dalej. Za kulisami dzieje się tak, że wszystkie pliki w zasobniku są najpierw kopiowane, a następnie usuwane. Jeśli masz kilka tysięcy plików, powinno to kosztować niewielką kwotę. W przeciwnym razie sprawdź tę odpowiedź, aby zobaczyć, jak to wpłynie na Ciebie.
Przykład
W poniższym przykładzie tworzymy i zapełniamy stary zasobnik, a następnie synchronizujemy pliki z nowym. Sprawdź dane wyjściowe poleceń, aby zobaczyć, co robi AWS.
źródło
--acl bucket-owner-full-control
(jak w tej odpowiedzi )aws --region ap-southeast-2 s3 mb s3://new-bucket
Prawdopodobnie późniejsza wersja zestawu narzędzi AWS CLI zapewniła taką
mv
opcję.Zmieniam nazwy zasobników za pomocą następującego polecenia:
źródło
new-bucket
przed uruchomieniem polecenia należy najpierw utworzyć. Ponadtoold-bucket
będzie wtedy pusty, ale NIE zostanie usunięty. Jeśli chcesz go usunąć po przesłaniu wszystkich plików, użyj następującego polecenia (bez nawiasów kątowych):aws s3api delete-bucket --bucket <old-bucket> --region <region id>
aws s3 mv
faktycznie kopiuje i usuwa, więc koszty finansowe powinny być takie same (myślę).