Commit e59944ab authored by DANIEL DIAZ SANCHEZ's avatar DANIEL DIAZ SANCHEZ
Browse files

Update README.md

parent 4b97b55f
......@@ -576,7 +576,7 @@ def handle_getbook(sid):
return jsonify(book),200
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)
app.run(host='127.0.0.1', port=5000, debug=True)
```
......@@ -607,7 +607,7 @@ handlers:
#### Creación del fichero de variables de entrono para prueba local
En la carpeta `~/cdist` creamos un fichero llamado `env.sh` con el contenido:
En la carpeta `~/cdist` creamos un fichero llamado `env.sh` con el contenido (ojo sustituye PASSWORD_CDIST y IP_BBDD por su valor que deberás tener apuntado, el nombre de la conexión puedes sacarla del menu conexion de tu base de datos, en mi caso es uc3m-it-2109-15397-teachers:europe-central2:cdistrest):
```
export CLOUD_SQL_USERNAME=cdistrest
......@@ -622,3 +622,67 @@ export CLOUD_SQL_HOST=IP_BBDD:3306
Para probarlo en local, Flask montará localmente un servidor web, pero usará como base de datos la de Google Cloud, como se muestra en la imagen:
<img src="img/local_GAE_test.png" width="500px"/>
Para ello, desde nuestro teminal de python con bash, introducimos la dirección de la base de datos, la contraseña etc como variables de sistema:
```
(myenv) labgcd@vit131:~/cdist$ source env.sh
```
Ahora arrancamos el servicio REST con:
```
(myenv) labgcd@vit131:~/cdist$ python3 rest/main.py
```
Probamos el servicio con Advanced REST Client o con curl, por ejemplo:
```
(myenv) labgcd@vit131:~/cdist$ curl -d '{"titulo" : "Capitan Alatriste" , "autor" : "Perez Reverte"}' -H "Content-Type: application/json" -X POST http://localhost:8080/addbook
{
"result": "Book added successfully!"
}
(myenv) labgcd@vit131:~/cdist$ curl http://localhost:8080/books
[
{
"autor": "Perez Reverte",
"id": 1,
"titulo": "Capitan Alatriste"
}
]
(myenv) labgcd@vit131:~/cdist$ curl http://localhost:8080/book/1
[
{
"autor": "Perez Reverte",
"id": 1,
"titulo": "Capitan Alatriste"
}
]
```
## Prueba en la nube del servicio REST de Google Cloud
Usaremos ahora nuestro terminal que tenemos el `/tmp`. Es conveniente tener dos terminales en `/tmp`, así que abre otro.
En uno de los terminales, lanzaremos el log para ver qué sucede, tecleado:
```
vit131:/tmp> ./google-cloud-sdk/bin/gcloud app logs tail -s default
```
En el segundo terminal, para lanzar el servicio en Google Cloud, haremos:
```
vit131:/tmp> ./google-cloud-sdk/bin/gcloud app deploy $HOME/cdist/rest/app.yaml
```
Ahora, podremos probar el servicio (ojo, tu URL será diferente de la proporcionada aquí, en mi caso es https://uc3m-it-2109-15397-teachers.appspot.com, la tuya puedes verla en App Engine)
```
(myenv) labgcd@vit131:~/cdist$ $ curl -d '{"titulo" : "El sol de breda" , "autor" : "Perez Reverte"}' -H "Content-Type: application/json" -X POST https://uc3m-it-2109-15397-teachers.appspot.com/addbook
{"result":"Book added successfully!"}
(myenv) labgcd@vit131:~/cdist$ $ curl https://uc3m-it-2109-15397-teachers.appspot.com/books[{"autor":"Perez Reverte","id":1,"titulo":"Capitan Alatriste"},{"autor":"Perez Reverte","id":2,"titulo":"El sol de breda"}]
```
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment