Use DescribePipelineExecution with an AWS SDK (original) (raw)
The following code examples show how to use DescribePipelineExecution
.
Action examples are code excerpts from larger programs and must be run in context. You can see this action in context in the following code example:
.NET
SDK for .NET
/// <summary>
/// Check the status of a run.
/// </summary>
/// <param name="pipelineExecutionArn">The ARN.</param>
/// <returns>The status of the pipeline.</returns>
public async Task<PipelineExecutionStatus> CheckPipelineExecutionStatus(string pipelineExecutionArn)
{
var describeResponse = await _amazonSageMaker.DescribePipelineExecutionAsync(
new DescribePipelineExecutionRequest()
{
PipelineExecutionArn = pipelineExecutionArn
});
return describeResponse.PipelineExecutionStatus;
}
- For API details, seeDescribePipelineExecution in AWS SDK for .NET API Reference.
Java
SDK for Java 2.x
// Check the status of a pipeline execution.
public static void waitForPipelineExecution(SageMakerClient sageMakerClient, String executionArn)
throws InterruptedException {
String status;
int index = 0;
do {
DescribePipelineExecutionRequest pipelineExecutionRequest = DescribePipelineExecutionRequest.builder()
.pipelineExecutionArn(executionArn)
.build();
DescribePipelineExecutionResponse response = sageMakerClient
.describePipelineExecution(pipelineExecutionRequest);
status = response.pipelineExecutionStatusAsString();
System.out.println(index + ". The Status of the pipeline is " + status);
TimeUnit.SECONDS.sleep(4);
index++;
} while ("Executing".equals(status));
System.out.println("Pipeline finished with status " + status);
}
- For API details, seeDescribePipelineExecution in AWS SDK for Java 2.x API Reference.
JavaScript
SDK for JavaScript (v3)
Wait for a SageMaker AI pipeline execution to succeed, fail, or stop.
/**
* Poll the executing pipeline until the status is 'SUCCEEDED', 'STOPPED', or 'FAILED'.
* @param {{ arn: string, sagemakerClient: import('@aws-sdk/client-sagemaker').SageMakerClient, wait: (ms: number) => Promise<void>}} props
*/
export async function waitForPipelineComplete({ arn, sagemakerClient, wait }) {
const command = new DescribePipelineExecutionCommand({
PipelineExecutionArn: arn,
});
let complete = false;
const intervalInSeconds = 15;
const COMPLETION_STATUSES = [
PipelineExecutionStatus.FAILED,
PipelineExecutionStatus.STOPPED,
PipelineExecutionStatus.SUCCEEDED,
];
do {
const { PipelineExecutionStatus: status, FailureReason } =
await sagemakerClient.send(command);
complete = COMPLETION_STATUSES.includes(status);
if (!complete) {
console.log(
`Pipeline is <span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi>s</mi><mi>t</mi><mi>a</mi><mi>t</mi><mi>u</mi><mi>s</mi></mrow><mi mathvariant="normal">.</mi><mi>W</mi><mi>a</mi><mi>i</mi><mi>t</mi><mi>i</mi><mi>n</mi><mi>g</mi></mrow><annotation encoding="application/x-tex">{status}. Waiting </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"></span><span class="mord"><span class="mord mathnormal">s</span><span class="mord mathnormal">t</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">u</span><span class="mord mathnormal">s</span></span><span class="mord">.</span><span class="mord mathnormal">Wai</span><span class="mord mathnormal">t</span><span class="mord mathnormal">in</span><span class="mord mathnormal" style="margin-right:0.03588em;">g</span></span></span></span>{intervalInSeconds} seconds before checking again.`,
);
await wait(intervalInSeconds);
} else if (status === PipelineExecutionStatus.FAILED) {
throw new Error(`Pipeline failed because: ${FailureReason}`);
} else if (status === PipelineExecutionStatus.STOPPED) {
throw new Error("Pipeline was forcefully stopped.");
} else {
console.log(`Pipeline execution ${status}.`);
}
} while (!complete);
}
- For API details, seeDescribePipelineExecution in AWS SDK for JavaScript API Reference.
Kotlin
SDK for Kotlin
suspend fun waitForPipelineExecution(executionArn: String?) {
var status: String
var index = 0
do {
val pipelineExecutionRequest = DescribePipelineExecutionRequest {
pipelineExecutionArn = executionArn
}
SageMakerClient { region = "us-west-2" }.use { sageMakerClient ->
val response = sageMakerClient.describePipelineExecution(pipelineExecutionRequest)
status = response.pipelineExecutionStatus.toString()
println("$index. The status of the pipeline is $status")
TimeUnit.SECONDS.sleep(4)
index++
}
} while ("Executing" == status)
println("Pipeline finished with status $status")
}
- For API details, seeDescribePipelineExecution in AWS SDK for Kotlin API reference.
DeletePipeline
DescribeTrainingJob
Did this page help you? - Yes
Thanks for letting us know we're doing a good job!
If you've got a moment, please tell us what we did right so we can do more of it.
Did this page help you? - No
Thanks for letting us know this page needs work. We're sorry we let you down.
If you've got a moment, please tell us how we can make the documentation better.