Proksiaj agordoj de Watson Node SDK por API kaj IAM petoj
Kunhavigu la tunelan agenton inter la Watson-serva kliento kaj ĝia IAM-aŭtentikigilo, por ke akiri la ĵetonon povu uzi la proksion.
Kiam Watson-voko malsukcesas antaŭ ol atingi la servon, kontrolu ĉu la malsukcesinta peto estas la IAM-ĵetona peto. Voko aŭtentikigita per IAM povas unue kontakti IAM kaj poste la servon.
En aplikaĵo jam uzanta la koncernan Watson SDK kaj la dependaĵon tunnel, donu la samajn retajn agordojn al ambaŭ objektoj:
const tunnel = require('tunnel');
const AssistantV2 = require('ibm-watson/assistant/v2');
const { IamAuthenticator } = require('ibm-watson/auth');
const httpsAgent = tunnel.httpsOverHttp({
proxy: { host: 'proxy.example', port: 8080 },
});
const network = { httpsAgent, proxy: false };
const authenticator = new IamAuthenticator({
apikey: apiKey,
...network,
});
const assistant = new AssistantV2({
version: serviceVersion,
serviceUrl,
authenticator,
...network,
});Konservu la ekzistantajn apiKey, serviceVersion kaj serviceUrl de la aplikaĵo. La API- kaj IAM-finpunktoj restas siaj celitaj celoj; la proksia aŭskultanto apartenas al la agento. La listo de HTTP-proksioj povas havigi kandidatajn adresojn kiam ambaŭ publikaj servofinpunktoj estas atingeblaj per proksio, kiun vi elektas.
tunnel.httpsOverHttp starigas la HTTPS-vojon tra la HTTP-proksio. proxy: false malhelpas al la SDK apliki alian enkonstruitan proksian agordon super tiu propra agento.
Se vi antaŭe donis tiujn agordojn nur al assistant, la aŭtentikigilo estas la mankanta loko por kontroli. Baza aŭtentikigo kaj jam eldonita bearer-ĵetono havas malsamajn vivciklojn de ĵetonakiro, do ĉi tiu plia IAM-vojo validas por la retbazita aŭtentikigilo uzata ĉi tie.