

# 使用 AWS CLI 的 AWS IoT Jobs SDK 发布 示例
<a name="cli_iot-jobs-data-plane_code_examples"></a>

以下代码示例演示如何通过将 AWS Command Line Interface与 AWS IoT Jobs SDK 发布 结合使用，来执行操作和实现常见场景。

*操作是大型程序的代码摘录*，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

每个示例都包含一个指向完整源代码的链接，您可以从中找到有关如何在上下文中设置和运行代码的说明。

**Topics**
+ [操作](#actions)

## 操作
<a name="actions"></a>

### `describe-job-execution`
<a name="iot-jobs-data-plane_DescribeJobExecution_cli_topic"></a>

以下代码示例演示了如何使用 `describe-job-execution`。

**AWS CLI**  
**获取作业执行的详细信息**  
以下 `describe-job-execution` 示例检索指定作业和事物最后一次执行的详细信息。  

```
aws iot-jobs-data describe-job-execution \
    --job-id SampleJob \
    --thing-name MotionSensor1 \
    --endpoint-url https://1234567890abcd.jobs.iot.us-west-2.amazonaws.com
```
输出：  

```
{
    "execution": {
        "approximateSecondsBeforeTimedOut": 88,
        "executionNumber": 2939653338,
        "jobId": "SampleJob",
        "lastUpdatedAt": 1567701875.743,
        "queuedAt": 1567701902.444,
        "status": "QUEUED",
        "thingName": "MotionSensor1 ",
        "versionNumber": 3
   }
}
```
有关更多信息，请参阅《AWS IoT 开发人员指南》**中的[设备和作业](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-devices.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [DescribeJobExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot-jobs-data/describe-job-execution.html)。

### `get-pending-job-executions`
<a name="iot-jobs-data-plane_GetPendingJobExecutions_cli_topic"></a>

以下代码示例演示了如何使用 `get-pending-job-executions`。

**AWS CLI**  
**获取一个事物未处于终止状态的所有作业列表**  
以下 `get-pending-job-executions` 示例显示指定事物未处于终止状态的所有作业列表。  

```
aws iot-jobs-data get-pending-job-executions \
    --thing-name MotionSensor1
    --endpoint-url https://1234567890abcd.jobs.iot.us-west-2.amazonaws.com
```
输出：  

```
{
    "inProgressJobs": [
    ],
    "queuedJobs": [
        {
            "executionNumber": 2939653338,
            "jobId": "SampleJob",
            "lastUpdatedAt": 1567701875.743,
            "queuedAt": 1567701902.444,
            "versionNumber": 3
      }
    ]
}
```
有关更多信息，请参阅《AWS IoT 开发人员指南》**中的[设备和作业](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-devices.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [GetPendingJobExecutions](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot-jobs-data/get-pending-job-executions.html)。

### `start-next-pending-job-execution`
<a name="iot-jobs-data-plane_StartNextPendingJobExecution_cli_topic"></a>

以下代码示例演示了如何使用 `start-next-pending-job-execution`。

**AWS CLI**  
**获取并启动事物的下一个待处理作业执行**  
以下 `start-next-pending-job-execution` 示例检索并启动指定事物的下一个状态为 IN\$1PROGRESS 或 QUEUED 的作业执行。  

```
aws iot-jobs-data start-next-pending-job-execution \
    --thing-name MotionSensor1
    --endpoint-url https://1234567890abcd.jobs.iot.us-west-2.amazonaws.com
```
输出：  

```
{
    "execution": {
        "approximateSecondsBeforeTimedOut": 88,
        "executionNumber": 2939653338,
        "jobId": "SampleJob",
        "lastUpdatedAt": 1567714853.743,
        "queuedAt": 1567701902.444,
        "startedAt": 1567714871.690,
        "status": "IN_PROGRESS",
        "thingName": "MotionSensor1 ",
        "versionNumber": 3
   }
}
```
有关更多信息，请参阅《AWS IoT 开发人员指南》**中的[设备和作业](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-devices.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [StartNextPendingJobExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot-jobs-data/start-next-pending-job-execution.html)。

### `update-job-execution`
<a name="iot-jobs-data-plane_UpdateJobExecution_cli_topic"></a>

以下代码示例演示了如何使用 `update-job-execution`。

**AWS CLI**  
**更新作业执行的状态**  
以下 `update-job-execution` 示例更新指定作业和事物的状态。  

```
aws iot-jobs-data update-job-execution \
    --job-id SampleJob \
    --thing-name MotionSensor1 \
    --status REMOVED \
    --endpoint-url https://1234567890abcd.jobs.iot.us-west-2.amazonaws.com
```
输出：  

```
{
    "executionState": {
        "status": "REMOVED",
        "versionNumber": 3
    },
}
```
有关更多信息，请参阅《AWS IoT 开发人员指南》**中的[设备和作业](https://docs.aws.amazon.com/iot/latest/developerguide/jobs-devices.html)。  
+  有关 API 详细信息，请参阅《AWS CLI 命令参考》**中的 [UpdateJobExecution](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot-jobs-data/update-job-execution.html)。