

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Step Functions 建立和管理Amazon EMR Serverless應用程式
<a name="connect-emr-serverless"></a>

了解如何使用 Step Functions 在 EMR Serverless 上建立、啟動、停止和刪除應用程式。此頁面列出支援的 APIs並提供範例`Task`狀態來執行常見使用案例。

若要了解如何在 Step Functions 中整合 AWS服務，請參閱 [整合 服務](integrate-services.md)和 [在 Step Functions 中將參數傳遞至服務 API](connect-parameters.md)。

**Optimized EMR Serverless整合的主要功能**  
 Optimized EMR Serverless服務整合具有一組自訂 [APIs](#connect-emr-serverless-custom-apis)，可包裝基礎 EMR Serverless APIs。由於此自訂，最佳化EMR Serverless整合與 AWSSDK 服務整合有很大的差異。
此外，最佳化EMR Serverless整合支援[執行任務 (.sync)](connect-to-resource.md#connect-sync)整合模式。
**不支援**[使用任務字符等待回呼](connect-to-resource.md#connect-wait-token)整合模式。

## EMR Serverless 服務整合 APIs
<a name="connect-emr-serverless-custom-apis"></a>

若要AWS Step Functions與 整合EMR Serverless，您可以使用下列六個EMR Serverless服務整合 APIs。這些服務整合 APIs類似於對應的 EMR Serverless APIs，其中傳遞的欄位和傳回的回應有一些差異。

下表說明每個EMR Serverless服務整合 API 與其對應 EMR Serverless API 之間的差異。


| EMR Serverless 服務整合 API | 對應的 EMR Serverless API | 差異 | 
| --- | --- | --- | 
|  *createApplication* 建立應用程式。 EMR Serverless 會連結至稱為服務連結IAM角色的唯一角色類型。為了讓 `createApplication` 和 `createApplication.sync` 運作，您必須設定必要的許可來建立服務連結角色 `AWSServiceRoleForAmazonEMRServerless`。如需詳細資訊，包括您可以新增至IAM許可政策的陳述式，請參閱[使用 的服務連結角色EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-service-linked-roles.html)。  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  | 無 | 
|  *createApplication.sync* 建立應用程式。  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  |  API 和服務EMR Serverless整合 EMR Serverless API 的請求和回應之間沒有差異。不過，*createApplication.sync* 會等待應用程式達到 `CREATED` 狀態。  | 
|  *startApplication* 啟動指定的應用程式，並在設定時初始化應用程式的初始容量。  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *startApplication.sync* 啟動指定的應用程式，並在設定時初始化初始容量。  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> 此外，*startApplication.sync* 會等待應用程式達到 `STARTED` 狀態。  | 
|  *stopApplication* 停止指定的應用程式，並在設定時釋放初始容量。所有排程和執行中的任務都必須在停止應用程式之前完成或取消。  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *stopApplication.sync* 停止指定的應用程式，並在設定時釋放初始容量。所有排程和執行中的任務都必須在停止應用程式之前完成或取消。  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> 此外，*stopApplication.sync* 會等待應用程式達到 `STOPPED` 狀態。  | 
|  *deleteApplication* 刪除應用程式。應用程式必須處於 `STOPPED`或 `CREATED` 狀態，才能刪除。  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *deleteApplication.sync* 刪除應用程式。應用程式必須處於 `STOPPED`或 `CREATED` 狀態，才能刪除。  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  EMR Serverless API 回應不包含任何資料，但EMR Serverless服務整合 API 回應包含下列資料。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> 此外，*stopApplication.sync* 會等待應用程式達到 `TERMINATED` 狀態。  | 
|  *startJobRun* 啟動任務執行。  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  | 無 | 
|  *startJobRun.sync* 啟動任務執行。  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  |  API 和服務EMR Serverless整合 EMR Serverless API 的請求和回應之間沒有差異。不過，*startJobRun.sync* 會等待應用程式達到 `SUCCESS` 狀態。  | 
|  *cancelJobRun* 取消任務執行。  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  | 無 | 
|  *cancelJobRun.sync* 取消任務執行。  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  |  API 和服務EMR Serverless整合 EMR Serverless API 的請求和回應之間沒有差異。不過， *cancelJobRun.sync* 會等待應用程式達到 `CANCELLED` 狀態。  | 

## EMR Serverless 整合使用案例
<a name="connect-emr-serverless-use-cases"></a>

對於最佳化EMR Serverless服務整合，我們建議您建立單一應用程式，然後使用該應用程式來執行多個任務。例如，在單一狀態機器中，您可以包含多個 [startJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html) 請求，所有請求都使用相同的應用程式。下列[任務工作流程狀態](state-task.md)狀態範例顯示將 EMR Serverless APIs與 整合的使用案例Step Functions。如需 其他使用案例的資訊EMR Serverless，請參閱[什麼是 Amazon EMR Serverless](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html)。

**提示**  
若要部署與 整合以EMR Serverless執行多個任務的狀態機器範例；請參閱 [執行 EMR Serverless任務](sample-emr-serverless-job.md)。
+ [建立應用程式](#connect-emr-serverless-task-state-createapp)
+ [啟動應用程式](#connect-emr-serverless-task-state-startapp)
+ [停止應用程式](#connect-emr-serverless-task-state-stopapp)
+ [刪除應用程式](#connect-emr-serverless-task-state-deleteapp)
+ [在應用程式中啟動任務](#connect-emr-serverless-task-state-startjobrun)
+ [在應用程式中取消任務](#connect-emr-serverless-task-state-canceljobrun)

若要了解如何Step Functions在搭配其他 AWS服務使用 時設定IAM許可，請參閱 [Step Functions 如何為整合服務產生 IAM 政策](service-integration-iam-templates.md)。

在下列使用案例中顯示的範例中，將*斜體*文字取代為您的資源特定資訊。例如，將 *yourApplicationId* 取代為EMR Serverless應用程式的 ID，例如 `00yv7iv71inak893`。

### 建立應用程式
<a name="connect-emr-serverless-task-state-createapp"></a>

下列任務狀態範例會使用 *createApplication.sync* 服務整合 API 建立應用程式。

```
"Create_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:createApplication.sync",
    "Arguments": {
        "Name": "MyApplication",
        "ReleaseLabel": "emr-6.9.0",
        "Type": "SPARK"
    },
    "End": true
}
```

### 啟動應用程式
<a name="connect-emr-serverless-task-state-startapp"></a>

下列任務狀態範例使用 *startApplication.sync* 服務整合 API 啟動應用程式。

```
"Start_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:startApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### 停止應用程式
<a name="connect-emr-serverless-task-state-stopapp"></a>

下列任務狀態範例會使用 *stopApplication.sync* 服務整合 API 停止應用程式。

```
"Stop_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:stopApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### 刪除應用程式
<a name="connect-emr-serverless-task-state-deleteapp"></a>

下列任務狀態範例會使用 *deleteApplication.sync* 服務整合 API 刪除應用程式。

```
"Delete_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:deleteApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### 在應用程式中啟動任務
<a name="connect-emr-serverless-task-state-startjobrun"></a>

下列任務狀態範例使用 *startJobRun.sync* 服務整合 API 在應用程式中啟動任務。

```
"Start_Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId",
        "ExecutionRoleArn": "arn:aws:iam::account-id:role/myEMRServerless-execution-role",
        "JobDriver": {
            "SparkSubmit": {
                "EntryPoint": "s3://<amzn-s3-demo-bucket>/sample.py",
                "EntryPointArguments": ["1"],
                "SparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=4g --conf spark.driver.cores=2 --conf spark.driver.memory=4g --conf spark.executor.instances=1"
            }
        }
    },
    "End": true
}
```

### 在應用程式中取消任務
<a name="connect-emr-serverless-task-state-canceljobrun"></a>

下列任務狀態範例會使用 *cancelJobRun.sync* 服務整合 API 取消應用程式中的任務。

```
"Cancel_Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:cancelJobRun.sync",
    "Arguments": {
        "ApplicationId": "{% $states.input.ApplicationId %}",
        "JobRunId": "{% $states.input.JobRunId %}"
    },
    "End": true
}
```

## 用於呼叫 的 IAM 政策 Amazon EMR Serverless
<a name="emr-serverless-iam"></a>

當您使用 主控台建立狀態機器時， Step Functions會自動為您的狀態機器建立具有所需最低權限的執行角色。這些自動產生的IAM角色適用於AWS 區域您建立狀態機器的 。

下列範例範本顯示 如何根據狀態機器定義中的資源AWS Step Functions產生 IAM 政策。如需詳細資訊，請參閱[Step Functions 如何為整合服務產生 IAM 政策](service-integration-iam-templates.md)及[探索 Step Functions 中的服務整合模式](connect-to-resource.md)。

建議您在建立IAM政策時，不要在政策中包含萬用字元。作為安全最佳實務，您應該盡可能縮小政策的範圍。只有在執行時間期間不知道特定輸入參數時，才應該使用動態政策。

此外，管理員使用者在授予非管理員使用者執行角色以執行狀態機器時應小心。如果您自行建立政策，建議您在執行角色中包含 passRole 政策。我們也建議您在執行角色中新增 `aws:SourceARN`和 `aws:SourceAccount`內容金鑰。

### 與 Step Functions 整合 EMR Serverless 的 IAM 政策範例
<a name="emr-serverless-iam-policy-eg"></a>
+ [CreateApplication 的 IAM 政策範例](#emr-serverless-policy-createapp)
+ [StartApplication 的 IAM 政策範例](#emr-serverless-policy-startapp)
+ [StopApplication 的 IAM 政策範例](#emr-serverless-policy-stopapp)
+ [DeleteApplication 的 IAM 政策範例](#emr-serverless-policy-deleteapp)
+ [StartJobRun 的 IAM 政策範例](#emr-serverless-policy-startjobrun)
+ [CancelJobRun 的 IAM 政策範例](#emr-serverless-policy-canceljobrun)

#### CreateApplication 的 IAM 政策範例
<a name="emr-serverless-policy-createapp"></a>

以下是具有 CreateApplication [任務工作流程狀態](state-task.md) 狀態之狀態機器的 IAM 政策範例。

**注意**  
在帳戶中建立第一個應用程式時，您需要在 IAM 政策中指定 CreateServiceLinkedRole 許可。之後，您不需要新增此許可。如需 CreateServiceLinkedRole 的相關資訊，請參閱 https：//https://docs.aws.amazon.com/IAM/latest/APIReference/ 中的 [CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)。

下列政策的靜態和動態資源相同。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:CreateApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetApplication",
                "emr-serverless:DeleteApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"
                }
            }
        }
   ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   
   "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:CreateApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

#### StartApplication 的 IAM 政策範例
<a name="emr-serverless-policy-startapp"></a>

**靜態資源**  
以下是當您使用具有 StartApplication [任務工作流程狀態](state-task.md) 狀態的狀態機器時，靜態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication",
               "emr-serverless:GetApplication",
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動態資源**  
以下是當您使用具有 StartApplication 狀態的狀態機器時，動態資源的 IAM 政策範例[任務工作流程狀態](state-task.md)。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication",
               "emr-serverless:GetApplication",
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### StopApplication 的 IAM 政策範例
<a name="emr-serverless-policy-stopapp"></a>

**靜態資源**  
以下是當您使用具有 StopApplication 狀態的狀態機器時，靜態資源的 IAM 政策範例[任務工作流程狀態](state-task.md)。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動態資源**  
以下是當您使用具有 StopApplication 狀態的狀態機器時，動態資源的 IAM 政策範例[任務工作流程狀態](state-task.md)。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### DeleteApplication 的 IAM 政策範例
<a name="emr-serverless-policy-deleteapp"></a>

**靜態資源**  
以下是當您使用具有 DeleteApplication [任務工作流程狀態](state-task.md) 狀態的狀態機器時，靜態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動態資源**  
以下是當您使用具有 DeleteApplication 狀態的狀態機器時，動態資源的 IAM 政策範例[任務工作流程狀態](state-task.md)。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### StartJobRun 的 IAM 政策範例
<a name="emr-serverless-policy-startjobrun"></a>

**靜態資源**  
以下是當您使用具有 StartJobRun [任務工作流程狀態](state-task.md) 狀態的狀態機器時，靜態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**動態資源**  
以下是當您使用具有 StartJobRun [任務工作流程狀態](state-task.md) 狀態的狀態機器時，動態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun",
               "emr-serverless:GetJobRun",
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

#### CancelJobRun 的 IAM 政策範例
<a name="emr-serverless-policy-canceljobrun"></a>

**靜態資源**  
以下是當您使用具有 CancelJobRun [任務工作流程狀態](state-task.md) 狀態的狀態機器時，靜態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun",
               "emr-serverless:GetJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId"
            ]
        }
    ]
}
```

------

**動態資源**  
以下是當您使用具有 CancelJobRun [任務工作流程狀態](state-task.md) 狀態的狀態機器時，動態資源的 IAM 政策範例。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun",
               "emr-serverless:GetJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------