Especifica dependencias en Go
Puedes especificar tus dependencias de Cloud Functions con un módulo de Go o un directorio vendor
.
Especifica dependencias con módulos de Go
Para especificar dependencias de Cloud Functions con un módulo de Go, debes enumerarlas en un archivo go.mod
.
Cuando implementas la función, Go incorpora de forma automática las dependencias en el archivo go.mod
.
Para crear un archivo go.mod
, consulta Administra dependencias en Go.
Especifica dependencias con un directorio vendor
Cloud Functions también te permite incluir dependencias mediante un directorio vendor
.
Usar un directorio de proveedores es útil si tu dependencia no está disponible a través de un administrador de dependencias o si el acceso a Internet del entorno de Cloud Functions está restringido.
La mayoría de las veces, los directorios vendor
se mantienen con un administrador de dependencias.
Puedes usar cualquier administrador de dependencias que prefieras. Por ejemplo, puedes utilizar la funcionalidad de los módulos de Go para crear un directorio vendor
desde tu archivo go.mod
.
Debes incluir el Framework de functions para Go en el directorio de proveedores. Para usar la cadena de herramientas de Go con el fin de hacer esto, haz lo siguiente:
Agrega la siguiente directiva al bloque de importación de tu código de Go:
_ "github.com/GoogleCloudPlatform/functions-framework-go/funcframework"
Actualiza tu archivo
go.mod
para incluir el nuevo paquete importado:go mod tidy
Crea un directorio
vendor
con el contenido de tu archivogo.mod
:go mod vendor
Versiones de Go anteriores a la 1.16
En las versiones de Go anteriores a la 1.16, si tienes un archivo go.mod
y un directorio vendor
, el directorio vendor
se ignorará cuando implementes tu función.
Para asegurarte de que se respete el directorio de proveedores, usa un archivo .gcloudignore
para evitar subir tus archivos go.mod
y go.sum
:
Crea un archivo
.gcloudignore
en la raíz del directorio de tu proyecto con el siguiente contenido:go.mod go.sum # Also ignore Git directories. Delete the following two lines if you want to # upload them. .git .gitignore
Usa dependencias privadas
Si las dependencias de tu función están alojadas en un repositorio al que no se puede acceder públicamente, debes usar un directorio vendor
para obtener las dependencias antes de implementar la función. Si planeas usar un archivo go.mod
, consulta las instrucciones anteriores para evitar posibles conflictos entre el archivo go.mod
y el directorio vendor
.