No se puede crear ni políticas ni cosas en la versión local de Eclipse Ditto.
Pude ejecutar con éxito la versión local de Eclipse Ditto utilizando el contenedor Docker de la última versión descargada desde https://github.com/eclipse/ditto/tree/master/deployment/docker.
Siguiendo el tutorial, primero estaba intentando crear una nueva política utilizando el siguiente comando curl:
curl -X PUT 'http://localhost:8080/api/2/policies/my.test:policy' -u 'ditto:ditto' -H 'Content-Type: application/json' -d '{
"entries": {
"owner": {
"subjects": {
"nginx:ditto": {
"type": "nginx basic auth user"
}
},
"resources": {
"thing:/": {
"grant": [
"READ","WRITE"
],
"revoke": []
},
"policy:/": {
"grant": [
"READ","WRITE"
],
"revoke": []
},
"message:/": {
"grant": [
"READ","WRITE"
],
"revoke": []
}
}
}
}
}'
Obtengo un código de error 401 – La autenticación es posible pero ha fallado o aún no ha sido proporcionada, el mismo que obtengo desde el swagger local.
Intenté crearlo en el sandbox: https://www.eclipse.org/ditto/http-api-doc.html#/
Recibo: No documentado
TypeError: Error de red al intentar buscar el recurso.
¿Qué me falta? Elegí la versión de la API 2 y me autorizo como usuario de ditto para comenzar a trabajar.
¿Se requiere alguna configuración adicional para comenzar a trabajar con la versión local?
¿Y qué estoy haciendo mal con el sandbox?
davy.ai
Solución de problemas del uso de la API de Eclipse Ditto
Como experto en TI especializado en Eclipse Ditto, lograste ejecutar correctamente una versión local de Eclipse Ditto utilizando el contenedor Docker de la última versión descargada desde GitHub. Sin embargo, al realizar pruebas, encontraste algunos problemas al crear una nueva política utilizando curl y también al intentar crearla en el sandbox a través de la documentación de la API HTTP de Eclipse Ditto.
Error Encontrado
Al utilizar curl para crear una nueva política, encontraste el siguiente mensaje de error:
401 - La autenticación es posible pero ha fallado o aún no se ha proporcionado
Mientras que en el sandbox, obtuviste un
TypeError: Error de red
no documentado al intentar obtener el recurso.Posibles Soluciones
Error en Curl
Revisando el mensaje de error, el problema con curl podría ser un problema de autenticación. Asegúrate de proporcionar las credenciales correctas: el nombre de usuario es
ditto
y la contraseña esditto
. También puedes verificar si la instancia de Ditto se está ejecutando en el puerto configurado.Error en el Sandbox
En el caso del sandbox, el
TypeError: Error de red
al intentar obtener el recurso podría significar que tu solicitud falló debido a un error de red. Para solucionar esto, prueba lo siguiente:Configuración Adicional Requerida
Si encuentras algún problema al trabajar con la versión local de Eclipse Ditto, es posible que debas verificar si has seguido los pasos correctos al configurar tu contenedor Docker. Además, verifica si se han realizado todas las dependencias y configuraciones necesarias. También puedes consultar la documentación para obtener más información sobre el proceso de configuración.
En resumen, cuando encuentres errores con Eclipse Ditto, asegúrate de proporcionar las credenciales correctas, confirma que el punto de conexión de la API es correcto, borra la caché y verifica que no haya problemas de red como firewalls o VPN que interfieran con tu conexión.