API અને IAM વિનંતીઓ માટે Watson Node SDK પ્રોક્સી સેટિંગ્સ
Watson સેવા ક્લાયન્ટ અને તેના IAM પ્રમાણકર્તા વચ્ચે ટનલ એજન્ટ શેર કરો જેથી ટોકન મેળવવું પ્રોક્સીનો ઉપયોગ કરી શકે.
જ્યારે Watson કૉલ સેવા સુધી પહોંચતા પહેલાં નિષ્ફળ જાય, ત્યારે તપાસો કે નિષ્ફળ વિનંતી IAM ટોકન વિનંતી છે કે નહીં. IAM-પ્રમાણિત કૉલ પહેલાં IAM અને પછી સેવાનો સંપર્ક કરી શકે છે.
પહેલેથી સંબંધિત Watson SDK અને tunnel નિર્ભરતા વાપરતી એપ્લિકેશનમાં, બંને ઑબ્જેક્ટને સમાન નેટવર્ક સેટિંગ્સ આપો:
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,
});એપ્લિકેશનના હાલના apiKey, serviceVersion અને serviceUrl રાખો. API અને IAM એન્ડપૉઇન્ટ તેમનાં ઇચ્છિત ગંતવ્યો રહે છે; પ્રોક્સી શ્રોતા એજન્ટમાં રહે છે. HTTP પ્રોક્સી સૂચિ ઉમેદવાર સરનામાં પૂરાં પાડી શકે છે જ્યારે બંને જાહેર સેવા એન્ડપૉઇન્ટ તમે પસંદ કરેલા પ્રોક્સી દ્વારા પહોંચી શકાય તેવા હોય.
tunnel.httpsOverHttp HTTP પ્રોક્સી દ્વારા HTTPS માર્ગ સ્થાપે છે. proxy: false SDK ને તે કસ્ટમ એજન્ટ ઉપર બીજું અંતર્નિર્મિત પ્રોક્સી રૂપરેખાંકન લાગુ કરતું અટકાવે છે.
જો તમે પહેલાં આ સેટિંગ્સ ફક્ત assistant ને આપી હોય, તો પ્રમાણકર્તા એ ચકાસવાનું ખૂટતું સ્થાન છે. મૂળભૂત પ્રમાણીકરણ અને પહેલેથી જારી કરાયેલ bearer ટોકનના ટોકન મેળવવાના જીવનચક્ર અલગ છે, તેથી આ વધારાનો IAM માર્ગ અહીં વપરાતા નેટવર્ક-આધારિત પ્રમાણકર્તાને લાગુ પડે છે.