es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo administrar inquilinos de forma programática en Google Cloud Platform

Estoy escribiendo un servicio backend para gestionar mis inquilinos en GCP. Específicamente, me gustaría poder crear/eliminar y listar inquilinos en mi servidor de node.

El Firebase admin-sdk debería permitirme hacerlo. Cuando trato de ejecutarlo, obtengo este error:

La implementación de las credenciales proporcionadas a initializeApp() a través de la propiedad “credential” falló al obtener un token de acceso válido de Google OAuth2, con el siguiente error: “Error al obtener el token de acceso: Error al hacer la solicitud: getaddrinfo ENOTFOUND metadata.google.internal. Código de error: ENOTFOUND”.

Seguí esta documentación para configurar la instalación del admin sdk. (probé en Windows y Linux, usando una variable de entorno)
Utilicé esta documentación (Obtener un inquilino existente)

Este es mi código:

var admin = require('firebase-admin');
var app = admin.initializeApp({
    credential: admin.credential.applicationDefault(),
    projectId: 'miProyecto'
});
admin.auth().tenantManager().getTenant("miInquilino")
    .then((tenant) => {
        console.log(tenant.toJSON());
    })
    .catch((error) => {
        // Manejar error.
        console.log(error.message)
    });

const someOtherStuff = () =>…

module.exports = {
someOtherStuff
}

“`

Edit: Estoy ejecutando este código localmente en un servidor de node con Express. Estoy utilizando una computadora con Windows y una computadora con Linux. El resultado es el mismo en ambos sistemas.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema podría estar en la configuración de credenciales. El mensaje de error sugiere que hubo un problema al recuperar el token de acceso OAuth2. Esto podría ser debido a una credencial mal configurada u otro problema relacionado con la red.

    Para solucionar este problema, puedes intentar lo siguiente:

    1. Asegúrate de tener una credencial válida configurada. Puedes crear una nueva clave de cuenta de servicio en la Consola de Cloud y usarla para crear una nueva credencial. Luego puedes pasar esta credencial al método initializeApp al inicializar el SDK de administración. Puedes encontrar más información sobre cómo crear una clave de cuenta de servicio en la documentación de la Consola de Cloud.
    2. Verifica la configuración de tu red. El error getaddrinfo ENOTFOUND sugiere que puede haber un problema de resolución de DNS. Intenta ejecutar una herramienta de diagnóstico de red para ver si hay algún problema de conectividad de red en tu máquina. También puedes intentar configurar la variable de entorno http_proxy para ver si eso ayuda.

    3. Verifica la configuración de tu firewall. Es posible que la configuración de tu firewall esté bloqueando al SDK de administración para acceder a los recursos requeridos. Intenta desactivar temporalmente tu firewall para ver si eso resuelve el problema. Si lo hace, luego puedes volver a activar tu firewall y configurarlo para permitir el acceso al SDK de administración.

    Una vez que hayas solucionado el problema con la credencial o la configuración de la red, deberías poder crear, listar y eliminar inquilinos utilizando la API de tenantManager proporcionada por el SDK de administración de Firebase.

Comments are closed.