Instalasi Finch untuk digunakan dengan AWS SAM CLI - AWS Serverless Application Model

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

Instalasi Finch untuk digunakan dengan AWS SAM CLI

Finch AWS adalah alat pengembangan kontainer yang menyediakan alternatifDocker, terutama bermanfaat pada sistem macOS dan Linux. Untuk informasi lebih lanjut, lihat Finch di GitHub. DenganFinch, AWS SAM dapat menyediakan lingkungan lokal yang mirip dengan AWS Lambda sebagai wadah untuk membangun, menguji, dan men-debug aplikasi tanpa server Anda.

catatan

Anda perlu Finch menguji aplikasi Anda secara lokal, untuk membangun paket penerapan menggunakan --use-container opsi, dan membangun fungsi gambar OCI. Dimulai dengan AWS SAM CLI versi 1.145.0, AWS SAM CLI Finch mendukung sebagai runtime kontainer alternatif untuk. Docker

Menginstal Finch

Ikuti petunjuk ini untuk menginstal Finch pada sistem operasi Anda.

Prasyarat

catatan

Finchintegrasi dalam AWS SAM CLI tersedia di sistem macOS dan Linux. Untuk pengguna Windows, pertimbangkan untuk menggunakan mesin virtual atau lingkungan Linux untuk Finch fungsionalitas.

Versi macOS:

  • macOS 15 Sequoia

  • macOS 14 Sonoma

catatan

Finchmendukung dua versi terbaru macOS.

Linux:

  • Kernel Linux v4.x +

Instalasi Finch

Untuk menginstal Finch di macOS
  1. Instal Finch menggunakan brew CLI. Jika diminta, masukkan kata sandi macOS Anda.

    $ brew install finch
  2. Periksa Finch versi yang diinstal.

    $ finch --version
  3. Inisialisasi mesin Finch virtual (pengaturan pertama kali).

    $ finch vm init
  4. Mulai mesin Finch virtual.

    $ finch vm start
  5. Periksa status mesin Finch virtual.

    $ finch vm status
  6. Verifikasi yang Finch berjalan dengan benar.

    $ finch --info $ finch ps

Untuk informasi selengkapnya, lihat Menginstal Finch di macOS.

Anda dapat menginstal Finch di Amazon Linux, Ubuntu, atau dengan menggunakan metode instalasi generik. Untuk informasi selengkapnya, lihat Menginstal Finch di Linux.

Mengkonfigurasi Finch dengan CLI AWS SAM

Setelah Anda menginstalFinch, AWS SAM CLI secara otomatis mendeteksi dan menggunakan Finch sebagai runtime kontainer saat Docker tidak berjalan.

catatan

Finchberfungsi sebagai fallback ke. Docker Jika Anda memiliki keduanya Docker dan Finch menginstal dan menjalankan, AWS SAM CLI memprioritaskan secara defaultDocker.

Konfigurasi preferensi administrator (macOS)

Anda dapat mengonfigurasi AWS SAM CLI untuk menggunakan runtime kontainer tertentu sebagai default dengan membuat file preferensi administrator. Preferensi seluruh sistem ini mengesampingkan perilaku fallback default.

Opsi konfigurasi yang tersedia

  • Tetapkan Finch sebagai runtime kontainer pilihan:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  • Tetapkan Docker sebagai runtime kontainer pilihan:

    $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  • Hapus preferensi (kembali ke perilaku default):

    $ sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
catatan

Ketika tidak ada preferensi administrator yang disetel, AWS SAM CLI menggunakan secara Docker default bila tersedia, dengan Finch sebagai fallback saat Docker tidak berjalan.

Perbedaan pemasangan direktori (macOS)

Di macOS, perintah AWS SAM lokal gagal jika Anda menemukan project di luar home directory (~) atau. /Volumes Desain ini membatasi pemasangan direktori otomatis untuk alasan keamanan tanpa sepengetahuan Anda.

Opsi mitigasi

  • Opsi 1: Buka konfigurasi Finch di editor teks ~/.finch/finch.yaml dan tambahkan jalur proyek Anda di bawah additional_directories bagian, lalu restart mesin Finch virtual. Untuk informasi tambahan, lihat dokumentasi Finch.

    $ finch vm stop $ finch vm start
  • Opsi 2: Pindahkan proyek Anda ke direktori home Anda.

Memverifikasi instalasi

Setelah Anda menginstal dan memulaiFinch, verifikasi bahwa itu berfungsi dengan AWS SAM CLI.

Verifikasi dasar

Jalankan perintah berikut untuk memverifikasi bahwa AWS SAM CLI dapat menggunakan: Finch

$ sam build --use-container

Anda akan melihat AWS SAM CLI menggunakan Finch untuk membangun aplikasi Anda di lingkungan kontainer.

catatan

Finchberfungsi sebagai fallback ke. Docker Jika Docker sedang berjalan, AWS SAM CLI akan memprioritaskan secara defaultDocker.

Pengujian Finch sebagai fallback

Untuk menguji Finch sebagai fallback saat Docker sedang berjalan, Anda harus berhenti Docker terlebih dahulu.

Untuk menguji fungsionalitas Finch fallback
  1. Berhenti Docker menggunakan perintah yang sesuai untuk sistem operasi Anda.

    macOS:

    $ docker stop $(docker ps -q) $ pkill -f "Docker Desktop"

    DockerVerifikasi dihentikan.

    $ docker ps

    Linux:

    $ docker stop $(docker ps -q) $ sudo systemctl stop docker

    DockerVerifikasi dihentikan.

    $ sudo systemctl status docker
  2. Jalankan sam build --use-container perintah untuk memverifikasi AWS SAM CLI secara otomatis menggunakan Finch sebagai fallback.

Menghentikan Finch

Jika Anda perlu berhentiFinch, gunakan perintah berikut:

macOS:

$ finch vm stop $ sudo pkill -f finch

FinchVerifikasi dihentikan.

$ finch vm status

Linux:

$ sudo systemctl stop finch $ sudo pkill -f finch

FinchVerifikasi dihentikan.

$ sudo systemctl status finch

Pemecahan masalah

Jika Anda mengalami masalah denganFinch:

  • Verifikasi bahwa sistem operasi Anda memenuhi prasyarat.

  • Verifikasi bahwa Anda telah mengaktifkan virtualisasi pada sistem Anda.

  • Untuk macOS, verifikasi bahwa Anda memiliki ruang disk yang cukup untuk mesin virtual.

  • Untuk Linux, verifikasi bahwa Anda memiliki izin yang tepat untuk menjalankan systemctl perintah.

  • Jika Anda mengalami kegagalan CloudFormation penerapan dengan kesalahan “tipe media tidak didukung” saat Anda mendorong gambar multi-arsitektur ke Amazon Elastic Container Registry (Amazon ECR), buat artefak gambar tunggal alih-alih menggunakan gambar multi-arsitektur. Ini terjadi karena Finch mendorong indeks gambar dan gambar ke Amazon ECR, sementara hanya Docker mendorong gambar.

  • Jika pembuatan lintas platform gagal saat arsitektur fungsi target tidak cocok dengan arsitektur mesin host di Linux, aktifkan emulasi lintas platform dengan menjalankan. sudo finch run --privileged --rm tonistiigi/binfmt:master --install all

Untuk pemecahan masalah tambahan, lihat dokumentasi Finch atau. AWS SAMCLIpemecahan masalah

Langkah selanjutnya

Sekarang setelah Anda Finch menginstal, Anda dapat menggunakannya dengan AWS SAM CLI untuk:

  • Bangun aplikasi tanpa server menggunakan wadah dengan. sam build --use-container Untuk informasi selengkapnya, lihat sam build.

  • Uji fungsi Lambda secara lokal dengan. sam local invoke Untuk informasi selengkapnya, lihat sam local invoke.

  • Mulai API Gateway lokal dengansam local start-api. Untuk informasi selengkapnya, lihat sam local start-api.

  • Mulai titik akhir Lambda lokal dengan. sam local start-lambda Untuk informasi selengkapnya, lihat sam local start-lambda.

Untuk informasi selengkapnya tentang penggunaan AWS SAM CLI dengan kontainer, lihat. Membangun default dengan AWS SAM