Bu kılavuzda, çıkış değişkeninin nasıl oluşturulacağı açıklanmaktadır.
Çıkış değişkenleri adımlar tarafından döndürülür ve başka bir adıma gönderilebilir. Örneğin, bir e-posta adresini, e-postanın alıcısını belirtmek için kullanan başka bir adıma iletebilirsiniz.
Çıkış değişkenini iki yerde tanımlayın: eklentinin manifest dosyasında ve çıkış değişkenini döndüren bir işlev içeren kodda.
Aşağıdaki örnekte, üç giriş değişkeninden (iki sayı ve bir aritmetik işlem) hesaplanmış bir matematiksel sonuç döndürülmektedir.
Çıkış değişkenini manifest dosyasında tanımlayın
Apps Komut Dosyası manifest dosyasında bir outputs[] dizisi ve bir onExecuteFunction() belirtin.
outputs[] dizisindeki her öğe şu özelliklere sahiptir:
id: Bir çıkış değişkeninin benzersiz tanımlayıcısı.description: Son kullanıcılara gösterilecek çıkış değişkeninin açıklamasıdır.cardinality: Kaç değere izin verilir? Olası değerler:"SINGLE": Yalnızca bir değere izin verilir.
dataType: Kabul edilen değer türü.dataType, veri türünü tanımlayanbasicTypeözelliğine sahiptir. Geçerli değerler şunlardır:"STRING": Alfanümerik bir dize."INTEGER": Bir sayı."TIMESTAMP": ISO 8601 biçiminde bir zaman damgası. Örneğin, ISO 8601'de 15 Mart 2025, 2025-03-15 olarak gösterilir."BOOLEAN": Doğru veya yanlış."EMAIL_ADDRESS":dana@example.combiçiminde bir e-posta adresi.
Aşağıdaki örnekte, hesap makinesi adımı için bir çıkış değişkeni tanımlanmaktadır. Çıkış değişkeni bir tamsayıdır.
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"
}
}
]
}
}
}
Çıkış değişkenini kodda tanımlama
Adımın kodu, manifestte tanımlanan onExecuteFunction olan onExecuteCalculate() adlı bir işlev içeriyor. Kullanıcı tarafından girilen iki değer üzerinde aritmetik işlem yapar ve sonucu outputVariables() adlı bir işlevle çıktı değişkeni olarak döndürür.
Bir çıkış değişkeni döndürmek için aşağıdaki koşulları karşılayan JSON'u döndürün:
- Her çıkış değişkeninin
variableId, manifesto dosyasındaki ilgili çıkış değişkenininidile eşleşmelidir. - Çıkış değişkeninin
variableDatadeğeri, manifesto dosyasındaki ilgili çıkış değişkeninindataTypevecardinalitydeğerleriyle eşleşmelidir.
Aşağıdaki örnek, iki giriş sayısının aritmetik değeri olan bir çıkış değişkeni döndürür:
Apps Komut Dosyası
/**
* 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;
}
İlgili konular
- Giriş değişkenleri
- Dinamik değişkenler
- Etkinlikleri ve hataları günlüğe kaydetme
- Flows etkinlik nesnesi