Menentukan dependensi di Go
Anda dapat menentukan dependensi Cloud Function dengan direktori Modul Go atau vendor
.
Menentukan dependensi dengan modul Go
Untuk menentukan dependensi Cloud Functions dengan Modul Go, Anda harus mencantumkannya dalam file go.mod
.
Saat Anda men-deploy fungsi, Go otomatis menggabungkan dependensi dalam file go.mod
Anda.
Untuk membuat file go.mod
, lihat
Mengelola dependensi di Go.
Functions Framework adalah dependensi wajib untuk semua fungsi. Meskipun Cloud Functions menginstalnya untuk Anda saat fungsi tersebut dibuat, sebaiknya sertakan sebagai dependensi eksplisit agar lebih jelas.
Jika fungsi
Anda bergantung pada dependensi pribadi, sebaiknya
cerminkan functions-framework
ke registry pribadi Anda. Sertakan functions-framework
yang diduplikasi sebagai dependensi ke fungsi Anda untuk menghindari penginstalan
paket dari internet publik.
Menentukan dependensi dengan direktori vendor
Cloud Functions juga memungkinkan Anda menyertakan dependensi melalui direktori vendor
.
Menggunakan direktori vendor akan sangat membantu jika dependensi Anda tidak tersedia melalui pengelola dependensi, atau jika akses internet lingkungan Cloud Functions Anda dibatasi.
Biasanya, direktori vendor
dikelola dengan pengelola dependensi.
Anda dapat menggunakan pengelola dependensi apa pun yang Anda suka. Misalnya, Anda dapat menggunakan fungsi
Modul Go untuk membuat direktori vendor
dari file go.mod
Anda.
Anda harus menyertakan Functions Framework for Go di direktori vendor. Untuk melakukannya, gunakan toolchain Go:
Tambahkan perintah berikut ke blok impor kode Go Anda:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
Perbarui file
go.mod
Anda untuk menyertakan paket yang baru diimpor:go mod tidy
Buat direktori
vendor
menggunakan isi filego.mod
Anda:go mod vendor
Go versi yang lebih lama dari 1.16
Untuk versi Go yang lebih lama dari 1.16, jika Anda memiliki file go.mod
dan direktori vendor
, direktori vendor
akan diabaikan saat Anda men-deploy fungsi.
Untuk memastikan bahwa direktori vendor Anda dipatuhi, gunakan file
.gcloudignore
agar file go.mod
dan go.sum
tidak diupload:
Buat file
.gcloudignore
di root direktori project Anda dengan konten berikut:go.mod go.sum # Also ignore Git directories. Delete the following two lines if you want to # upload them. .git .gitignore
Menggunakan dependensi pribadi
Jika dependensi fungsi Anda dihosting di repositori yang tidak dapat diakses secara publik, Anda harus menggunakan direktori vendor
untuk mengambil dependensi sebelum men-deploy fungsi Anda. Jika Anda berencana menggunakan file go.mod
, lihat petunjuk di atas untuk menghindari potensi konflik antara file go.mod
dan direktori vendor
.