

• La AWS Systems Manager CloudWatch dashboard non sarà più disponibile dopo il 30 aprile 2026. I clienti possono continuare a utilizzare la CloudWatch console Amazon per visualizzare, creare e gestire le proprie CloudWatch dashboard Amazon, proprio come fanno oggi. Per ulteriori informazioni, consulta la [documentazione di Amazon CloudWatch Dashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configurazione di input e output per le tue operazioni
<a name="visual-designer-action-inputs-outputs"></a>

Ogni operazione di automazione risponde in base all'input che riceve. Nella maggior parte dei casi, si passa quindi l'output alle operazioni successive. Nell'esperienza di progettazione visiva, puoi configurare i dati di input e output di un'azione nelle schede **Input** e **Output** del riquadro **Modulo**.

Per informazioni dettagliate su come definire e usare l'output per le operazioni di automazione, consulta [Utilizzo degli output delle operazioni come input](automation-action-outputs-inputs.md). 

## Specifica dei dati di input per un'operazione
<a name="providing-input"></a>

Ogni operazione di automazione ha uno o più input per i quali è necessario fornire un valore. Il valore fornito per l'input di un'azione è determinato dal tipo e dal formato di dati accettati dall'azione. Ad esempio, le operazioni `aws:sleep` richiedono un valore di stringa in formato ISO 8601 per l'input `Duration`.

In genere, si utilizzano operazioni nel flusso di lavoro del runbook che restituiscono l'output che si desidera utilizzare nelle operazioni successive. È importante assicurarsi che i valori di input siano corretti per evitare errori nel flusso di lavoro del runbook. I valori di input sono importanti anche perché determinano se l'azione restituisce l'output previsto. Ad esempio, quando si utilizza l'operazione `aws:executeAwsApi`, è necessario assicurarsi di fornire il valore giusto per il funzionamento dell'API.

## Definizione dei dati di output per un'azione
<a name="defining-output"></a>

Alcune operazioni di automazione restituiscono l'output dopo aver eseguito le operazioni definite. Le operazioni che restituiscono un output hanno output predefiniti o consentono di definire gli output autonomamente. Ad esempio, l'operazione `aws:createImage` ha output predefiniti che restituiscono un `ImageId` e `ImageState`. Comparativamente, con l'operazione `aws:executeAwsApi` è possibile definire gli output desiderati dall'operazione API specificata. Di conseguenza, è possibile restituire uno o più valori da una singola operazione API da utilizzare nelle azioni successive.

Per definire i propri output per un'operazione di automazione è necessario specificare un nome dell'output, il tipo di dati e il valore dell'output. Per continuare a utilizzare l'operazione `aws:executeAwsApi` come esempio, supponiamo che tu stia chiamando l'operazione API `DescribeInstances` da Amazon EC2. In questo esempio, vuoi restituire, o emettere, lo `State` di un'istanza Amazon EC2 e ramificare il flusso di lavoro del runbook in base all'output. Scegli di assegnare un nome all'output **InstanceState** e utilizza il tipo di dati **String**. 

Il processo per definire il valore effettivo dell'output varia a seconda dell'azione. Ad esempio, se si utilizza l'operazione `aws:executeScript`, è necessario utilizzare le istruzioni `return` nelle funzioni per fornire i dati agli output. Con altre operazioni come `aws:executeAwsApi`, `aws:waitForAwsResourceProperty` e `aws:assertAwsResourceProperty`, è necessario un `Selector`. Il `Selector`, o `PropertySelector` come definito da alcune operazioni, è una stringa JSONPath utilizzata per elaborare la risposta JSON da un'operazione API. È importante capire com'è strutturato l'oggetto di risposta JSON di un'operazione API in modo da poter selezionare il valore corretto per l'output. Utilizzando l'operazione API `DescribeInstances` menzionata in precedenza, vedi il seguente esempio di risposta JSON:

```
{
  "reservationSet": {
    "item": {
      "reservationId": "r-1234567890abcdef0",
      "ownerId": 123456789012,
      "groupSet": "",
      "instancesSet": {
        "item": {
          "instanceId": "i-1234567890abcdef0",
          "imageId": "ami-bff32ccc",
          "instanceState": {
            "code": 16,
            "name": "running"
          },
          "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
          "dnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
          "reason": "",
          "keyName": "my_keypair",
          "amiLaunchIndex": 0,
          "productCodes": "",
          "instanceType": "t2.micro",
          "launchTime": "2018-05-08T16:46:19.000Z",
          "placement": {
            "availabilityZone": "eu-west-1c",
            "groupName": "",
            "tenancy": "default"
          },
          "monitoring": {
            "state": "disabled"
          },
          "subnetId": "subnet-56f5f000",
          "vpcId": "vpc-11112222",
          "privateIpAddress": "192.168.1.88",
          "ipAddress": "54.194.252.215",
          "sourceDestCheck": true,
          "groupSet": {
            "item": {
              "groupId": "sg-e4076000",
              "groupName": "SecurityGroup1"
            }
          },
          "architecture": "x86_64",
          "rootDeviceType": "ebs",
          "rootDeviceName": "/dev/xvda",
          "blockDeviceMapping": {
            "item": {
              "deviceName": "/dev/xvda",
              "ebs": {
                "volumeId": "vol-1234567890abcdef0",
                "status": "attached",
                "attachTime": "2015-12-22T10:44:09.000Z",
                "deleteOnTermination": true
              }
            }
          },
          "virtualizationType": "hvm",
          "clientToken": "xMcwG14507example",
          "tagSet": {
            "item": {
              "key": "Name",
              "value": "Server_1"
            }
          },
          "hypervisor": "xen",
          "networkInterfaceSet": {
            "item": {
              "networkInterfaceId": "eni-551ba000",
              "subnetId": "subnet-56f5f000",
              "vpcId": "vpc-11112222",
              "description": "Primary network interface",
              "ownerId": 123456789012,
              "status": "in-use",
              "macAddress": "02:dd:2c:5e:01:69",
              "privateIpAddress": "192.168.1.88",
              "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
              "sourceDestCheck": true,
              "groupSet": {
                "item": {
                  "groupId": "sg-e4076000",
                  "groupName": "SecurityGroup1"
                }
              },
              "attachment": {
                "attachmentId": "eni-attach-39697adc",
                "deviceIndex": 0,
                "status": "attached",
                "attachTime": "2018-05-08T16:46:19.000Z",
                "deleteOnTermination": true
              },
              "association": {
                "publicIp": "54.194.252.215",
                "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                "ipOwnerId": "amazon"
              },
              "privateIpAddressesSet": {
                "item": {
                  "privateIpAddress": "192.168.1.88",
                  "privateDnsName": "ip-192-168-1-88.eu-west-1.compute.internal",
                  "primary": true,
                  "association": {
                    "publicIp": "54.194.252.215",
                    "publicDnsName": "ec2-54-194-252-215.eu-west-1.compute.amazonaws.com",
                    "ipOwnerId": "amazon"
                  }
                }
              },
              "ipv6AddressesSet": {
                "item": {
                  "ipv6Address": "2001:db8:1234:1a2b::123"
                }
              }
            }
          },
          "iamInstanceProfile": {
            "arn": "arn:aws:iam::123456789012:instance-profile/AdminRole",
            "id": "ABCAJEDNCAA64SSD123AB"
          },
          "ebsOptimized": false,
          "cpuOptions": {
            "coreCount": 1,
            "threadsPerCore": 1
          }
        }
      }
    }
  }
}
```

Nell'oggetto di risposta JSON, l'istanza `State` è nidificata in un oggetto `Instances`, che è nidificato nell'oggetto `Reservations`. Per restituire il valore dell'istanza `State`, usa la seguente stringa per il `Selector` in modo che il valore possa essere utilizzato nel nostro output: **$.Reservations[0].Instances[0].State.Name**.

Per fare riferimento a un valore di output nelle operazioni successive del flusso di lavoro del runbook, viene utilizzato il seguente formato: `{{ {{StepName}}.{{NameOfOutput}} }}`. Ad esempio, **{{ GetInstanceState.InstanceState }}**. Nell'esperienza di progettazione visiva, puoi scegliere i valori di output da utilizzare nelle operazioni successive utilizzando il menu a discesa per l'input. Quando si utilizzano gli output in operazioni successive, il tipo di dati dell'output deve corrispondere al tipo di dati per l'input. In questo esempio, l'output `InstanceState` è una `String`. Pertanto, per utilizzare il valore nell'input di un'azione successiva, l'input deve accettare un `String`.