Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan langkah-langkah yang telah ditentukan
Saat membuat alur kerja, Anda dapat memilih untuk menambahkan salah satu langkah yang telah ditentukan berikut yang dibahas dalam topik ini. Anda juga dapat memilih untuk menambahkan langkah-langkah pemrosesan file kustom Anda sendiri. Untuk informasi selengkapnya, lihat Gunakan langkah-langkah pemrosesan file khusus.
Topik
Salin berkas
Langkah salin file membuat salinan file yang diunggah di lokasi Amazon S3 baru. Saat ini, Anda dapat menggunakan langkah salin file hanya dengan Amazon S3.
Langkah copy file berikut menyalin file ke test
folder di bucket file-test
tujuan.
Jika langkah salin file bukan langkah pertama alur kerja Anda, Anda dapat menentukan lokasi File. Dengan menentukan lokasi file, Anda dapat menyalin file yang digunakan pada langkah sebelumnya atau file asli yang diunggah. Anda dapat menggunakan fitur ini untuk membuat beberapa salinan dari file asli sambil menjaga file sumber tetap utuh untuk arsip file dan penyimpanan catatan. Sebagai contoh, lihat Contoh tag dan hapus alur kerja.
Berikan ember dan detail kunci
Anda harus memberikan nama bucket dan kunci untuk tujuan langkah salin file. Kuncinya bisa berupa nama jalur atau nama file. Apakah kunci diperlakukan sebagai nama jalur atau nama file ditentukan oleh apakah Anda mengakhiri kunci dengan karakter garis miring (/
) maju.
Jika karakter terakhir adalah/
, file Anda disalin ke folder, dan namanya tidak berubah. Jika karakter terakhir adalah alfanumerik, file yang Anda unggah diubah namanya menjadi nilai kunci. Dalam hal ini, jika file dengan nama itu sudah ada, perilaku tergantung pada pengaturan untuk bidang Timpa yang ada.
-
Jika Timpa yang ada dipilih, file yang ada diganti dengan file yang sedang diproses.
-
Jika Timpa yang ada tidak dipilih, tidak ada yang terjadi, dan pemrosesan alur kerja berhenti.
Tip
Jika penulisan bersamaan dijalankan pada jalur file yang sama, hal itu dapat mengakibatkan perilaku yang tidak terduga saat menimpa file.
Misalnya, jika nilai kunci Anda adalahtest/
, file yang Anda unggah akan disalin ke folder. test
Jika nilai kunci Andatest/today
, (dan Timpa yang ada dipilih) setiap file yang Anda unggah disalin ke file bernama today
di test
folder, dan setiap file berikutnya menimpa yang sebelumnya.
catatan
Amazon S3 mendukung bucket dan objek, dan tidak memiliki hierarki. Namun, Anda dapat menggunakan awalan dan pembatas dalam nama kunci objek untuk menyiratkan hierarki dan mengatur data Anda dengan cara yang mirip dengan folder.
Gunakan variabel bernama dalam langkah copy file
Dalam langkah salin file, Anda dapat menggunakan variabel untuk menyalin file Anda secara dinamis ke folder khusus pengguna. Saat ini, Anda dapat menggunakan ${transfer:UserName}
atau ${transfer:UploadDate}
sebagai variabel untuk menyalin file ke lokasi tujuan untuk pengguna tertentu yang mengunggah file, atau berdasarkan tanggal saat ini.
Dalam contoh berikut, jika pengguna richard-roe
mengunggah file, itu akan disalin ke folderfile-test2/richard-roe/processed/
. Jika pengguna mary-major
mengunggah file, itu akan disalin ke folder. file-test2/mary-major/processed/
Demikian pula, Anda dapat menggunakan ${transfer:UploadDate}
sebagai variabel untuk menyalin file ke lokasi tujuan yang dinamai untuk tanggal saat ini. Dalam contoh berikut, jika Anda menetapkan tujuan ${transfer:UploadDate}/processed
pada 1 Februari 2022, file yang diunggah akan disalin ke folderfile-test2/2022-02-01/processed/
.
Anda juga dapat menggunakan kedua variabel ini bersama-sama, menggabungkan fungsionalitasnya. Sebagai contoh:
-
Anda dapat mengatur key prefix Destination ke
folder/${transfer:UserName}/${transfer:UploadDate}/
, yang akan membuat folder bersarang, misalnya.folder/marymajor/2023-01-05/
-
Anda dapat mengatur key prefix Destination ke
folder/${transfer:UserName}-${transfer:UploadDate}/
, untuk menggabungkan dua variabel, misalnya.folder/marymajor-2023-01-05/
IAMizin untuk langkah salin
Agar langkah penyalinan berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.
{ "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
/*" }
catatan
s3:ListBucket
Izin hanya diperlukan jika Anda tidak memilih Timpa yang sudah ada. Izin ini memeriksa bucket Anda untuk melihat apakah file dengan nama yang sama sudah ada. Jika Anda telah memilih Timpa yang sudah ada, alur kerja tidak perlu memeriksa file, dan hanya bisa menulisnya.
Jika file Amazon S3 memiliki tag, Anda perlu menambahkan satu atau dua izin ke kebijakan Anda. IAM
-
Tambahkan
s3:GetObjectTagging
file Amazon S3 yang tidak berversi. -
Tambahkan
s3:GetObjectVersionTagging
untuk file Amazon S3 yang berversi.
Dekripsi file
Blog AWS penyimpanan memiliki posting yang menjelaskan cara mengenkripsi dan mendekripsi file, mengenkripsi dan mendekripsi file dengan dan
Gunakan PGP dekripsi dalam alur kerja Anda
Transfer Family memiliki dukungan bawaan untuk dekripsi Pretty Good Privacy (PGP). Anda dapat menggunakan PGP dekripsi pada file yang diunggah melalui SFTPFTPS, atau ke Amazon Simple Storage Service (FTPAmazon S3) Simple Storage Service (Amazon) atau Amazon Elastic File System (Amazon). EFS
Untuk menggunakan PGP dekripsi, Anda harus membuat dan menyimpan kunci PGP pribadi yang akan digunakan untuk dekripsi file Anda. Pengguna Anda kemudian dapat mengenkripsi file dengan menggunakan kunci PGP enkripsi yang sesuai sebelum mengunggah file ke server Transfer Family Anda. Setelah Anda menerima file terenkripsi, Anda dapat mendekripsi file-file tersebut dalam alur kerja Anda. Untuk tutorial detail, lihat Menyiapkan alur kerja terkelola untuk mendekripsi file.
Untuk menggunakan PGP dekripsi dalam alur kerja Anda
-
Identifikasi server Transfer Family untuk meng-host alur kerja Anda, atau buat yang baru. Anda harus memiliki ID server sebelum Anda dapat menyimpan PGP kunci Anda AWS Secrets Manager dengan nama rahasia yang benar.
-
Simpan PGP kunci Anda di AWS Secrets Manager bawah nama rahasia yang diperlukan. Untuk detailnya, lihat Kelola PGP kunci. Alur kerja dapat secara otomatis menemukan PGP kunci yang benar untuk digunakan untuk dekripsi berdasarkan nama rahasia di Secrets Manager.
catatan
Ketika Anda menyimpan rahasia di Secrets Manager, Anda Akun AWS dikenakan biaya. Untuk informasi tentang harga, lihat AWS Secrets Manager Harga
. -
Enkripsi file dengan menggunakan PGP key pair Anda. (Untuk daftar klien yang didukung, lihatPGPKlien yang didukung.) Jika Anda menggunakan baris perintah, jalankan perintah berikut. Untuk menggunakan perintah ini, ganti
dengan alamat email yang Anda gunakan untuk membuat PGP key pair. Gantiusername@example.com
dengan nama file yang ingin Anda enkripsi.testfile.txt
gpg -e -r
username@example.com
testfile.txt
-
Unggah file terenkripsi ke server Transfer Family Anda.
-
Konfigurasikan langkah dekripsi dalam alur kerja Anda. Untuk informasi selengkapnya, lihat Tambahkan langkah dekripsi.
Tambahkan langkah dekripsi
Langkah dekripsi mendekripsi file terenkripsi yang diunggah ke Amazon S3 atau Amazon sebagai bagian dari alur kerja Anda. EFS Untuk detail tentang mengonfigurasi dekripsi, lihat. Gunakan PGP dekripsi dalam alur kerja Anda
Saat Anda membuat langkah dekripsi untuk alur kerja, Anda harus menentukan tujuan untuk file yang didekripsi. Anda juga harus memilih apakah akan menimpa file yang ada jika file sudah ada di lokasi tujuan. Anda dapat memantau hasil alur kerja dekripsi dan mendapatkan log audit untuk setiap file secara real time menggunakan Amazon Logs. CloudWatch
Setelah Anda memilih jenis file Dekripsi untuk langkah Anda, halaman Konfigurasi parameter akan muncul. Isi nilai untuk bagian Konfigurasi parameter PGP dekripsi.
Opsi yang tersedia adalah sebagai berikut:
-
Nama langkah - Masukkan nama deskriptif untuk langkah tersebut.
-
Lokasi file — Dengan menentukan lokasi file, Anda dapat mendekripsi file yang digunakan pada langkah sebelumnya atau file asli yang diunggah.
catatan
Parameter ini tidak tersedia jika langkah ini adalah langkah pertama dari alur kerja.
-
Tujuan untuk file yang didekripsi — Pilih bucket Amazon S3 atau sistem file EFS Amazon sebagai tujuan untuk file yang didekripsi.
-
Jika memilih Amazon S3, Anda harus memberikan nama bucket tujuan dan awalan key tujuan. Untuk memparameterisasi awalan key tujuan dengan nama pengguna,
${transfer:UserName}
masukkan untuk Destination key prefix. Demikian pula, untuk parameterisasi awalan key tujuan dengan tanggal upload,${Transfer:UploadDate}
masukkan untuk Destination key prefix. -
Jika Anda memilih AmazonEFS, Anda harus menyediakan sistem dan jalur file tujuan.
catatan
Opsi penyimpanan yang Anda pilih di sini harus sesuai dengan sistem penyimpanan yang digunakan oleh server Transfer Family yang terkait dengan alur kerja ini. Jika tidak, Anda akan menerima kesalahan saat mencoba menjalankan alur kerja ini.
-
-
Timpa yang ada — Jika Anda mengunggah file, dan file dengan nama file yang sama sudah ada di tujuan, perilaku tergantung pada pengaturan untuk parameter ini:
-
Jika Timpa yang ada dipilih, file yang ada diganti dengan file yang sedang diproses.
-
Jika Timpa yang ada tidak dipilih, tidak ada yang terjadi, dan pemrosesan alur kerja berhenti.
Tip
Jika penulisan bersamaan dijalankan pada jalur file yang sama, hal itu dapat mengakibatkan perilaku yang tidak terduga saat menimpa file.
-
Tangkapan layar berikut menunjukkan contoh opsi yang mungkin Anda pilih untuk langkah dekripsi file Anda.
IAMizin untuk langkah dekripsi
Agar langkah dekripsi berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.
{ "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/*" }
catatan
s3:ListBucket
Izin hanya diperlukan jika Anda tidak memilih Timpa yang sudah ada. Izin ini memeriksa bucket Anda untuk melihat apakah file dengan nama yang sama sudah ada. Jika Anda telah memilih Timpa yang sudah ada, alur kerja tidak perlu memeriksa file, dan hanya bisa menulisnya.
Jika file Amazon S3 memiliki tag, Anda perlu menambahkan satu atau dua izin ke kebijakan Anda. IAM
-
Tambahkan
s3:GetObjectTagging
file Amazon S3 yang tidak berversi. -
Tambahkan
s3:GetObjectVersionTagging
untuk file Amazon S3 yang berversi.
Berkas tag
Untuk menandai file yang masuk untuk pemrosesan hilir lebih lanjut, gunakan langkah tag. Masukkan nilai tag yang ingin Anda tetapkan ke file yang masuk. Saat ini, operasi tag hanya didukung jika Anda menggunakan Amazon S3 untuk penyimpanan server Transfer Family Anda.
Berikut contoh langkah tag menetapkan scan_outcome
dan clean
sebagai kunci tag dan nilai, masing-masing.
Agar langkah tag berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.
{ "Sid": "Tag", "Effect": "Allow", "Action": [ "s3:PutObjectTagging", "s3:PutObjectVersionTagging" ], "Resource": [ "arn:aws:s3:::
DOC-EXAMPLE-BUCKET
/*" ] }
catatan
Jika alur kerja berisi langkah tag yang berjalan sebelum langkah salin atau dekripsi, Anda perlu menambahkan satu atau dua izin ke kebijakan Anda. IAM
-
Tambahkan
s3:GetObjectTagging
file Amazon S3 yang tidak berversi. -
Tambahkan
s3:GetObjectVersionTagging
untuk file Amazon S3 yang berversi.
Hapus berkas
Untuk menghapus file yang diproses dari langkah alur kerja sebelumnya atau untuk menghapus file yang diunggah semula, gunakan langkah menghapus file.
Agar langkah penghapusan berhasil, pastikan peran eksekusi untuk alur kerja Anda berisi izin berikut.
{ "Sid": "Delete", "Effect": "Allow", "Action": [ "s3:DeleteObjectVersion", "s3:DeleteObject" ], "Resource": "arn:aws:secretsmanager:
region
:account-ID
:secret:aws/transfer/*" }
Variabel bernama untuk alur kerja
Untuk langkah menyalin dan mendekripsi, Anda dapat menggunakan variabel untuk melakukan tindakan secara dinamis. Saat ini, AWS Transfer Family mendukung variabel bernama berikut.
-
Gunakan
${transfer:UserName}
untuk menyalin atau mendekripsi file ke tujuan berdasarkan pengguna yang mengunggah file. -
Gunakan
${transfer:UploadDate}
untuk menyalin atau mendekripsi file ke lokasi tujuan berdasarkan tanggal saat ini.
Contoh tag dan hapus alur kerja
Contoh berikut menggambarkan alur kerja yang menandai file masuk yang perlu diproses oleh aplikasi hilir, seperti platform analisis data. Setelah menandai file yang masuk, alur kerja kemudian menghapus file yang awalnya diunggah untuk menghemat biaya penyimpanan.