Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas para AWS SAM CLI
En esta sección se proporciona información sobre cómo solucionar los mensajes de error al utilizar, instalar y administrar la interfaz de línea de AWS Serverless Application Model comandos (AWS SAMCLI).
Resolución de problemas
Para obtener ayuda sobre la AWS SAM CLI, consulta Solución de errores de la instalación.
Mensajes de error
Error de Curl: «curl: (6) No se pudo resolver:...»
Al intentar invocar el punto de conexión de API Gateway, verá el siguiente error:
curl: (6) Could not resolve: endpointdomain
(Domain name not found)
Esto significa que ha intentado enviar una solicitud a un dominio que no es válido. Esto puede ocurrir si la aplicación sin servidor no se pudo implementar correctamente o si el comando curl cometió un error tipográfico. Comprueba que la aplicación se ha implementado correctamente mediante la consola AWS CloudFormation o la AWS CLI, y compruebe que el comando curl es correcto.
Error: no se puede encontrar la información exacta del recurso con el nombre de pila dado
Al ejecutar el comando sam remote invoke
en una aplicación que contiene un único recurso de función de Lambda, aparece el siguiente error:
Error: Can't find exact resource information with given <stack-name>
. Please provide full resource ARN or --stack-name to resolve the ambiguity.
- Causa posible: no proporcionó la opción
--stack-name
. -
Si el ARN de una función no se proporciona como argumento, el comando
sam remote invoke
requiere que se proporciona la opción--stack-name
. - Solución: proporciona la opción
--stack-name
. -
A continuación, se muestra un ejemplo:
$
sam remote invoke --stack-name
Invoking Lambda Function HelloWorldFunction START RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Version: $LATEST END RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 REPORT RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Duration: 11.31 ms Billed Duration: 12 ms Memory Size: 128 MB Max Memory Used: 67 MB Init Duration: 171.71 ms {"statusCode":200,"body":"{\"message\":\"hello world\"}"}%sam-app
Error: no se puede encontrar la información exacta del recurso con ese nombre de pila
Al ejecutar el comando sam remote invoke
y pasar el ARN de una función de Lambda como argumento, aparece el siguiente error:
Error: Can't find resource information from stack name (<stack-name>
) and resource id (<function-id>
)
- Causa posible: el valor del nombre de la pila está definido en el archivo
samconfig.toml
. -
La primera CLI de AWS SAM comprueba el nombre de la pila en el archivo
samconfig.toml
. Si se especifica, el argumento se pasa como un valor de ID lógico. - Solución: en su lugar, pasa el ID lógico de la función.
-
Puede pasar el ID lógico de la función como argumento en lugar del ARN de la función.
- Solución: elimine el valor del nombre de la pila del archivo de configuración.
-
Puede eliminar el valor del nombre de la pila del archivo de configuración. Esto evita que AWS SAM CLI pasa el ARN de la función como un valor de ID lógico.
Ejecute
sam build
después de modificar el archivo de configuración.
Error: «Error al crear recursos administrados: no se pueden localizar las credenciales»
Al ejecutar el comando sam deploy, aparece el siguiente error:
Error: Failed to create managed resources: Unable to locate credentials
Esto significa que no has configurado las credenciales de AWS para permitir que AWS SAM CLI realice llamadas a servicios de AWS. Para solucionarlo, debe configurar las credenciales de AWS. Para obtener más información, consulta Configuración de las credenciales de AWS.
Error: FilenotFounderError en Windows
Al ejecutar el comando AWS SAM CLI en Windows, aparece el siguiente error:
Error: FileNotFoundError
Causa posible: AWS SAM CLI podría interactuar con las rutas de archivo que superen el límite máximo de rutas de Windows.
Para resolver este problema, debe configurar el comportamiento de las nuevas rutas de acceso largo. Para habilitar las rutas largas, consulta Habilitar las rutas largas en Windows 10, versión 1607 y versiones posteriores,
Error: el solucionador de dependencias de pip...
Ejemplo de texto de error:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. aws-sam-cli 1.58.0 requires aws-sam-translator==1.51.0, but you have aws-sam-translator 1.58.0 which is incompatible. aws-sam-cli 1.58.0 requires typing-extensions==3.10.0.0, but you have typing-extensions 4.4.0 which is incompatible.
- Causa posible: si se utiliza pip para instalar paquetes, las dependencias entre los paquetes pueden entrar en conflicto.
-
Cada versión del paquete
aws-sam-cli
depende de una versión del paqueteaws-sam-translator
. Por ejemplo, la versiónaws-sam-cli
1.58.0 puede depender de la versión 1.51.0aws-sam-translator
.Si instala el paquete AWS SAM CLI usando pip y, a continuación, instala otro paquete que dependa de una versión más reciente de
aws-sam-translator
, ocurrirá lo siguiente:-
Se instalará la versión más reciente de
aws-sam-translator
. -
Es posible que la versión actual de
aws-sam-cli
y la versión más reciente deaws-sam-translator
no sean compatibles. -
Al utilizar AWS SAM CLI, se producirá el error del solucionador de dependencias.
Soluciones:
-
Utiliza el instalador de paquetes nativo AWS SAM CLI.
-
Desinstalación de la AWS SAM CLI con pip. Para obtener instrucciones, consulta Desinstalación de la AWS SAM CLI.
-
Instale AWS SAM CLI mediante el instalador de paquetes nativo. Para obtener instrucciones, consulta Instala la AWS SAM CLI.
-
Cuando sea necesario, AWS SAM CLI actualice con el instalador de paquetes nativo. Para obtener instrucciones, consulta Actualización de AWS SAM CLI.
-
-
Si debe utilizar pip, te recomendamos que instale la CLI AWS SAM en un entorno virtual. Esto garantiza un entorno de instalación limpio y un entorno aislado en caso de que se produzcan errores. Para obtener instrucciones, consulta Instalación de la CLI de AWS SAM en un entorno virtual mediante pip.
-
Error: No existe ese comando «remoto»
Al ejecutar el comando sam remote invoke
, aparece el siguiente error:
$
sam remote invoke
2023-06-20 08:15:07 Command remote not available Usage: sam [OPTIONS] COMMAND [ARGS]... Try 'sam -h' for help. Error: No such command 'remote'....
- Causa posible: su versión de AWS SAM CLI no está actualizada.
-
El comando
sam remote invoke
de la CLI de AWS SAM se publicó con la versión 1.88.0 de la CLI de AWS SAM. Puede comprobar la versión con el comandosam --version
. - Solución: actualice su AWS SAM CLI a la versión más reciente.
-
Para obtener instrucciones, consulta Actualización de AWS SAM CLI.
Error: ejecutar proyectos SAM AWS requiere Docker de forma local. ¿Lo tiene instalado?
Al ejecutar el comando sam local start-api, aparece el siguiente error:
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
Esto significa que no ha instalado Docker correctamente. Docker es necesario para probar la aplicación localmente. Para solucionar este problema, debe seguir las instrucciones de instalación de Docker en el host de desarrollo. Para obtener más información, consulta Instalar Docker.
Error: no se cumplen las restricciones de seguridad
Al ejecutar sam deploy --guided, se le preguntará
. Si responde a esta solicitud con Function
may not have authorization defined, Is this
okay? [y/N]N
(la respuesta predeterminada), verá el siguiente error:
Error: Security Constraints Not Satisfied
El mensaje le informa de que la aplicación que va a implementar podría tener una API de Amazon API Gateway de acceso público configurada sin autorización. Al responder N
a esta pregunta, está diciendo que esto no está bien.
Para resolver este problema, dispone de las siguientes opciones:
-
Configura tu aplicación con autorización. Para obtener más información acerca de la autorización, consulta Controla el acceso a la API con tu AWS SAM plantilla.
-
Si su intención es tener un punto de conexión de API de acceso público sin autorización, reinicie la implementación y responda a esta pregunta indicando que está de acuerdo con la implementación.
Y
mensaje: Falta el token de autenticación
Al intentar invocar el punto de conexión de API Gateway, verá el siguiente error:
{"message":"Missing Authentication Token"}
Esto significa que ha intentado enviar una solicitud al dominio correcto, pero el URI no es reconocible. Para solucionar este problema, verifique la URL completa y actualice el comando curl con la URL correcta.
Mensajes de advertencia
Advertencia:... AWS dejará de mantener el instalador Homebrew para AWS SAM...
Al instalar AWS SAM CLI usando Homebrew, verá el siguiente mensaje de advertencia:
Warning: ... AWS will no longer maintain the Homebrew installer for AWS SAM (aws/tap/aws-sam-cli). For AWS supported installations, use the first party installers ...
- Causa potencial: AWS ya no mantiene el soporte Homebrew.
-
A partir de septiembre de 2023, AWS dejará de mantener el instalador Homebrew de AWS SAM CLI.
Solución: utiliza un método de instalación de AWS admitido.
-
Encontrará los métodos de instalación de AWS admitidos en Instala la AWS SAM CLI.
Solución: para seguir utilizando Homebrew, utiliza el instalador gestionado por la comunidad.
-
Puedes utilizar el instalador Homebrew gestionado por la comunidad a su entera discreción. Para obtener instrucciones, consulta Administración de CLI de AWS SAM con la Homebrew.
-