簡體   English   中英

Boto3 在一個工作流程中創建不同類型的膠水觸發器

[英]Boto3 create glue triggers with different types in one workflow

任何人都可以指導我在單個工作流程中創建多個觸發器類型的步驟,一種具有條件觸發器類型,另一種具有預定觸發器類型

到目前為止,我使用了 create_trigger function。但以上要求不確定如何解決。

任何人都可以在這里幫忙嗎?

我嘗試使用以下語法無效

response = client.create_trigger(
    Name='two_triggers',
    WorkflowName='wf_With_two_tirggers',
    Type='SCHEDULED',
    Schedule='cron(0 12 * * ? *)',
    Actions=[
        {   
            'JobName': 'abc_dev',
            'Arguments': {
                'string': 'string'
            },
            'Timeout': 123,
            'SecurityConfiguration': 'string',
            'NotificationProperty': {
                'NotifyDelayAfter': 123
            },
            'Trigger': 'string'
        },
    ],
    Type='CONDITIONAL',
    Predicate={
        'Logical': 'ANY',
        'Conditions': [
            {
                'LogicalOperator': 'EQUALS',
                'JobName': 'def_dev',
                'State': 'SUCCEEDED'
            },
        ]
    },
    Actions=[
        {
            'JobName': 'ghi_dev',
            'Arguments': {
                'string': 'string'
            },
            'Timeout': 123,
            'SecurityConfiguration': 'string',
            'NotificationProperty': {
                'NotifyDelayAfter': 123
            },
            'CrawlerName': 'string'
        },
    ],
    Description='string',
    StartOnCreation=True,
    Tags={
        'string': 'string'
    }
)

下面是努力編寫代碼的設計工作流程。 使用 boto3 嘗試使用上面的代碼進行以下設計無效

在此處輸入圖像描述

是的,我想出了一個答案。 以下是有問題的設計代碼

import boto3
import os
import logging
glue = boto3.client(service_name="glue", region_name='us-east-1')


response = glue.create_workflow(
    Name="dual_trigger_wf")

response1 = glue.create_trigger(
    Name="trigger_one_to_many",
    WorkflowName="dual_trigger_wf",
    Type="SCHEDULED",
    Schedule="cron(0 8 * * ? *)",
    Actions=[
        {
            "JobName": "abc",
            "Arguments": {"string": "string"},
            "Timeout": 123,
            "SecurityConfiguration": "string",
            "NotificationProperty": {"NotifyDelayAfter": 123},
        },
        {
            "JobName": "def",
            "Arguments": {"string": "string"},
            "Timeout": 123,
            "SecurityConfiguration": "string",
            "NotificationProperty": {"NotifyDelayAfter": 123},
        },
    ],
    Description="string",
    StartOnCreation=False,
)


response2 = glue.create_trigger(
    Name="trigger_many_to_one",
    WorkflowName="dual_trigger_wf",
    Type="CONDITIONAL",
    Predicate={
        "Logical": "AND",
        "Conditions": [
            {
                "LogicalOperator": "EQUALS",
                "JobName": "abc",
                "State": "SUCCEEDED",
            },
            {
                "LogicalOperator": "EQUALS",
                "JobName": "def",
                "State": "SUCCEEDED",
            },
        ],
    },
    Actions=[
        {
            "JobName": "ghi",
            "Arguments": {"string": "string"},
            "Timeout": 123,
            "SecurityConfiguration": "string",
            "NotificationProperty": {"NotifyDelayAfter": 123},
        }
    ],
    Description="string",
    StartOnCreation=False,
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM