Pan fydd galwad Watson yn methu cyn cyrraedd y gwasanaeth, gwiriwch ai'r cais tocyn IAM yw'r cais a fethodd. Gall galwad a ddilyswyd gan IAM gysylltu â IAM yn gyntaf ac â'r gwasanaeth wedyn.

Mewn cymhwysiad sy'n defnyddio'r Watson SDK perthnasol a'r dibyniaeth tunnel yn barod, rhowch yr un gosodiadau rhwydwaith i'r ddau wrthrych:

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,
});

Cadwch apiKey, serviceVersion a serviceUrl presennol y cymhwysiad. Mae pwyntiau terfyn API ac IAM yn parhau i fod eu cyrchfannau bwriadedig; mae'r gwrandäwr procsi yn perthyn i'r asiant. Gall y rhestr procsi HTTP ddarparu cyfeiriadau posibl pan ellir cyrraedd y ddau bwynt terfyn gwasanaeth cyhoeddus trwy brocsi a ddewiswch.

Mae tunnel.httpsOverHttp yn sefydlu'r llwybr HTTPS trwy'r procsi HTTP. Mae proxy: false yn atal yr SDK rhag cymhwyso ffurfwedd procsi adeiledig arall ar ben yr asiant cyfaddas hwnnw.

Os gwnaethoch ddarparu'r gosodiadau hyn i assistant yn unig o'r blaen, y dilysydd yw'r lle coll i'w archwilio. Mae gan ddilysu sylfaenol a thocyn bearer a gyhoeddwyd eisoes gylchoedd bywyd gwahanol ar gyfer cael tocyn, felly mae'r llwybr IAM ychwanegol hwn yn berthnasol i'r dilysydd rhwydwaith a ddefnyddir yma.

Erthyglau cysylltiedig