Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dalam beberapa kasus, panggilan API yang telah Anda mulai melalui konsol Amazon ECR atau AWS CLI keluar dengan pesan kesalahan. Beberapa pesan kesalahan umum dan kemungkinan solusi dijelaskan di bawah ini.
HTTP 429: Terlalu Banyak Permintaan atau ThrottleException
Anda mungkin menerima 429: Too Many Requests
kesalahan atau ThrottleException
kesalahan dari satu atau beberapa tindakan Amazon ECR atau panggilan API. Hal ini menunjukkan bahwa Anda memanggil titik akhir tunggal di Amazon ECR berulang kali dalam jangka waktu pendek, dan bahwa permintaan Anda semakin dibatasi (throttled). Throttling terjadi ketika panggilan ke titik akhir tunggal dari satu pengguna melebihi ambang batas tertentu selama periode waktu.
Setiap operasi API di Amazon ECR memiliki kecepatan kecepatan yang terkait dengannya. Misalnya, pembatasan untuk tindakan GetAuthorizationToken
adalah 20 transaksi per detik (TPS), dengan lonjakan hingga 200 TPS diperbolehkan. Di setiap wilayah, setiap akun menerima bucket yang dapat menyimpan hingga 200 kredit GetAuthorizationToken
. Kredit ini diisi ulang dengan kecepatan 20 per detik. Jika bucket Anda memiliki 200 kredit, Anda bisa mencapai 200 transaksi API GetAuthorizationToken
per detik untuk satu detik, dan kemudian mempertahankan 20 transaksi per detik tanpa batas waktu. Untuk informasi selengkapnya tentang batas tarif Amazon ECR API, lihatKuota ECR layanan Amazon.
Untuk menangani kesalahan throttling, terapkan fungsi percobaan ulang dengan backoff tambahan ke dalam kode Anda. Untuk informasi selengkapnya, lihat Mencoba lagi perilaku di AWS SDK dan Panduan Referensi Alat. Pilihan lainnya adalah meminta kenaikan batas tarif, yang dapat Anda lakukan menggunakan konsol Service Quotas. Untuk informasi lebih lanjut, lihatMengelola kuota ECR layanan Amazon Anda di AWS Management Console. .
HTTP 403: "Pengguna [arn] tidak memiliki otoriasasi untuk melakukan [operasi]"
Anda mungkin menerima kesalahan berikut ketika mencoba untuk melakukan tindakan dengan Amazon ECR:
$
aws ecr get-login-password
A client error (AccessDeniedException) occurred when calling the GetAuthorizationToken operation: User: arn:aws:iam::account-number
:user/username
is not authorized to perform: ecr:GetAuthorizationToken on resource: *
Hal ini menunjukkan bahwa pengguna Anda tidak memiliki izin yang diberikan untuk menggunakan Amazon ECR, atau bahwa izin tersebut tidak diatur dengan benar. Secara khusus, jika Anda melakukan tindakan terhadap repositori Amazon ECR, verifikasi bahwa pengguna telah diberikan izin untuk mengakses repositori tersebut. Untuk informasi selengkapnya tentang membuat dan memverifikasi izin untuk Amazon ECR, lihat Identity and Access Management untuk Amazon Elastic Container Registry.
HTTP 404: kesalahan "Repositori Tidak Ada"
Jika Anda menentukan repositori Docker Hub yang saat ini tidak ada, Docker Hub membuatnya secara otomatis. Dengan Amazon ECR, repositori baru harus dibuat secara eksplisit sebelum dapat digunakan. Hal ini mencegah repositori baru dibuat secara tidak sengaja (misalnya, karena kesalahan ketik), dan juga memastikan bahwa kebijakan akses keamanan yang sesuai secara eksplisit ditetapkan ke repositori baru. Untuk informasi selengkapnya tentang membuat repositori, lihat ECRRepositori pribadi Amazon.
Kesalahan: Tidak dapat melakukan login interaktif dari perangkat non TTY
Jika Anda menerima kesalahanCannot perform an interactive login from a non TTY
device
, langkah-langkah pemecahan masalah berikut akan membantu.
-
Verifikasi bahwa Anda menggunakan AWS CLI versi 2 dan Anda tidak memiliki versi AWS CLI versi 1 yang bertentangan di sistem Anda. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
-
Verifikasi bahwa Anda telah mengonfigurasi AWS CLI dengan kredensyal yang valid. Untuk informasi selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.
-
Verifikasi bahwa sintaks AWS CLI perintah Anda benar.