La aplicación del motor de mi aplicación se implementó bien antes de configurar esta variable. Ahora, cuando implemento la aplicación, la compilación busca este archivo local. ¿Puedo establecer esto como una ruta relativa o puedo eliminar esta variable y usar new logger({ projectId, relative/path/to/json }) en mis utilidades de registrador?

const {Logging} = require('@google-cloud/logging');

export const gCloudLogging = new Logging({ ... make this change here });
export const logName = 'API';
export const log = gCloudLogging.log(logName);
export const resource = {
    "type": "global",
    "displayName": "...",
    "description": "..."
};

export const severity = {
    DEFAULT: 'DEFAULT', //(0) The log entry has no assigned severity level.
    DEBUG: 'DEBUG', //(100) Debug or trace information.
    INFO: 'INFO', //(200) Routine information, such as ongoing status or performance.
    NOTICE: 'NOTICE', //(300) Normal but significant events, such as start up, shut down, or a configuration change.
    WARNING: 'WARNING', //(400) Warning events might cause problems.
    ERROR: 'ERROR', //(500) Error events are likely to cause problems.
    CRITICAL: 'CRITICAL', //(600) Critical events cause more severe problems or outages.
    ALERT: 'ALERT', //(700) A person must take an action immediately.
    EMERGENCY: 'EMERGENCY', //(800) One or more systems are unusable.
};

export const writeLog = (severity: string, text: string): void => {
    const metaData = {
        resource,
        severity
    };
    const entry = log.entry(metaData, text);
    log.write(entry);
}
0
almcaffee 26 mar. 2021 a las 07:58

1 respuesta

La mejor respuesta

Puedes quitar la variable de entorno de tu implementación de App Engine. Como puede ver en esta documentación, las bibliotecas cliente de Google admiten las credenciales predeterminadas de la aplicación (ADC ).

Esto significa que las bibliotecas intentarán encontrar las credenciales automáticamente. Las bibliotecas cliente pueden usar la variable de entorno para encontrar la cuenta de servicio que se usará en el entorno local y usar automáticamente la cuenta de servicio predeterminada de App Engine cuando se implemente.

1
Rafael Lemos 26 mar. 2021 a las 16:30