to jeszcze nie działa. aws nie zbudował/wypuścił funkcjonalności, aby ładnie połączyć się z postgresem. możesz to zrobić w powłoce aktywnej. możesz napisać trochę kodu ruby lub pythona, aby to zrobić i upuścić go w skrypcie na s3 przy użyciu skryptUri. możesz też po prostu napisać komendę psql, aby zrzucić tabelę do pliku csv, a następnie przesłać ją do OUTPUT1_STAGING_DIR z "staging: true" w tym węźle aktywności.
coś takiego:
{
"id": "DumpCommand",
"type": "ShellCommandActivity",
"runsOn": { "ref": "MyEC2Resource" },
"stage": "true",
"output": { "ref": "S3ForRedshiftDataNode" },
"command": "PGPASSWORD=password psql -h HOST -U USER -d DATABASE -p 5432 -t -A -F\",\" -c \"select blah_id from blahs\" > ${OUTPUT1_STAGING_DIR}/my_data.csv"
}
ja nie uruchomić to do sprawdzenia, ponieważ jest to ból do rozpędzają rurociągu :(więc dokładnie sprawdzić ucieczki w poleceniu
- plusy. : bardzo proste i nie wymaga żadnych dodatkowych plików skryptów do przesłania na s3
- minusy: niezupełnie bezpieczne Twoje hasło do bazy danych zostanie przekazane przez kabel bez szyfrowania
Zapoznaj się z nowymi materiałami uruchomionymi na sparametryzowanych potokach danych: http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-custom-templates.html. wygląda na to, że pozwoli na szyfrowanie arbitralnych parametrów.
jako szybki aktualizacji: PostgreSQL wspiera teraz SSL, więc jeśli jesteś na nowsza wersja upewnij się, że ustawiłeś ssl = true, więc szyfrowanie jest ustawione. –