Ich verwende AWS Data Pipeline, um einige CSV-Daten von S3 nach Redshift zu importieren. Ich habe auch eine ShellCommandActivity hinzugefügt, um alle S3-Dateien nach Abschluss der Kopieraktivität zu entfernen. Ich habe ein Bild mit dem ganzen Prozess verbunden.Verwenden Sie dieselbe EC2-Instanz für alle AWS Data Pipeline-Aktivitäten.
Alles funktioniert gut, aber jede Aktivität beginnt es eigene EC2-Instanz ist. Ist es möglich, dass die ShellCommandActivity dieselbe EC2-Instanz wie die RedshiftCopyActivity wiederverwendet, nachdem der Kopierbefehl abgeschlossen wurde?
Vielen Dank!
Vielen Dank für Ihre Antwort. Ich habe versucht, diesem Tutorial zu folgen, aber von dem, was ich verstanden habe, verlangen die Lambda-Funktionen, dass Ihr Redshift-Cluster öffentlich zugänglich ist und es für diesen Moment keine andere Möglichkeit gibt, dies zu tun. Siehe diesen Blogpost: https://github.com/awslabs/aws-lambda-redshift-loader/issues/30. Für mich ist es ein Muss, dass der Redshift-Cluster nicht öffentlich zugänglich ist. Unsere Infrastruktur basiert auf VPCs. –
@ Radu-StefanZugravu Auschecken: https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/ – helloV
Ich habe das auch versucht. Selbst wenn ich einen s3-Endpunkt hinzufüge, überschreitet meine Lambda-Funktion das Zeitlimit: Die Zeitüberschreitung der Aufgabe endete nach 59,00 Sekunden. Wenn ich meine Lambda-Funktion außerhalb von VPC erhalte, erhält sie die hochgeladene s3-Datei erfolgreich. Irgendeine Idee? Vielen Dank! –