Estoy tratando de agregar un clúster de MongoDB como parte de una implementación sin servidor, pero no puedo configurar la variable de entorno.
Aquí hay parte del archivo serverless.yml :
service: serverless-test plugins: - serverless-offline provider: name: aws runtime: nodejs4.3 environment: MONGO_URI: "mongodb://mongo-6:27000,mongo-7:27000,mongo-8:27000/db-dev?replicaSet=mongo"¿Cómo paso MONGO_URI para que contenga el clúster como un valor separado por comas?
Cualquier consejo es muy apreciado.
Desafortunadamente, no puede usar comas en las variables de entorno de Lambda. Esta es una limitación de AWS y no un problema sin servidor.
Por ejemplo, navegue por la consola de AWS e intente agregar una variable de entorno que contenga una coma:
Al guardar, obtendrá el siguiente error:
1 error de validación detectado: el valor en 'environment.variables' no pudo satisfacer la restricción: el valor del mapa debe satisfacer la restricción: [El miembro debe cumplir con el patrón de expresión regular: [^,]*]
El mensaje de error dice que la expresión regular [^,]* debe cumplirse y lo que esta pequeña expresión regular dice explícitamente es no ( ^ ) aceptar la coma ( , ). Cualquier otro carácter es aceptable.
No sé por qué no aceptan la coma y esto no se explica en su documentación , pero al menos su mensaje de error muestra que es intencional.
Como solución alternativa, puede reemplazar sus comas por otro símbolo (como # ) para crear la variable de entorno y volver a colocarla en coma después de leer la variable, o deberá crear varias variables de entorno para almacenar los puntos finales.