Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden Sie vordefinierte Schritte
Wenn Sie einen Workflow erstellen, können Sie wählen, ob Sie einen der folgenden vordefinierten Schritte hinzufügen möchten, die in diesem Thema beschrieben werden. Sie können auch Ihre eigenen benutzerdefinierten Dateiverarbeitungsschritte hinzufügen. Weitere Informationen finden Sie unter Verwenden Sie benutzerdefinierte Schritte zur Dateiverarbeitung.
Themen
Datei kopieren
Ein Schritt „Datei kopieren“ erstellt eine Kopie der hochgeladenen Datei an einem neuen Amazon S3 S3-Speicherort. Derzeit können Sie den Schritt „Datei kopieren“ nur mit Amazon S3 verwenden.
Der folgende Schritt zum Kopieren von Dateien kopiert Dateien in den test
Ordner im file-test
Ziel-Bucket.
Wenn der Schritt „Datei kopieren“ nicht der erste Schritt Ihres Workflows ist, können Sie den Speicherort der Datei angeben. Durch Angabe des Dateispeicherorts können Sie entweder die Datei, die im vorherigen Schritt verwendet wurde, oder die Originaldatei, die hochgeladen wurde, kopieren. Sie können diese Funktion verwenden, um mehrere Kopien der Originaldatei zu erstellen und gleichzeitig die Quelldatei für die Dateiarchivierung und Aufbewahrung von Aufzeichnungen intakt zu lassen. Ein Beispiel finden Sie unter Beispiel für einen Workflow zum Markieren und Löschen.
Geben Sie den Bucket und die wichtigsten Details an
Sie müssen den Bucket-Namen und einen Schlüssel für das Ziel des Schritts „Datei kopieren“ angeben. Der Schlüssel kann entweder ein Pfadname oder ein Dateiname sein. Ob der Schlüssel als Pfad- oder Dateiname behandelt wird, hängt davon ab, ob Sie den Schlüssel mit einem Schrägstrich (/
) beenden.
Wenn das letzte Zeichen ist/
, wird Ihre Datei in den Ordner kopiert, und ihr Name ändert sich nicht. Wenn das letzte Zeichen alphanumerisch ist, wird Ihre hochgeladene Datei in den Schlüsselwert umbenannt. Wenn in diesem Fall bereits eine Datei mit diesem Namen existiert, hängt das Verhalten von der Einstellung für das Feld Bestehende überschreiben ab.
-
Wenn Bestehende überschreiben ausgewählt ist, wird die vorhandene Datei durch die Datei ersetzt, die gerade verarbeitet wird.
-
Wenn „Bestehende überschreiben“ nicht ausgewählt ist, passiert nichts und die Workflow-Verarbeitung wird gestoppt.
Tipp
Wenn gleichzeitige Schreibvorgänge auf demselben Dateipfad ausgeführt werden, kann dies zu unerwartetem Verhalten beim Überschreiben von Dateien führen.
Wenn Ihr Schlüsselwert beispielsweise lautettest/
, werden Ihre hochgeladenen Dateien in den test
Ordner kopiert. Wenn Ihr Schlüsselwert ist (und Bestehende überschreiben ausgewählt ist)test/today
, wird jede Datei, die Sie hochladen, in eine Datei mit dem Namen today
im test
Ordner kopiert, und jede nachfolgende Datei überschreibt die vorherige.
Anmerkung
Amazon S3 unterstützt Buckets und Objekt. Es gibt keine Hierarchie in Amazon S3. Sie können jedoch Präfixe und Trennzeichen in Objektschlüsselnamen verwenden, um eine Hierarchie zu implizieren und Ihre Daten ähnlich wie in Ordnern zu organisieren.
Verwenden Sie eine benannte Variable in einem Schritt zum Kopieren von Dateien
In einem Schritt zum Kopieren von Dateien können Sie eine Variable verwenden, um Ihre Dateien dynamisch in benutzerspezifische Ordner zu kopieren. Derzeit können Sie ${transfer:UserName}
oder ${transfer:UploadDate}
als Variable verwenden, um Dateien an einen Zielort für den Benutzer zu kopieren, der gerade Dateien hochlädt, oder auf der Grundlage des aktuellen Datums.
Wenn der Benutzer im folgenden Beispiel eine Datei richard-roe
hochlädt, wird sie in den file-test2/richard-roe/processed/
Ordner kopiert. Wenn der Benutzer eine Datei mary-major
hochlädt, wird sie in den file-test2/mary-major/processed/
Ordner kopiert.
In ähnlicher Weise können Sie die Variable ${transfer:UploadDate}
als Variable verwenden, um Dateien an einen Zielort zu kopieren, der nach dem aktuellen Datum benannt ist. Wenn Sie im folgenden Beispiel das Ziel ${transfer:UploadDate}/processed
auf den 1. Februar 2022 festlegen, werden die hochgeladenen Dateien in den file-test2/2022-02-01/processed/
Ordner kopiert.
Sie können diese beiden Variablen auch zusammen verwenden und so ihre Funktionalität kombinieren. Beispielsweise:
-
Sie könnten das Zielschlüsselpräfix auf festlegen
folder/${transfer:UserName}/${transfer:UploadDate}/
, wodurch beispielsweisefolder/marymajor/2023-01-05/
verschachtelte Ordner erstellt würden. -
Sie könnten das Zielschlüsselpräfix auf setzen
folder/${transfer:UserName}-${transfer:UploadDate}/
, um beispielsweise die beiden Variablen zu verketten.folder/marymajor-2023-01-05/
IAMBerechtigungen für den Kopierschritt
Damit ein Kopierschritt erfolgreich ausgeführt werden kann, stellen Sie sicher, dass die Ausführungsrolle für Ihren Workflow die folgenden Berechtigungen enthält.
{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::
destination-bucket-name
" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name
/*" }
Anmerkung
Die s3:ListBucket
Berechtigung ist nur erforderlich, wenn Sie Bestehende überschreiben nicht auswählen. Mit dieser Berechtigung wird in Ihrem Bucket überprüft, ob bereits eine Datei mit demselben Namen existiert. Wenn Sie Existierende überschreiben ausgewählt haben, muss der Workflow nicht nach der Datei suchen, sondern kann sie einfach schreiben.
Wenn Ihre Amazon S3 S3-Dateien Tags haben, müssen Sie Ihrer IAM Richtlinie eine oder zwei Berechtigungen hinzufügen.
-
s3:GetObjectTagging
Für eine Amazon S3 S3-Datei hinzufügen, die nicht versioniert ist. -
s3:GetObjectVersionTagging
Für eine Amazon S3 S3-Datei hinzufügen, die versioniert ist.
Datei entschlüsseln
Der AWS Speicher-Blog enthält einen Beitrag, in dem beschrieben wird, wie Dateien ver- und entschlüsselt werden. Verschlüsseln und Entschlüsseln von Dateien mit und
Verwenden Sie die Entschlüsselung PGP in Ihrem Workflow
Transfer Family bietet integrierte Unterstützung für die Pretty Good Privacy (PGP) -Entschlüsselung. Sie können die PGP Entschlüsselung für Dateien verwenden SFTPFTPS, die über oder FTP in Amazon Simple Storage Service (Amazon S3) oder Amazon Elastic File System (AmazonEFS) hochgeladen wurden.
Um die PGP Entschlüsselung verwenden zu können, müssen Sie die PGP privaten Schlüssel erstellen und speichern, die für die Entschlüsselung Ihrer Dateien verwendet werden. Ihre Benutzer können dann Dateien mit den entsprechenden PGP Verschlüsselungsschlüsseln verschlüsseln, bevor sie die Dateien auf Ihren Transfer Family Family-Server hochladen. Nachdem Sie die verschlüsselten Dateien erhalten haben, können Sie diese Dateien in Ihrem Workflow entschlüsseln. Ein detailliertes Tutorial finden Sie unter Einen verwalteten Workflow zum Entschlüsseln einer Datei einrichten.
Um die PGP Entschlüsselung in Ihrem Workflow zu verwenden
-
Identifizieren Sie einen Transfer Family Family-Server, auf dem Ihr Workflow gehostet werden soll, oder erstellen Sie einen neuen. Sie benötigen die Server-ID, bevor Sie Ihre PGP Schlüssel AWS Secrets Manager mit dem richtigen geheimen Namen speichern können.
-
Speichern Sie Ihren PGP Schlüssel AWS Secrets Manager unter dem erforderlichen geheimen Namen. Details hierzu finden Sie unter Verwalten von PGP-Schlüsseln. Workflows können anhand des geheimen Namens in Secrets Manager automatisch den richtigen PGP Schlüssel finden, der für die Entschlüsselung verwendet werden soll.
Anmerkung
Wenn Sie Geheimnisse im Secrets Manager speichern, AWS-Konto fallen Gebühren an. Informationen zu Preisen erhalten Sie unter AWS Secrets Manager -Preise
. -
Verschlüsseln Sie eine Datei mit Ihrem PGP key pair. (Eine Liste der unterstützten Clients finden Sie unterUnterstützte Clients PGP.) Wenn Sie die Befehlszeile verwenden, führen Sie den folgenden Befehl aus. Um diesen Befehl zu verwenden, ersetzen Sie ihn durch die E-Mail-Adresse,
mit der Sie das PGP key pair erstellt haben.username@example.com
Ersetzen Sie es durch den Namen der Datei, die Sie verschlüsseln möchten.testfile.txt
gpg -e -r
username@example.com
testfile.txt
-
Laden Sie die verschlüsselte Datei auf Ihren Transfer Family Family-Server hoch.
-
Konfigurieren Sie einen Entschlüsselungsschritt in Ihrem Workflow. Weitere Informationen finden Sie unter Fügen Sie einen Entschlüsselungsschritt hinzu.
Fügen Sie einen Entschlüsselungsschritt hinzu
Ein Entschlüsselungsschritt entschlüsselt eine verschlüsselte Datei, die EFS als Teil Ihres Workflows auf Amazon S3 oder Amazon hochgeladen wurde. Einzelheiten zur Konfiguration der Entschlüsselung finden Sie unter. Verwenden Sie die Entschlüsselung PGP in Ihrem Workflow
Wenn Sie Ihren Entschlüsselungsschritt für einen Workflow erstellen, müssen Sie das Ziel für die entschlüsselten Dateien angeben. Sie müssen auch auswählen, ob vorhandene Dateien überschrieben werden sollen, wenn am Zielspeicherort bereits eine Datei vorhanden ist. Mit Amazon CloudWatch Logs können Sie die Ergebnisse des Entschlüsselungsworkflows überwachen und Prüfprotokolle für jede Datei in Echtzeit abrufen.
Nachdem Sie den Dateityp Entschlüsseln für Ihren Schritt ausgewählt haben, wird die Seite „Parameter konfigurieren“ angezeigt. Geben Sie die Werte für den PGPAbschnitt Entschlüsselungsparameter konfigurieren ein.
Die verfügbaren Optionen lauten wie folgt:
-
Schrittname — Geben Sie einen aussagekräftigen Namen für den Schritt ein.
-
Dateispeicherort — Durch Angabe des Dateispeicherorts können Sie entweder die Datei, die im vorherigen Schritt verwendet wurde, oder die Originaldatei, die hochgeladen wurde, entschlüsseln.
Anmerkung
Dieser Parameter ist nicht verfügbar, wenn dieser Schritt der erste Schritt des Workflows ist.
-
Ziel für entschlüsselte Dateien — Wählen Sie einen Amazon S3 S3-Bucket oder ein EFS Amazon-Dateisystem als Ziel für die entschlüsselte Datei.
-
Wenn Sie sich für Amazon S3 entscheiden, müssen Sie einen Ziel-Bucket-Namen und ein Zielschlüsselpräfix angeben. Um das Zielschlüsselpräfix nach Benutzername zu parametrisieren, geben Sie
${transfer:UserName}
als Zielschlüsselpräfix ein. Um das Zielschlüsselpräfix nach Upload-Datum zu parametrisieren, geben${Transfer:UploadDate}
Sie in ähnlicher Weise das Zielschlüsselpräfix ein. -
Wenn Sie sich für Amazon entscheidenEFS, müssen Sie ein Zieldateisystem und einen Pfad angeben.
Anmerkung
Die Speicheroption, die Sie hier auswählen, muss mit dem Speichersystem übereinstimmen, das vom Transfer Family Family-Server verwendet wird, mit dem dieser Workflow verknüpft ist. Andernfalls erhalten Sie eine Fehlermeldung, wenn Sie versuchen, diesen Workflow auszuführen.
-
-
Bestehende überschreiben — Wenn Sie eine Datei hochladen und am Ziel bereits eine Datei mit demselben Dateinamen vorhanden ist, hängt das Verhalten von der Einstellung für diesen Parameter ab:
-
Wenn „Bestehende überschreiben“ ausgewählt ist, wird die bestehende Datei durch die Datei ersetzt, die gerade verarbeitet wird.
-
Wenn „Bestehende überschreiben“ nicht ausgewählt ist, passiert nichts und die Workflow-Verarbeitung wird gestoppt.
Tipp
Wenn gleichzeitige Schreibvorgänge auf demselben Dateipfad ausgeführt werden, kann dies zu unerwartetem Verhalten beim Überschreiben von Dateien führen.
-
Der folgende Screenshot zeigt ein Beispiel für die Optionen, die Sie für den Schritt „Datei entschlüsseln“ wählen könnten.
IAMSchritt „Berechtigungen für die Entschlüsselung“
Damit ein Entschlüsselungsschritt erfolgreich ausgeführt werden kann, stellen Sie sicher, dass die Ausführungsrolle für Ihren Workflow die folgenden Berechtigungen enthält.
{ "Sid": "ListBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::
destination-bucket-name
" ] }, { "Sid": "HomeDirObjectAccess", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObjectVersion", "s3:DeleteObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::destination-bucket-name
/*" }, { "Sid": "Decrypt", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue", ], "Resource": "arn:aws:secretsmanager:region
:account-id
:secret:aws/transfer/*" }
Anmerkung
Die s3:ListBucket
Berechtigung ist nur erforderlich, wenn Sie Bestehende überschreiben nicht auswählen. Mit dieser Berechtigung wird in Ihrem Bucket überprüft, ob bereits eine Datei mit demselben Namen existiert. Wenn Sie Existierende überschreiben ausgewählt haben, muss der Workflow nicht nach der Datei suchen, sondern kann sie einfach schreiben.
Wenn Ihre Amazon S3 S3-Dateien Tags haben, müssen Sie Ihrer IAM Richtlinie eine oder zwei Berechtigungen hinzufügen.
-
s3:GetObjectTagging
Für eine Amazon S3 S3-Datei hinzufügen, die nicht versioniert ist. -
s3:GetObjectVersionTagging
Für eine Amazon S3 S3-Datei hinzufügen, die versioniert ist.
Datei kennzeichnen
Verwenden Sie einen Tag-Schritt, um eingehende Dateien für die weitere Verarbeitung zu kennzeichnen. Geben Sie den Wert des Tags ein, das Sie den eingehenden Dateien zuweisen möchten. Derzeit wird der Tag-Vorgang nur unterstützt, wenn Sie Amazon S3 für Ihren Transfer Family Family-Serverspeicher verwenden.
Der folgende Beispiel-Tag-Schritt weist scan_outcome
und clean
als Tag-Schlüssel bzw. -Wert zu.
Damit ein Tag-Schritt erfolgreich ausgeführt werden kann, stellen Sie sicher, dass die Ausführungsrolle für Ihren Workflow die folgenden Berechtigungen enthält.
{ "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" ] }
Anmerkung
Wenn Ihr Workflow einen Tag-Schritt enthält, der entweder vor einem Kopier- oder Entschlüsselungsschritt ausgeführt wird, müssen Sie Ihrer IAM Richtlinie eine oder zwei Berechtigungen hinzufügen.
-
s3:GetObjectTagging
Für eine Amazon S3 S3-Datei hinzufügen, die nicht versioniert ist. -
s3:GetObjectVersionTagging
Für eine Amazon S3 S3-Datei hinzufügen, die versioniert ist.
Datei löschen
Um eine verarbeitete Datei aus einem vorherigen Workflow-Schritt oder die ursprünglich hochgeladene Datei zu löschen, verwenden Sie einen Schritt „Datei löschen“.
Damit ein Löschschritt erfolgreich ausgeführt werden kann, stellen Sie sicher, dass die Ausführungsrolle für Ihren Workflow die folgenden Berechtigungen enthält.
{ "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": "arn:aws:secretsmanager:
region
:account-ID
:secret:aws/transfer/*" }
Benannte Variablen für Workflows
Für Schritte zum Kopieren und Entschlüsseln können Sie eine Variable verwenden, um Aktionen dynamisch auszuführen. AWS Transfer Family Unterstützt derzeit die folgenden benannten Variablen.
-
Wird verwendet
${transfer:UserName}
, um Dateien an ein Ziel zu kopieren oder zu entschlüsseln, das auf dem Benutzer basiert, der die Dateien hochlädt. -
Wird verwendet
${transfer:UploadDate}
, um Dateien auf der Grundlage des aktuellen Datums an einen Zielort zu kopieren oder zu entschlüsseln.
Beispiel für einen Workflow zum Markieren und Löschen
Das folgende Beispiel zeigt einen Workflow, der eingehende Dateien kennzeichnet, die von einer nachgelagerten Anwendung, z. B. einer Datenanalyseplattform, verarbeitet werden müssen. Nach dem Markieren der eingehenden Datei löscht der Workflow dann die ursprünglich hochgeladene Datei, um Speicherkosten zu sparen.