2016-10-23 2 views
0

Ich suche nach einem Batch-Skript für Dateien, die von meiner Website hochgeladen werden (jeweils einzeln), und gebe die resultierende Datei zurück, die von diesem Batch-Skript erstellt wurde. Die Website wird in einer freigegebenen Linux-Umgebung gehostet, daher kann ich die Batch-Datei nicht auf dem Server ausführen.Cloud Services zum Ausführen von Batch-Skripten beim Hochladen von Dateien?

Es klingt wie etwas, das ich mit Amazon S3 und Amazon Lambda erreichen konnte, aber ich fragte mich, ob es andere Dienste gab, die es mir ermöglichen würden, die gleiche Aufgabe zu erfüllen.

Antwort

0

Ich würde empfehlen, dass Sie sich in S3 Events und Lambda.

Mit S3-Ereignissen können Sie eine Lambda-Funktion für Puts und Deletes in einem S3-Bucket auslösen. Abhängig von Ihrer "Batch-Datei" -Aufgabe können Sie Ihr Ziel möglicherweise nur in Lambda erreichen.

Wenn Sie nicht Lambda verwenden, um die Funktionalität des Stapels zu ersetzen Datei, die Sie folgendes versuchen:

  • Wenn Sie den Batch-Prozess laufen auf eine bestimmte Instanz haben müssen, einen Blick auf Amazon SQS nehmen. Sie können das S3-Ereignis veranlassen, dass Lambda in SQS ein Arbeitselement erstellt, und Ihre Instanz kann regelmäßig SQS zur Verarbeitung abfragen.
  • Wenn Sie etwas mehr Echtzeit benötigen, können Sie Amazon SNS für einen Push statt Pull-Ansatz zu den oben genannten verwenden.
  • Wenn Sie die Datei nicht für die Verarbeitung durch eine bestimmte Instanz benötigen, aber dafür eine Batchdatei ausführen müssen, kann Ihr S3-Ereignis möglicherweise ausgelöst werden Lambda erstellt eine Instanz mit einem UserData-Skript, das sys ist Bereiten Sie den Server nach Bedarf vor, laden Sie die s3-Datei herunter, bearbeiten Sie den Stapel und beenden Sie ihn schließlich selbst, indem Sie über den EC2-Metadatendienst nach der eigenen Instanz-ID suchen und die API-Methode terminate-Instanzen aufrufen.

Hier einige ähnliche Lesung mit den oben genannten Ansätze zu unterstützen:

Amazon SQS https://aws.amazon.com/documentation/sqs/

Amazon SNS https://aws.amazon.com/documentation/sns/

Amazon Lambda https://aws.amazon.com/documentation/lambda/

Amazon S3 Ereignisbenachrichtigungen http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html

EC2 Userdata http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data

EC2-Metadaten-Service http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html#instancedata-data-retrieval

AWS-Tools für Powershell-Cmdlets Referenz http://docs.aws.amazon.com/powershell/latest/reference/Index.html

+0

, dass einige gute Ratschläge ist! Sieht so aus, als ob ich mit diesen Amazon-Diensten viel zu lernen habe. Wäre der allgemeine Rat derselbe, wenn ich anstelle des Batch-Skripts eine vorkompilierte EXE-Datei für die Verarbeitung verwenden möchte? 'S3 Ereignis ausgelöst, um Datei zu setzen -> Datei an .exe durch Befehlszeilenargumente übergeben -> Datei von .exe erstellt und zurückgeben ' –

+0

sei es .bat oder .exe es ist das gleiche für jede Situation. :) –

Verwandte Themen