Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Programar execuções de pipeline

Modo de foco
Programar execuções de pipeline - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Você pode programar suas execuções do Amazon SageMaker Pipelines usando a Amazon. EventBridge O Amazon SageMaker Pipelines é suportado como alvo na Amazon EventBridge. Isso permite que você inicie a execução do seu pipeline de construção de modelos com base em qualquer evento em seu barramento de eventos. Com EventBridge, você pode automatizar suas execuções de pipeline e responder automaticamente a eventos, como tarefas de treinamento ou mudanças no status do endpoint. Os eventos incluem um novo arquivo sendo carregado para seu bucket do Amazon S3, uma alteração no status do seu endpoint do Amazon SageMaker AI devido à deriva e tópicos do Amazon Simple Notification Service (SNS).

As seguintes ações do Pipelines podem ser iniciadas automaticamente: 

  • StartPipelineExecution

Para obter mais informações sobre o agendamento de trabalhos de SageMaker IA, consulte Automatização da IA SageMaker com a Amazon. EventBridge

Agende um pipeline com a Amazon EventBridge

Para iniciar a execução de um pipeline com o Amazon CloudWatch Events, você deve criar uma EventBridge regra. Ao criar uma regra para eventos, você especifica uma ação de destino a ser tomada ao EventBridge receber um evento que corresponda à regra. Quando um evento corresponde à regra, EventBridge envia o evento para o destino especificado e inicia a ação definida na regra.

Os tutoriais a seguir mostram como agendar a execução de um pipeline EventBridge usando o EventBridge console ou o. AWS CLI 

Pré-requisitos

  • Uma função que EventBridge pode ser assumida com a SageMaker::StartPipelineExecution permissão. Essa função pode ser criada automaticamente se você criar uma regra no EventBridge console; caso contrário, você mesmo precisará criar essa função. Para obter informações sobre como criar uma função de SageMaker IA, consulte SageMaker Funções.

  • Um Amazon SageMaker AI Pipeline para programar. Para criar um pipeline de SageMaker IA da Amazon, consulte Definir um pipeline.

Crie uma EventBridge regra usando o EventBridge console

O procedimento a seguir mostra como criar uma EventBridge regra usando o EventBridge console. 

  1. Navegue até o console do EventBridge .

  2. Selecione Regras no lado esquerdo.

  3. Selecione Create Rule.

  4. Insira um nome e uma descrição para a regra.

  5. Selecione como deseja iniciar essa regra. Você tem as seguintes opções para sua regra:

    • Padrão de evento: sua regra é iniciada quando ocorre um evento correspondente ao padrão. Você pode escolher um padrão predefinido que corresponda a um determinado tipo de evento ou criar um padrão personalizado. Se você selecionar um padrão predefinido, poderá editar o padrão para personalizá-lo. Para obter mais informações sobre padrões de eventos, consulte Padrões de CloudWatch eventos em eventos.

    • Programação: sua regra é iniciada regularmente em uma programação especificada. Você pode usar uma programação de taxa fixa que inicia regularmente por um número específico de minutos, horas ou semanas. Você também pode usar uma expressão cron para criar uma programação mais refinada, como “a primeira segunda-feira de cada mês, às 8h”. A programação não é compatível com um barramento de eventos parceiro ou personalizado.

  6. Selecione o barramento de eventos desejado.

  7. Selecione as metas a serem invocadas quando um evento corresponder ao seu padrão de eventos ou quando a programação for iniciada. Você pode adicionar até cinco destinos por regra. Selecione SageMaker Pipeline na lista suspensa destino.

  8. Selecione o pipeline que você deseja iniciar na lista suspensa do pipeline.

  9. Adicione parâmetros para passar para a execução do pipeline usando um par de nome e valor. Os valores dos parâmetros podem ser estáticos ou dinâmicos. Para obter mais informações sobre os parâmetros do Amazon SageMaker AI Pipeline, consulte AWS::Events::Rule SagemakerPipelineParameters.

    • Valores estáticos são passados para a execução do pipeline toda vez que o pipeline é iniciado. Por exemplo, se {"Name": "Instance_type", "Value": "ml.4xlarge"} for especificado na lista de parâmetros, ele será passado como um parâmetro StartPipelineExecutionRequest sempre que EventBridge iniciar o pipeline.

    • Os valores dinâmicos são especificados usando um caminho JSON. EventBridge analisa o valor da carga útil de um evento e o passa para a execução do pipeline. Por exemplo: $.detail.param.value

  10. Selecione a função a ser usada para essa regra. Você pode usar uma função existente ou criar uma nova.

  11. (Opcional) Adicionar tag.

  12. Selecione Create para finalizar sua regra.

Sua regra agora está em vigor e pronta para iniciar suas execuções de pipeline.

Crie uma EventBridge regra usando o AWS CLI

O procedimento a seguir mostra como criar uma EventBridge regra usando AWS CLI o.

  1. Crie uma regra a ser iniciada. Ao criar uma EventBridge regra usando o AWS CLI, você tem duas opções de como sua regra é iniciada: padrão de evento e programação.

    • Padrão de evento: sua regra é iniciada quando ocorre um evento correspondente ao padrão. Você pode escolher um padrão predefinido que corresponda a um determinado tipo de evento ou criar um padrão personalizado. Se você selecionar um padrão predefinido, poderá editar o padrão para personalizá-lo.  Você pode criar uma regra com padrão de evento usando o seguinte comando:

      aws events put-rule --name <RULE_NAME> ----event-pattern <YOUR_EVENT_PATTERN> --description <RULE_DESCRIPTION> --role-arn <ROLE_TO_EXECUTE_PIPELINE> --tags <TAGS>
    • Programação: sua regra é iniciada regularmente em uma programação especificada. Você pode usar uma programação de taxa fixa que inicia regularmente por um número específico de minutos, horas ou semanas. Você também pode usar uma expressão cron para criar uma programação mais refinada, como “a primeira segunda-feira de cada mês, às 8h”. A programação não é compatível com um barramento de eventos parceiro ou personalizado. Você pode criar um cluster usando a programação com o seguinte comando:

      aws events put-rule --name <RULE_NAME> --schedule-expression <YOUR_CRON_EXPRESSION> --description <RULE_DESCRIPTION> --role-arn <ROLE_TO_EXECUTE_PIPELINE> --tags <TAGS>
  2. Adicione metas a serem invocadas quando um evento corresponder ao seu padrão de eventos ou quando a programação for iniciada. Você pode adicionar até cinco destinos por regra.  Para cada destino, você deve especificar: 

    • ARN: o ARN do recurso do seu pipeline.

    • ARN da função: o ARN da função EventBridge deve ser assumida para executar o pipeline.

    • Parâmetros: parâmetros do pipeline de SageMaker IA da Amazon a serem transmitidos.

  3. Execute o comando a seguir para passar um pipeline de SageMaker IA da Amazon como alvo para sua regra usando put-targets:

    aws events put-targets --rule <RULE_NAME> --event-bus-name <EVENT_BUS_NAME> --targets "[{\"Id\": <ID>, \"Arn\": <RESOURCE_ARN>, \"RoleArn\": <ROLE_ARN>, \"SageMakerPipelineParameter\": { \"SageMakerParameterList\": [{\"Name\": <NAME>, \"Value\": <VALUE>}]} }]"] 

Agende um pipeline com o SDK do SageMaker Python

As seções a seguir mostram como configurar permissões para acessar EventBridge recursos e criar seu cronograma de pipeline usando o SDK do SageMaker Python.

Permissões obrigatórias

Você precisa ter as permissões necessárias para usar o programador de pipeline. Conclua as seguintes etapas para configurar suas permissões:

  1. Anexe a seguinte política de privilégios mínimos à função do IAM usada para criar os acionadores do pipeline ou use a AWS política gerenciada. AmazonEventBridgeSchedulerFullAccess

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "scheduler:ListSchedules", "scheduler:GetSchedule", "scheduler:CreateSchedule", "scheduler:UpdateSchedule", "scheduler:DeleteSchedule" ], "Effect": "Allow", "Resource": [ "*" ] }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "scheduler.amazonaws.com" } } } ] }
  2. Estabeleça uma relação de confiança EventBridge adicionando o diretor de serviço scheduler.amazonaws.com à política de confiança dessa função. Certifique-se de anexar a seguinte política de confiança à função de execução se você iniciar o notebook no SageMaker Studio.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "scheduler.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Criar e programar um pipeline

Usando o construtor PipelineSchedule, você pode programar um pipeline para ser executado uma vez ou em um intervalo predeterminado. Um cronograma de pipeline deve ser do tipo at, rate ou cron. Esse conjunto de tipos de agendamento é uma extensão das opções de EventBridge agendamento. Para obter mais informações sobre como usar a PipelineSchedule classe, consulte sagemaker.workflow.triggers. PipelineSchedule. O exemplo a seguir demonstra como criar cada tipo de agendamento com PipelineSchedule.

from sagemaker.workflow.triggers import PipelineSchedule # schedules a pipeline run for 12/13/2023 at time 10:15:20 UTC my_datetime_schedule = PipelineSchedule( name="<schedule-name>", at=datetime(2023, 12, 13, 10, 15, 20) ) # schedules a pipeline run every 5 minutes my_rate_schedule = PipelineSchedule( name="<schedule-name>", rate=(5, "minutes") ) # schedules a pipeline run at 10:15am UTC on the last Friday of each month during the years 2022 to 2023 my_cron_schedule = PipelineSchedule( name="<schedule-name>", cron="15 10 ? * 6L 2022-2023" )
nota

Se você criar um agendamento único e precisar acessar a hora atual, use datetime.utcnow() em vez de datetime.now(). O último não armazena o contexto da zona atual e resulta em um tempo incorreto passado para EventBridge.

Anexar o acionador ao seu pipeline

Para anexar seu PipelineSchedule ao seu pipeline, invoque a chamada put_triggers no objeto de pipeline criado com uma lista de acionadores. Se você receber um ARN de resposta, você criou com sucesso o cronograma em sua conta e EventBridge começa a invocar o funil de destino no horário ou na taxa especificada. Você deve especificar uma função com as permissões corretas para anexar acionadores a um pipeline principal. Se você não fornecer nenhuma, o Pipelines busca a função padrão usada para criar o pipeline a partir do arquivo de configuração.

O exemplo a seguir demonstra como anexar um cronograma a um pipeline.

scheduled_pipeline = Pipeline( name="<pipeline-name>", steps=[...], sagemaker_session=<sagemaker-session>, ) custom_schedule = PipelineSchedule( name="<schedule-name>", at=datetime(year=2023, month=12, date=25, hour=10, minute=30, second=30) ) scheduled_pipeline.put_triggers(triggers=[custom_schedule], role_arn=<role>)

Descrever os acionadores atuais

Para recuperar informações sobre os acionadores do pipeline criado, você pode invocar a API describe_trigger() com o nome do acionador. Esse comando retorna detalhes sobre a expressão de agendamento criada, como horário de início, estado ativado e outras informações úteis. O trecho a seguir mostra um exemplo de invocação:

scheduled_pipeline.describe_trigger(name="<schedule-name>")

Recursos de remoção de acionador

Antes de excluir seu pipeline, limpe os acionadores existentes para evitar um vazamento de recursos em sua conta. Você deve excluir os acionadores antes de destruir o pipeline principal. Você pode excluir seus acionadores passando uma lista de nomes de acionadores para a API delete_triggers. O trecho a seguir demonstra como excluir acionadores.

pipeline.delete_triggers(trigger_names=["<schedule-name>"])
nota

Lembre-se das seguintes limitações ao excluir os acionadores:

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.