您好,我正在嘗試編排膠水爬蟲以在啟用“等待回呼”選項的情況下在我的步驟函式中運行。但是,即使爬蟲完成,step 函式也會在這一步掛起,并且不會繼續進行下一步。
這是我的步驟函式的 json 定義檔案
{
"Comment": "A description of my state machine",
"StartAt": "StartCrawler",
"States": {
"StartCrawler": {
"Type": "Task",
"Next": "Glue StartJobRun",
"Parameters": {
"Name": "farmlands-raw-crawler-sam"
},
"Resource": "arn:aws:states:::aws-sdk:glue:startCrawler.waitForTaskToken"
},
"Glue StartJobRun": {
"Type": "Task",
"Resource": "arn:aws:states:::glue:startJobRun.sync",
"Parameters": {
"JobName": "fetch-from-azure-etl-sam"
},
"End": true
}
}
}
這是我正在使用的步驟函式角色(使用 sam 部署)
# Role used to invoke step functions
StepFunctionRole:
Type: AWS::IAM::Role
Properties:
RoleName: !Sub "StepFunctionRole"
Description: "IAM role for step functions"
AssumeRolePolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Principal:
Service:
- states.amazonaws.com
- lambda.amazonaws.com
Action:
- sts:AssumeRole
Policies:
- PolicyName: root
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- "lambda:InvokeFunction"
- "sns:Publish"
- "events:PutTargets"
- "events:PutRule"
- "events:DescribeRule"
- "iam:GetRole"
- "iam:PassRole"
- "states:*"
- "databrew:*"
- "athena:*"
- "glue:*"
- "logs:*"
- "s3:*"
- "sagemaker:*"
Resource:
- "*"
請注意我是如何授予所有粘合權限“glue:*”的,所以我不確定為什么步驟函式會在爬蟲步驟掛起。我在這里也遵循了完全相同的步驟AWS Step Function 卡在了一個狀態但是 OP 在膠水作業而不是膠水爬蟲方面有問題
uj5u.com熱心網友回復:
回呼不提供爬蟲的狀態。您需要實作此功能,該功能可以輪詢爬蟲的狀態,并在運行后處于“SUCCEEDED”狀態時繼續執行步進功能。
您可以在此處閱讀有關如何執行此操作的資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/537790.html
