Chcę skopiować plik w wiadrze s3 za pomocą Pythona.
Np. Mam wiadro name = test. A w wiadrze mam 2 foldery o nazwach „dump” i „input”. Teraz chcę skopiować plik z katalogu lokalnego do folderu „dump” S3 za pomocą Pythona ... Czy ktoś może mi pomóc?
python
amazon-web-services
amazon-s3
boto
Dheeraj Gundra
źródło
źródło
Nie ma potrzeby, aby było to aż tak skomplikowane:
źródło
key.set_contents_from_filename('some_file.zip')
działałby również tutaj. Zobacz dok . Odpowiedni kod dla boto3 można znaleźć tutaj .źródło
aws configure
, wprowadź swoje informacje, a automatycznie połączysz się z boto3. Sprawdź boto3.readthedocs.io/en/latest/guide/quickstart.htmlaws configure
aby ułatwić sobie życie.Użyłem tego i jest to bardzo proste do wdrożenia
https://www.smore.com/labs/tinys3/
źródło
boto3.client
rozwiązanie (jak odpowiedź Manisha Mehry) zadziałało natychmiast.źródło
aws_access_key_id
iaws_secret_access_key
może być również skonfigurowany za pomocą interfejsu wiersza polecenia AWS i przechowywany poza skryptem, dzięki czemu można wywołać `client = boto3.client ('s3')Prześlij plik do s3 w ramach sesji z poświadczeniami.
źródło
To również zadziała:
źródło
To jest trzy linijka. Po prostu postępuj zgodnie z instrukcjami w dokumentacji boto3 .
Oto kilka ważnych argumentów:
Parametry:
str
pliku ( ) - ścieżka do pliku do przesłania.str
) - nazwa zasobnika do przesłania.str
) - nazwa, którą chcesz przypisać do swojego pliku w swoim segmencie s3. Może to być ta sama nazwa pliku lub inna wybrana nazwa, ale typ pliku powinien pozostać taki sam.Uwaga: Zakładam, że zapisałeś swoje poświadczenia w
~\.aws
folderze zgodnie z zaleceniami najlepszych praktyk konfiguracyjnych w dokumentacji boto3 .źródło
źródło
Korzystanie z boto3
Więcej: - https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html
źródło
Przykład folderu do przesłania w następujący sposób: kod i obraz folderu S3
PS: Więcej informacji na temat adresu URL
źródło
źródło
Mam coś, co wydaje mi się nieco bardziej uporządkowane:
Są tutaj trzy ważne zmienne , stała BUCKET , plik_do_wrzucenia i nazwa_pliku
BUCKET
: to nazwa twojego wiadra S3file_to_upload_path
: musi być ścieżką do pliku, który chcesz przesłaćfile_name
: to wynikowy plik i ścieżka w Twoim wiadrze (tutaj dodajesz foldery lub cokolwiek innego)Jest wiele sposobów, ale możesz ponownie użyć tego kodu w innym skrypcie, takim jak ten
źródło