Czy ktoś wie, czy można zaimportować duży zestaw danych do Amazon S3 z adresu URL?
Zasadniczo chcę uniknąć pobierania dużego pliku, a następnie ponownego ładowania go do S3 za pośrednictwem portalu internetowego. Chcę tylko podać adres URL pobierania do S3 i poczekać, aż ściągną go do swojego systemu plików. Wydaje się to łatwe, ale po prostu nie mogę znaleźć dokumentacji na ten temat.
Odpowiedzi:
Ponieważ oczywiście masz konto AWS, polecam następujące rzeczy:
wget http://example.com/my_large_file.csv
.s3cmd
aby przesłać plik do S3. Na przykład:s3cmd cp my_large_file.csv s3://my.bucket/my_large_file.csv
Ponieważ połączenia między różnymi usługami AWS wykorzystują wewnętrzną sieć AWS, przesyłanie z instancji EC2 do S3 jest dość szybkie. Znacznie szybciej niż przesyłanie go z własnego komputera. W ten sposób można uniknąć pobierania pliku na komputer i zaoszczędzenia potencjalnie znacznego czasu na przesyłaniu go przez interfejs sieciowy.
źródło
Uruchom instancję EC2 z wystarczającą ilością pamięci
ssh do instancji
Uzyskaj polecenie curl odpowiadające pobieraniu z komputera lokalnego. Możesz użyć opcji programisty w Google Chrome -> karta sieci -> kopiuj -> kopiuj jako curl (ten krok jest konieczny w przypadku niektórych stron internetowych wymagających uwierzytelnienia, takich jak Kaggle)
Z terminalu instancji uruchom
curl
polecenie (dołącz-o output_file
do polecenia). Spowoduje to pobranie i zapisanie plikuSkonfiguruj poświadczenia aws, aby połączyć instancję z s3 (jednym ze sposobów jest użycie komendy
aws config
, podanie identyfikatora i klucza dostępu AWS oraz klucza tajnego),Użyj tego polecenia, aby przesłać plik do s3:
źródło
Odwołaj się do dokumentacji Aws: http://aws.amazon.com/code dostępne są biblioteki dla większości języków programowania. Możesz więc utworzyć segment i skonfigurować w kodzie pobieranie danych z adresu URL i zapisywanie w tym segmencie w s3
na przykład w python:
Patrz: https://boto.readthedocs.org/en/latest/s3_tut.html
źródło
Możesz zamontować wiadro s3 do instancji ec2, a następnie cd do folderu / path / to / s3_mounted_on_a_folder, tam możesz po prostu użyć polecenia:
aby zamontować s3 na swoim ec2, użyj s3fs.
źródło