Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mentransfer file atau objek tertentu dengan menggunakan manifes
Manifes adalah daftar file atau objek yang AWS DataSync ingin Anda transfer. Misalnya, alih-alih harus mentransfer semuanya dalam bucket S3 dengan jutaan objek yang berpotensi, hanya DataSync mentransfer objek yang Anda daftarkan dalam manifes Anda.
Manifes mirip dengan filter tetapi memungkinkan Anda mengidentifikasi dengan tepat file atau objek mana yang akan ditransfer alih-alih data yang cocok dengan pola filter.
Membuat manifes Anda
Manifes adalah file berformat value (CSV) yang dipisahkan koma yang mencantumkan file atau objek di lokasi sumber yang ingin Anda transfer. DataSync Jika sumber Anda adalah bucket S3, Anda juga dapat menyertakan versi objek mana yang akan ditransfer.
Pedoman
Gunakan panduan ini untuk membantu Anda membuat manifes yang berfungsi DataSync.
Contoh manifes
Gunakan contoh ini untuk membantu Anda membuat manifes yang berfungsi DataSync.
- Manifestasi dengan jalur file atau objek lengkap
-
Contoh berikut menunjukkan manifes dengan file lengkap atau jalur objek untuk mentransfer.
photos/picture1.png photos/picture2.png photos/picture3.png
- Manifestasi hanya dengan kunci objek
-
Contoh berikut menunjukkan manifes dengan objek yang akan ditransfer dari lokasi sumber Amazon S3. Karena lokasi dikonfigurasi dengan awalan
photos
, hanya kunci objek yang ditentukan.picture1.png picture2.png picture3.png
- Manifestasi dengan jalur objek dan versi IDs
-
Dua entri pertama dalam contoh manifes berikut menyertakan versi objek Amazon S3 tertentu untuk ditransfer.
photos/picture1.png,111111 photos/picture2.png,121212 photos/picture3.png
- Manifestasi dengan UTF -8 karakter
-
Contoh berikut menunjukkan manifes dengan file yang menyertakan UTF -8 karakter.
documents/résumé1.pdf documents/résumé2.pdf documents/résumé3.pdf
Menyediakan DataSync akses ke manifes Anda
Anda memerlukan peran AWS Identity and Access Management (IAM) yang memberikan DataSync akses ke manifes Anda di bucket S3-nya. Peran ini harus menyertakan izin berikut:
-
s3:GetObject
-
s3:GetObjectVersion
Anda dapat menghasilkan peran ini secara otomatis di DataSync konsol atau membuat peran sendiri.
catatan
Jika manifes Anda berbeda Akun AWS, Anda harus membuat peran ini secara manual.
Saat membuat atau memulai tugas transfer di konsol, DataSync dapat membuat IAM peran untuk Anda dengan s3:GetObjectVersion
izin s3:GetObject
dan yang Anda perlukan untuk mengakses manifes Anda.
- Izin yang diperlukan untuk membuat peran secara otomatis
-
Untuk membuat peran secara otomatis, pastikan peran yang Anda gunakan untuk mengakses DataSync konsol memiliki izin berikut:
-
iam:CreateRole
-
iam:CreatePolicy
-
iam:AttachRolePolicy
-
Anda dapat secara manual membuat IAM peran yang DataSync diperlukan untuk mengakses manifes Anda. Instruksi berikut mengasumsikan bahwa Anda berada di tempat yang sama dengan Akun AWS tempat yang Anda gunakan DataSync dan bucket S3 manifes Anda berada.
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi kiri, di bawah Manajemen akses, pilih Peran, lalu pilih Buat peran.
-
Pada halaman Pilih entitas tepercaya, untuk jenis entitas Tepercaya, pilih Layanan AWS.
-
Untuk kasus Penggunaan, pilih DataSyncdi daftar dropdown dan pilih. DataSync Pilih Berikutnya.
-
Pada halaman Tambahkan izin, pilih Berikutnya. Beri nama peran Anda dan pilih Buat peran.
-
Pada halaman Peran, cari peran yang baru saja Anda buat dan pilih namanya.
-
Pada halaman detail peran, pilih tab Izin. Pilih Tambahkan izin lalu Buat kebijakan sebaris.
-
Pilih JSONtab dan tempelkan contoh kebijakan berikut ke editor kebijakan:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "DataSyncAccessManifest", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::
manifest-bucket
/my-manifest.csv
" }] } -
Dalam kebijakan sampel yang baru saja Anda tempelkan, ganti nilai berikut dengan milik Anda sendiri:
-
Ganti
dengan nama bucket S3 yang menghosting manifes Anda.manifest-bucket
-
Ganti
dengan nama file manifes Anda.my-manifest.csv
-
-
Pilih Berikutnya. Beri nama kebijakan Anda dan pilih Buat kebijakan.
-
(Disarankan) Untuk mencegah masalah wakil lintas layanan yang membingungkan, lakukan hal berikut:
-
Pada halaman detail peran, pilih tab Trust relationship. Pilih Edit kebijakan kepercayaan.
-
Perbarui kebijakan kepercayaan dengan menggunakan contoh berikut, yang mencakup kunci konteks kondisi
aws:SourceAccount
globalaws:SourceArn
dan global:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "StringLike": { "aws:SourceArn": "arn:aws:datasync:region
:account-id
:*" } } }] }-
Ganti setiap instance
dengan Akun AWS ID tempat Anda menggunakan DataSync.account-id
-
Ganti
dengan Wilayah AWS tempat yang Anda gunakan DataSync.region
-
-
Pilih Perbarui kebijakan.
-
Anda telah membuat IAM peran yang memungkinkan DataSync untuk mengakses manifes Anda. Tentukan peran ini saat membuat atau memulai tugas Anda.
Jika manifes Anda berada di bucket S3 milik yang berbeda Akun AWS, Anda harus membuat IAM peran yang DataSync digunakan secara manual untuk mengakses manifes. Kemudian, di Akun AWS tempat manifes Anda berada, Anda harus menyertakan peran tersebut dalam kebijakan bucket S3.
Menciptakan peran
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi kiri, di bawah Manajemen akses, pilih Peran, lalu pilih Buat peran.
-
Pada halaman Pilih entitas tepercaya, untuk jenis entitas Tepercaya, pilih Layanan AWS.
-
Untuk kasus Penggunaan, pilih DataSyncdi daftar dropdown dan pilih. DataSync Pilih Berikutnya.
-
Pada halaman Tambahkan izin, pilih Berikutnya. Beri nama peran Anda dan pilih Buat peran.
-
Pada halaman Peran, cari peran yang baru saja Anda buat dan pilih namanya.
-
Pada halaman detail peran, pilih tab Izin. Pilih Tambahkan izin lalu Buat kebijakan sebaris.
-
Pilih JSONtab dan tempelkan contoh kebijakan berikut ke editor kebijakan:
{ "Version": "2012-10-17", "Statement": [{ "Sid": "DataSyncAccessManifest", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::
manifest-bucket
/my-manifest.csv
" }] } -
Dalam kebijakan sampel yang baru saja Anda tempelkan, ganti nilai berikut dengan milik Anda sendiri:
-
Ganti
dengan nama bucket S3 yang menghosting manifes Anda.manifest-bucket
-
Ganti
dengan nama file manifes Anda.my-manifest.csv
-
-
Pilih Berikutnya. Beri nama kebijakan Anda dan pilih Buat kebijakan.
-
(Disarankan) Untuk mencegah masalah wakil lintas layanan yang membingungkan, lakukan hal berikut:
-
Pada halaman detail peran, pilih tab Trust relationship. Pilih Edit kebijakan kepercayaan.
-
Perbarui kebijakan kepercayaan dengan menggunakan contoh berikut, yang mencakup kunci konteks kondisi
aws:SourceAccount
globalaws:SourceArn
dan global:{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "datasync.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "
account-id
" }, "StringLike": { "aws:SourceArn": "arn:aws:datasync:region
:account-id
:*" } } }] }-
Ganti setiap instance
dengan Akun AWS ID tempat Anda menggunakan DataSync.account-id
-
Ganti
dengan Wilayah AWS tempat yang Anda gunakan DataSync.region
-
-
Pilih Perbarui kebijakan.
-
Anda membuat IAM peran yang dapat Anda sertakan dalam kebijakan bucket S3 Anda.
Memperbarui kebijakan bucket S3 Anda dengan peran
Setelah membuat IAM peran, Anda harus menambahkannya ke kebijakan bucket S3 di Akun AWS tempat lain tempat manifes Anda berada.
-
Di dalam AWS Management Console, alihkan ke akun dengan ember S3 manfiest Anda.
Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Pada halaman detail bucket, pilih tab Izin.
-
Di bawah kebijakan Bucket, pilih Edit dan lakukan hal berikut untuk mengubah kebijakan bucket S3 Anda:
-
Perbarui apa yang ada di editor untuk menyertakan pernyataan kebijakan berikut:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncAccessManifestBucket", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
account-id
:role/datasync-role
" }, "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::manifest-bucket
" } ] } -
Ganti
dengan Akun AWS ID untuk akun yang Anda gunakan DataSync .account-id
-
Ganti
dengan IAM peran yang baru saja Anda buat yang memungkinkan DataSync untuk mengakses manifes Anda.datasync-role
-
Ganti
dengan nama bucket S3 yang menghosting manifes Anda di bucket lainnya Akun AWS.manifest-bucket
-
-
Pilih Simpan perubahan.
Anda telah membuat IAM peran yang memungkinkan DataSync untuk mengakses manifes Anda di akun lain. Tentukan peran ini saat membuat atau memulai tugas Anda.
Menentukan manifes Anda saat membuat tugas
Anda dapat menentukan manifes yang DataSync ingin Anda gunakan saat membuat tugas.
Buka AWS DataSync konsol di https://console.aws.amazon.com/datasync/
. -
Di panel navigasi kiri, pilih Tugas, lalu pilih Buat tugas.
-
Konfigurasikan lokasi sumber dan tujuan tugas Anda.
Untuk informasi selengkapnya, silakan lihat Di mana saya dapat mentransfer data saya AWS DataSync?
-
Agar Konten dapat dipindai, pilih File, objek, dan folder tertentu, lalu pilih Menggunakan manifes.
-
Untuk S3 URI, pilih manifes yang di-host di bucket S3.
Atau, Anda dapat memasukkan URI (misalnya,
s3://bucket/prefix/my-manifest.csv
). -
Untuk versi Object, pilih versi manifes yang DataSync ingin Anda gunakan.
Secara default, DataSync menggunakan versi terbaru dari objek.
-
Untuk peran akses Manifest, lakukan salah satu hal berikut:
-
Pilih Autogenerate DataSync untuk membuat IAM peran secara otomatis dengan izin yang diperlukan untuk mengakses manifes Anda di bucket S3-nya.
-
Pilih IAM peran yang ada yang dapat mengakses manifes Anda.
Untuk informasi selengkapnya, lihat Menyediakan DataSync akses ke manifes Anda.
-
-
Konfigurasikan pengaturan tugas lain yang Anda butuhkan, lalu pilih Berikutnya.
-
Pilih Buat tugas.
-
Salin
create-task
perintah berikut:aws datasync create-task \ --source-location-arn arn:aws:datasync:
us-east-1
:123456789012
:location/loc-12345678abcdefgh \ --destination-location-arn arn:aws:datasync:us-east-1
:123456789012
:location/loc-abcdefgh12345678 \ --manifest-config { "Source": { "S3": { "ManifestObjectPath": "s3-object-key-of-manifest
", "BucketAccessRoleArn": "bucket-iam-role
", "S3BucketArn": "amzn-s3-demo-bucket", "ManifestObjectVersionId": "manifest-version-to-use
" } } } -
Untuk
--source-location-arn
parameter, tentukan Amazon Resource Name (ARN) dari lokasi tempat Anda mentransfer data. -
Untuk
--destination-location-arn
parameter, tentukan ARN lokasi tempat Anda mentransfer data. -
Untuk
--manifest-config
parameter, lakukan hal berikut:-
ManifestObjectPath
— Tentukan kunci objek S3 dari manifes Anda. -
BucketAccessRoleArn
— Tentukan IAM peran yang memungkinkan DataSync untuk mengakses manifes Anda di bucket S3-nya.Untuk informasi selengkapnya, lihat Menyediakan DataSync akses ke manifes Anda.
-
S3BucketArn
— Tentukan ARN bucket S3 yang menghosting manifes Anda. -
ManifestObjectVersionId
— Tentukan versi manifes yang DataSync ingin Anda gunakan.Secara default, DataSync menggunakan versi terbaru dari objek.
-
-
Jalankan
create-task
perintah untuk membuat tugas Anda.
Ketika Anda siap, Anda dapat memulai tugas transfer Anda.
Menentukan manifes Anda saat memulai tugas
Anda dapat menentukan manifes yang DataSync ingin Anda gunakan saat menjalankan tugas.
Buka AWS DataSync konsol di https://console.aws.amazon.com/datasync/
. -
Di panel navigasi kiri, pilih Tugas, lalu pilih tugas yang ingin Anda mulai.
-
Di halaman ikhtisar tugas, pilih Mulai, lalu pilih Mulai dengan opsi utama.
-
Agar Konten dapat dipindai, pilih File, objek, dan folder tertentu, lalu pilih Menggunakan manifes.
-
Untuk S3 URI, pilih manifes yang di-host di bucket S3.
Atau, Anda dapat memasukkan URI (misalnya,
s3://bucket/prefix/my-manifest.csv
). -
Untuk versi Object, pilih versi manifes yang DataSync ingin Anda gunakan.
Secara default, DataSync menggunakan versi terbaru dari objek.
-
Untuk peran akses Manifest, lakukan salah satu hal berikut:
-
Pilih Autogenerate DataSync untuk membuat IAM peran secara otomatis untuk mengakses manifes Anda di bucket S3-nya.
-
Pilih IAM peran yang ada yang dapat mengakses manifes Anda.
Untuk informasi selengkapnya, lihat Menyediakan DataSync akses ke manifes Anda.
-
-
Pilih Mulai untuk memulai transfer Anda.
-
Salin
start-task-execution
perintah berikut:aws datasync start-task-execution \ --task-arn arn:aws:datasync:
us-east-1
:123456789012
:task/task-12345678abcdefgh \ --manifest-config { "Source": { "S3": { "ManifestObjectPath": "s3-object-key-of-manifest
", "BucketAccessRoleArn": "bucket-iam-role
", "S3BucketArn": "amzn-s3-demo-bucket", "ManifestObjectVersionId": "manifest-version-to-use
" } } } -
Untuk
--task-arn
parameter, tentukan Amazon Resource Name (ARN) dari tugas yang Anda mulai. -
Untuk
--manifest-config
parameter, lakukan hal berikut:-
ManifestObjectPath
— Tentukan kunci objek S3 dari manifes Anda. -
BucketAccessRoleArn
— Tentukan IAM peran yang memungkinkan DataSync untuk mengakses manifes Anda di bucket S3-nya.Untuk informasi selengkapnya, lihat Menyediakan DataSync akses ke manifes Anda.
-
S3BucketArn
— Tentukan ARN bucket S3 yang menghosting manifes Anda. -
ManifestObjectVersionId
— Tentukan versi manifes yang DataSync ingin Anda gunakan.Secara default, DataSync menggunakan versi terbaru dari objek.
-
-
Jalankan
start-task-execution
perintah untuk memulai transfer Anda.
Batasan
-
Anda tidak dapat menggunakan manifes bersama dengan filter.
-
Anda tidak dapat menentukan hanya direktori atau folder dengan maksud mentransfer semua isinya. Untuk situasi ini, pertimbangkan untuk menggunakan filter include alih-alih manifes.
-
Anda tidak dapat menggunakan opsi tugas Simpan file yang dihapus (
PreserveDeletedFiles
dalam API) untuk memelihara file atau objek di tujuan yang tidak ada di sumbernya. DataSync hanya mentransfer apa yang tercantum dalam manifes Anda dan tidak menghapus apa pun di tujuan.
Pemecahan Masalah
Jika Anda mentransfer objek dengan versi tertentu IDs dari bucket S3, Anda mungkin melihat kesalahan terkait HeadObject
dengan atau. GetObjectTagging
Misalnya, berikut adalah kesalahan yang terkait denganGetObjectTagging
:
[WARN] Failed to read metadata for file
/picture1.png
(versionId:111111
): S3 Get Object Tagging Failed [ERROR] S3 Exception: op=GetObjectTaggingphotos/picture1.png
, code=403, type=15, exception=AccessDenied, msg=Access Denied req-hdrs: content-type=application/xml, x-amz-api-version=2006-03-01 rsp-hdrs: content-type=application/xml, date=Wed, 07 Feb 2024 20:16:14 GMT, server=AmazonS3, transfer-encoding=chunked, x-amz-id-2=IOWQ4fDEXAMPLEQM+ey7N9WgVhSnQ6JEXAMPLEZb7hSQDASK+Jd1vEXAMPLEa3Km, x-amz-request-id=79104EXAMPLEB723
Jika Anda melihat salah satu kesalahan ini, validasi bahwa IAM peran yang DataSync digunakan untuk mengakses lokasi sumber S3 Anda memiliki izin berikut:
-
s3:GetObjectVersion
-
s3:GetObjectVersionTagging
Jika Anda perlu memperbarui peran Anda dengan izin ini, lihatMembuat IAM peran DataSync untuk mengakses lokasi Amazon S3 Anda.
Langkah selanjutnya
Jika Anda belum melakukannya, mulailah tugas Anda. Jika tidak, pantau aktivitas tugas Anda.