Tableau señal de error al enviar solicitud de servicio desplegado en la nube Run

Pablo Burciaga:

He desarrollado un servicio personalizado para el aprovisionamiento de Tableau Server a través de un servicio en la nube de Google Frasco Ejecutar. Yo uso un recipiente ventana acoplable para desplegar mi servicio en Google.

El servicio funciona bien cuando corro el contenedor a nivel local con el cartero, sin embargo, me sale el siguiente error al enviar la solicitud al servicio desplegado en la nube en Ejecutar.

<title>requests.exceptions.ConnectionError: HTTPConnectionPool(host='<mytableauserver.com>', port=80): Max retries
        exceeded with url: /api/2.4/serverInfo (Caused by NewConnectionError('&lt;urllib3.connection.HTTPConnection
        object at 0x3ed0efc890d0&gt;: Failed to establish a new connection: [Errno 111] Connection refused')) //
        Werkzeug Debugger</title>

app.py:

import os
import logging
from flask import Flask, jsonify, request
import provisioning

# Change the format of messages logged to Stackdriver
logging.basicConfig(format='%(message)s', level=logging.INFO)

app = Flask(__name__)

@app.route('/api/adduser', methods=['POST'])
def add():
    return jsonify(provisioning.add(request.json))

@app.route('/api/removeuser', methods=['POST'])
def remove():
    return jsonify(provisioning.remove(request.json))

@app.route('/', methods=['GET'])
def hello():
    return jsonify({'message' : 'Hello API'}) #Test Endpoint

if __name__ == "__main__":
    app.run(debug=True, host='0.0.0.0', port=int(os.environ.get('PORT', 80)))

provisioning.py:

import sys
import json
import tableauserverclient as TSC
import re


def sign_in(sitename):
    tableau_auth = TSC.PersonalAccessTokenAuth(
        token_name='<token_name>', personal_access_token='<token>', site_id=sitename)
    server = TSC.Server(
        server_address='<http://mytableauserver.com>', use_server_version=True)
    #server.add_http_options({'verify': False})
    server.auth.sign_in(auth_req=tableau_auth)
    return server  

def add(json_request):
    site = json_request["sitename"])
    session = sign_in(site) # Here is where the process fails
    site_role = json_request["rolename"]
    user = add_user_to_site(session, json_request, site_role)
    add_user_to_group(session, user, json_request)
    return json.dumps(json_request)

more code...

Dockerfile:

FROM python:3.8

ADD app.py /
ADD provisioning.py /

RUN pip install tableauserverclient
RUN pip install Flask

CMD [ "python", "./app.py" ]

Lo que parece extraño es el hecho de que pueda iniciar sesión en el servidor de destino, en el primer intento (supongo), pero cuando trate de llegar a la nube de ejecución, que parece ser probar varias veces hasta que falla. Utilizo mismo código en todos los contenedores.

gso_gabriel:

Con base en los casos de error y similares:

No se pudo establecer una nueva conexión: [Errno 111] Conexión rechazada '))

Parece que su cliente Python no es ser capaz de conectar su Tableau Server con su nube de ejecución. Según el artículo ¿Por qué recibo [ErrNo 111] errores de conexión negado en mis registros de la aplicación? :

O bien el agente no se está ejecutando, o cliente trazador de su aplicación no está configurada correctamente. Por defecto, las bibliotecas de cliente trazador se someten a localhost en el puerto 8126. Si esto no es donde el agente está escuchando, tal vez se escucha en alguna de envase acoplable al lado de su aplicación contenedora de punto trazador su cliente a donde se está ejecutando, por ejemplo tracer.configure (hostname = "172.17.0.1").

Búsqueda por casos similares de este error, no pude encontrar algunas soluciones para este error, que yo le recomendaría a echar un vistazo a él.

Déjame saber si la información que ayudó!

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=285185&siteId=1
Recomendado
Clasificación