এই নির্দেশিকাটি ব্যাখ্যা করে কিভাবে একটি আউটপুট ভেরিয়েবল তৈরি করতে হয়।
আউটপুট ভেরিয়েবলগুলি ধাপে ধাপে ফেরত পাঠানো হয় এবং অন্য ধাপে পাঠানো যেতে পারে। উদাহরণস্বরূপ, একটি ইমেল ঠিকানা অন্য ধাপে প্রেরণ করুন যা এটি ব্যবহার করে একটি ইমেলের প্রাপক নির্দিষ্ট করে।
আউটপুট ভেরিয়েবল দুটি জায়গায় সংজ্ঞায়িত করুন: অ্যাড-অনের ম্যানিফেস্ট ফাইল, এবং কোডে যেখানে এমন একটি ফাংশন আছে যা আউটপুট ভেরিয়েবল ফেরত দেয়।
নিম্নলিখিত উদাহরণটি তিনটি ইনপুট ভেরিয়েবল থেকে একটি গণনা করা গাণিতিক ফলাফল প্রদান করে: দুটি সংখ্যা এবং একটি গাণিতিক ক্রিয়াকলাপ।
ম্যানিফেস্ট ফাইলে আউটপুট ভেরিয়েবল নির্ধারণ করুন
অ্যাপস স্ক্রিপ্ট ম্যানিফেস্ট ফাইলে, একটি outputs[] অ্যারে এবং একটি onExecuteFunction() উল্লেখ করুন।
outputs[] অ্যারের প্রতিটি আইটেমের নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
-
id: একটি আউটপুট ভেরিয়েবলের জন্য অনন্য শনাক্তকারী। -
description: শেষ ব্যবহারকারীদের দেখানোর জন্য আউটপুট ভেরিয়েবলের একটি বিবরণ। -
cardinality: কতগুলি মান অনুমোদিত। সম্ভাব্য মানগুলি হল:-
"SINGLE": শুধুমাত্র একটি মান অনুমোদিত।
-
-
dataType: গৃহীত মানের ধরণ।dataTypebasicTypeবৈশিষ্ট্য থাকে যা ডেটার ধরণ নির্ধারণ করে। বৈধ মানগুলির মধ্যে রয়েছে:-
"STRING": একটি বর্ণসাংখ্যিক স্ট্রিং। -
"INTEGER": একটি সংখ্যা। -
"TIMESTAMP": ISO 8601 ফর্ম্যাটে একটি টাইমস্ট্যাম্প। উদাহরণস্বরূপ, ISO 8601-এ, ১৫ মার্চ, ২০২৫ কে ২০২৫-০৩-১৫ হিসাবে উপস্থাপন করা হয়েছে। -
"BOOLEAN": হয় সত্য অথবা মিথ্যা। -
"EMAIL_ADDRESS":dana@example.comফর্ম্যাটে একটি ইমেল ঠিকানা।
-
নিম্নলিখিত উদাহরণটি একটি ক্যালকুলেটর ধাপের জন্য একটি আউটপুট ভেরিয়েবলকে সংজ্ঞায়িত করে। আউটপুট ভেরিয়েবলটি একটি পূর্ণসংখ্যা।
JSON সম্পর্কে
{
"timeZone": "America/Los_Angeles",
"exceptionLogging": "STACKDRIVER",
"runtimeVersion": "V8",
"addOns": {
"common": {
"name": "Calculator",
"logoUrl": "https://www.gstatic.com/images/branding/productlogos/calculator_search/v1/web-24dp/logo_calculator_search_color_1x_web_24dp.png",
"useLocaleFromApp": true
},
"flows": {
"workflowElements": [
{
"id": "actionElement",
"state": "ACTIVE",
"name": "Calculate",
"description": "Asks the user for two values and a math operation, then performs the math operation on the values and outputs the result.",
"workflowAction": {
"inputs": [
{
"id": "value1",
"description": "value1",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "value2",
"description": "value2",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
},
{
"id": "operation",
"description": "operation",
"cardinality": "SINGLE",
"dataType": {
"basicType": "STRING"
}
}
],
"outputs": [
{
"id": "result",
"description": "Calculated result",
"cardinality": "SINGLE",
"dataType": {
"basicType": "INTEGER"
}
}
],
"onConfigFunction": "onConfigCalculate",
"onExecuteFunction": "onExecuteCalculate"
}
}
]
}
}
}
কোডে আউটপুট ভেরিয়েবল সংজ্ঞায়িত করুন
ধাপের কোডটিতে onExecuteCalculate() নামক একটি ফাংশন রয়েছে, যা ম্যানিফেস্টে সংজ্ঞায়িত onExecuteFunction । এটি দুটি ব্যবহারকারী-ইনপুট করা মানের উপর গাণিতিক কাজ করে এবং outputVariables() নামক একটি ফাংশন সহ একটি আউটপুট ভেরিয়েবল হিসাবে ফলাফল প্রদান করে।
একটি আউটপুট ভেরিয়েবল ফেরত দিতে, নিম্নলিখিত প্রয়োজনীয়তাগুলি সহ JSON ফেরত দিন:
- প্রতিটি আউটপুট ভেরিয়েবলের
variableIdঅবশ্যই ম্যানিফেস্ট ফাইলে থাকা সংশ্লিষ্ট আউটপুট ভেরিয়েবলেরidএর সাথে মিলবে। - আউটপুট ভেরিয়েবলের
variableDataঅবশ্যই ম্যানিফেস্ট ফাইলের সংশ্লিষ্ট আউটপুট ভেরিয়েবলেরdataTypeএবংcardinalityএর সাথে মিলবে।
নিম্নলিখিত উদাহরণটি একটি আউটপুট ভেরিয়েবল প্রদান করে যা দুটি ইনপুট সংখ্যার গাণিতিক মান:
অ্যাপস স্ক্রিপ্ট
/**
* Executes the calculation step based on the inputs from a flow event.
*
* This function retrieves input values and the operation from the flow event,
* performs the calculation, and returns the result as an output variable.
* The function logs the event for debugging purposes.
*/
function onExecuteCalculateFunction(event) {
console.log("output: " + JSON.stringify(event));
var calculatedValue = 0;
var value1 = event.workflow.actionInvocation.inputs["value1"];
var value2 = event.workflow.actionInvocation.inputs["value2"];
var operation = event.workflow.actionInvocation.inputs["operation"].stringValues[0];
if (operation == "+") {
calculatedValue = value1 + value2;
} else if (operation == "-") {
calculatedValue = value1 - value2;
} else if (operation == "x") {
calculatedValue = value1 * value2;
} else if (operation == "/") {
calculatedValue = value1 / value2;
}
var renderAction = {
"hostAppAction" : {
"workflowAction" : {
"returnOutputVariablesAction" : {
"variableValues" : [
{
"variableId": "result",
"integerValues": [
calculatedValue
]
}
]
}
}
}
};
console.log("renderAction: " + JSON.stringify(renderAction));
return renderAction;
}