API နှင့် IAM တောင်းဆိုမှုများအတွက် Watson Node SDK proxy ဆက်တင်များ
Watson service client နှင့် ၎င်း၏ IAM authenticator အကြား tunnel agent ကို မျှဝေပါ၊ token ရယူမှု proxy ကို အသုံးပြုနိုင်ရန်။
Watson ခေါ်ဆိုမှုတစ်ခုသည် service သို့ မရောက်မီ မအောင်မြင်ပါက မအောင်မြင်သော တောင်းဆိုမှုသည် IAM token တောင်းဆိုမှု ဟုတ်မဟုတ် စစ်ဆေးပါ။ IAM ဖြင့် အတည်ပြုထားသော ခေါ်ဆိုမှုသည် IAM ကို ဦးစွာ ဆက်သွယ်ပြီး ထို့နောက် service ကို ဆက်သွယ်နိုင်သည်။
သက်ဆိုင်ရာ Watson SDK နှင့် tunnel dependency ကို အသုံးပြုနေပြီးဖြစ်သော application တွင် object နှစ်ခုလုံးအတွက် တူညီသော network ဆက်တင်များကို ပေးပါ-
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,
});application ၏ ရှိပြီးသား apiKey၊ serviceVersion နှင့် serviceUrl ကို ထိန်းသိမ်းပါ။ API နှင့် IAM endpoint များသည် ၎င်းတို့၏ ရည်ရွယ်ထားသော ဦးတည်ရာများအဖြစ် ဆက်ရှိနေပြီး proxy listener သည် agent တွင် ပါဝင်သည်။ HTTP proxy စာရင်းမှ သင်ရွေးချယ်သော proxy မှတစ်ဆင့် အများသူငှာ service endpoint နှစ်ခုလုံးသို့ ရောက်နိုင်သောအခါ ကိုယ်စားလှယ်လိပ်စာများကို ပေးနိုင်သည်။
tunnel.httpsOverHttp သည် HTTP proxy မှတစ်ဆင့် HTTPS လမ်းကြောင်းကို တည်ဆောက်သည်။ proxy: false သည် SDK အား ထို စိတ်ကြိုက် agent အပေါ် အခြား built-in proxy ဆက်တင်ကို ထပ်မံအသုံးပြုခြင်းမှ တားဆီးသည်။
အကယ်၍ ဤဆက်တင်များကို ယခင်က assistant သို့သာ ပေးခဲ့ပါက authenticator သည် စစ်ဆေးရန် လိုအပ်သော လွတ်နေသည့်နေရာ ဖြစ်သည်။ Basic authentication နှင့် ထုတ်ပေးပြီးသော bearer token တို့တွင် token ရယူမှု လည်ပတ်မှုသံသရာ မတူညီသောကြောင့် ဤအပို IAM လမ်းကြောင်းသည် ဤနေရာတွင် အသုံးပြုသော network အခြေခံ authenticator အတွက် သက်ဆိုင်သည်။