Nano Hash - криптовалюты, майнинг, программирование

Конфигурация Amazon SNS для успешной и неудачной передачи данных

Я использую Amazon data pipeline для автоматизации некоторых shell действий. Который будет работать один раз в день. Итак, я настраивал amazon SNS, чтобы сообщить мне, был ли последний запуск активности shell успешным или неудачным. Если не удалось, напишите мне причину сбоя.

Итак, я смог настроить SNS для отправки мне почты. Но как мне настроить часть сообщения SNS, чтобы в случае сбоя она отправляла мне точную ошибку? Так же, в случае успеха пришлите мне статус SUCCESS.


Ответы:


1

Вы можете попробовать ссылки на узлы для ссылки на объект, для которого добавлено действие http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-pipeline-expressions.html показывает, как это сделать.

15.11.2013

2

Хорошо, это мой рабочий Dynamo -> импорт S3. https://gist.github.com/osvadimos/2954ce4c0f7fc249594c999822e639f2

Что касается вашего вопроса. Сначала вам нужно создать объект Fail/Success.

public static PipelineObject getSNSFailActivity() {
    String name = "FailureNotify";
    String id = "FailureNotify";

    Field type = new Field()
            .withKey("type")
            .withStringValue("SnsAlarm");

    Field topicArn = new Field()
            .withKey("topicArn")
            .withStringValue("#{myTopicFail}");

    Field role = new Field()
            .withKey("role")
            .withStringValue("DataPipelineDefaultRole");

    Field subject = new Field()
            .withKey("subject")
            .withStringValue("FAIL: #{node.@scheduledStartTime}");

    Field message = new Field()
            .withKey("message")
            .withStringValue("#{myDDBTableName}");


    List<Field> fieldsList = Lists.newArrayList(type,
            role,
            topicArn,
            subject,
            message);

    return new PipelineObject()
            .withName(name)
            .withId(id)
            .withFields(fieldsList);
}

Вы должны добавить ссылку на объект Fail/Success в свой объект S3BackupLocation.

public static PipelineObject getS3BackupLocation() {
    String name = "S3BackupLocation";
    String id = "S3BackupLocation";

    Field type = new Field()
            .withKey("type")
            .withStringValue("S3DataNode");
    Field directoryPath = new Field()
            .withKey("directoryPath")
            .withStringValue("#{myOutputS3Location}#{format(@scheduledStartTime, 'YYYY-MM-dd-HH-mm-ss')}");
    Field onFail = new Field()
            .withKey("onFail")
            .withRefValue("FailureNotify");
    Field onSuccess = new Field()
            .withKey("onSuccess")
            .withRefValue("SuccessNotify");

    List<Field> fieldsList = Lists.newArrayList(type,
            directoryPath,
            onFail,
            onSuccess);

    return new PipelineObject()
            .withName(name)
            .withId(id)
            .withFields(fieldsList);
}
03.08.2016
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..