I struggled with the same problem for a good part of a workday. You don't give any insights, but I'll post what worked for me in case it can help other people with a similar issue.
"Invalid request provided: Step[xyz]: Lambda function ARN cannot be null.
Most likely, you are not defining the property FunctionArn in your step. According to the documentation, FunctionArn is required.
I have successfully deployed a SageMaker pipeline with Lambda. My pipeline is very basic, and includes 2 steps:
Registering a model (Type: RegisterModel)
Approve model (Type: Lambda)
Step 2 depends on step 1. Concretely, I need the Model Package Arn of the model registered in step 1. Thus, in step 2 I define Arguments.
const pipelineDefinition = {
Version: '2020-12-01',
Parameters: {
...
},
Steps: [
{
Name: 'RegisterMyModel',
Type: 'RegisterModel',
Arguments: {
...
},
},
{
Name: 'ApproveMyModel',
Type: 'Lambda',
DependsOn: ['RegisterMyModel'], // Note that this must be an array
FunctionArn: myfunction.functionArn, // This is what you are potentially missing
Arguments: {
'model_package_arn': { 'Get': 'Steps.RegisterMyModel.ModelPackageArn'}
}
}
]
};
Hope this helps.