Membuat dan menjalankan tugas impor kolam pengguna Amazon Cognito - Amazon Cognito

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Membuat dan menjalankan tugas impor kolam pengguna Amazon Cognito

Bagian ini menjelaskan cara membuat dan menjalankan tugas impor kolam pengguna dengan menggunakan konsol Amazon Cognito danAWS Command Line Interface (AWS CLI).

Mengimpor pengguna dari file CSV (konsol)

Prosedur berikut menjelaskan cara mengimpor pengguna dari file CSV.

Untuk mengimpor pengguna dari file CSV (konsol)
  1. Masuk ke Konsol Amazon Cognito. Anda mungkin diminta untuk kredensial AWS Anda.

  2. Pilih User Pools.

  3. Pilih kolam pengguna yang ada dari daftar.

  4. Pilih tab Pengguna.

  5. Di bagian Impor pengguna, pilih Buat pekerjaan impor.

  6. Pada halaman Buat pekerjaan impor, masukkan nama Job.

  7. Pilih untuk Membuat peran IAM baru atau Menggunakan peran IAM yang ada.

    1. Jika Anda memilih Buat peran IAM baru, masukkan nama untuk peran baru Anda. Amazon Cognito akan secara otomatis membuat peran dengan izin dan hubungan kepercayaan yang benar. Prinsip IAM yang membuat pekerjaan impor harus memiliki izin untuk membuat peran IAM.

    2. Jika Anda memilih Gunakan peran IAM yang ada, pilih peran dari daftar di bawah pemilihan peran IAM. Peran ini harus memiliki kebijakan izin dan kepercayaan yang dijelaskan diMembuat peran IAM CloudWatch Log.

  8. Pilih Buat pekerjaan untuk mengirimkan pekerjaan Anda, tetapi mulai nanti. Pilih Buat dan mulai pekerjaan untuk mengirimkan pekerjaan Anda dan segera memulainya.

  9. Jika Anda membuat pekerjaan Anda tetapi tidak memulainya, Anda dapat memulainya nanti. Di tab Pengguna di bawah Impor pengguna, pilih pekerjaan impor Anda, lalu pilih Mulai. Anda juga dapat mengirimkan permintaan StartUserImportJobAPI dariAWS SDK.

  10. Pantau kemajuan pekerjaan impor pengguna Anda di tab Pengguna di bawah Impor pengguna. Jika pekerjaan Anda tidak berhasil, Anda dapat memilih nilai Status. Untuk detail tambahan, pilih Lihat CloudWatch log untuk detail selengkapnya dan tinjau masalah apa pun di konsol CloudWatch Log.

Mengimpor pengguna (AWS CLI)

Perintah CLI berikut tersedia untuk mengimpor pengguna ke kolam pengguna:

  • create-user-import-job

  • get-csv-header

  • describe-user-import-job

  • list-user-import-jobs

  • start-user-import-job

  • stop-user-import-job

Untuk mendapatkan daftar opsi baris perintah untuk perintah ini, gunakan opsi baris perintah help. Sebagai contoh:

aws cognito-idp get-csv-header help

Membuat pekerjaan impor pengguna

Setelah Anda membuat file CSV, buat tugas impor pengguna dengan menjalankan perintah CLI berikut, di mana JOB_NAME adalah nama yang Anda pilih untuk pekerjaan tersebut, USER_POOL_ID adalah ID kolam pengguna untuk kolam pengguna tempat pengguna kolam pengguna tempat pengguna baru akan ditambahkan, dan ROLE_ARN adalah peran ARN Anda diterima diMembuat peran IAM CloudWatch Log:

aws cognito-idp create-user-import-job --job-name "JOB_NAME" --user-pool-id "USER_POOL_ID" --cloud-watch-logs-role-arn "ROLE_ARN"

PRE_SIGNED_URL yang dikembalikan dalam respons berlaku selama 15 menit. Setelah waktu itu, itu akan kedaluwarsa dan Anda harus membuat pekerjaan impor pengguna baru untuk mendapatkan URL baru.

contoh Contoh respons:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Nilai status untuk pekerjaan impor pengguna

Dalam respons terhadap perintah impor pengguna, Anda akan melihat salah satu nilai Status berikut:

  • Created- Pekerjaan telah dibuat tetapi belum dimulai.

  • Pending- Sebuah status transisi. Anda telah memulai pekerjaan, tetapi belum mulai mengimpor pengguna.

  • InProgress- Pekerjaan telah dimulai, dan pengguna sedang diimpor.

  • Stopping- Anda telah menghentikan pekerjaan, tetapi pekerjaan belum berhenti mengimpor pengguna.

  • Stopped- Anda telah menghentikan pekerjaan, dan pekerjaan telah berhenti mengimpor pengguna.

  • Succeeded- Pekerjaan telah berhasil diselesaikan.

  • Failed- Pekerjaan dihentikan karena kesalahan.

  • Expired- Anda membuat pekerjaan, tetapi tidak memulai pekerjaan dalam waktu 24-48 jam. Semua data yang terkait dengan pekerjaan telah dihapus, dan pekerjaan tidak dapat dimulai.

Mengunggah file CSV

Gunakancurl perintah berikut untuk mengunggah file CSV yang berisi data pengguna Anda ke URL yang telah ditentukan sebelumnya yang Anda peroleh dari responscreate-user-import-job perintah.

curl -v -T "PATH_TO_CSV_FILE" -H "x-amz-server-side-encryption:aws:kms" "PRE_SIGNED_URL"

Dalam output dari perintah ini, cari frasa "We are completely uploaded and fine". Frasa ini menunjukkan bahwa file telah berhasil diunggah.

Menjelaskan pekerjaan impor pengguna

Untuk mendapatkan deskripsi pekerjaan impor pengguna Anda, gunakan perintah berikut, di mana USER_POOL_ID adalah ID kolam pengguna Anda, dan JOB_ID adalah ID pekerjaan yang dikembalikan saat Anda membuat pekerjaan impor pengguna.

aws cognito-idp describe-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
contoh Contoh respons:
{ "UserImportJob": { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl": "PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Dalam contoh keluaran sebelumnya, PRE_SIGNED_URL adalah URL tempat Anda mengunggah file CSV. ROLE_ARN adalah CloudWatch ARN peran yang Anda terima saat membuat peran.

Mencantumkan pekerjaan impor pengguna Anda

Untuk membuat daftar pekerjaan impor pengguna Anda, gunakan perintah berikut:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 2
contoh Contoh respons:
{ "UserImportJobs": [ { "Status": "Created", "SkippedUsers": 0, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 }, { "CompletionDate": 1470954227.701, "StartDate": 1470954226.086, "Status": "Failed", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "Too many users have failed or been skipped during the import.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn":"ROLE_ARN", "FailedUsers": 5, "CreationDate": 1470953929.313 } ], "PaginationToken": "PAGINATION_TOKEN" }

Pekerjaan terdaftar dalam urutan kronologis dari yang terakhir dibuat hingga yang pertama dibuat. String PAGINATION_TOKEN setelah pekerjaan kedua menunjukkan bahwa ada hasil tambahan untuk perintah daftar ini. Untuk membuat daftar hasil tambahan, gunakan opsi --pagination-token sebagai berikut:

aws cognito-idp list-user-import-jobs --user-pool-id "USER_POOL_ID" --max-results 10 --pagination-token "PAGINATION_TOKEN"

Memulai pekerjaan impor pengguna

Untuk memulai pekerjaan impor pengguna, gunakan perintah berikut:

aws cognito-idp start-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"

Hanya satu tugas impor yang dapat aktif pada satu waktu per akun.

contoh Contoh respons:
{ "UserImportJob": { "Status": "Pending", "StartDate": 1470957851.483, "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957431.965 } }

Menghentikan pekerjaan impor pengguna

Untuk menghentikan pekerjaan impor pengguna saat sedang berlangsung, gunakan perintah berikut. Setelah Anda menghentikan pekerjaan, itu tidak dapat dimulai ulang.

aws cognito-idp stop-user-import-job --user-pool-id "USER_POOL_ID" --job-id "JOB_ID"
contoh Contoh respons:
{ "UserImportJob": { "CompletionDate": 1470958050.571, "StartDate": 1470958047.797, "Status": "Stopped", "UserPoolId": "USER_POOL_ID", "ImportedUsers": 0, "SkippedUsers": 0, "JobName": "JOB_NAME", "CompletionMessage": "The Import Job was stopped by the developer.", "JobId": "JOB_ID", "PreSignedUrl":"PRE_SIGNED_URL", "CloudWatchLogsRoleArn": "ROLE_ARN", "FailedUsers": 0, "CreationDate": 1470957972.387 } }