Как развернуть файлы из экземпляра s3 в ec2 на основе события S3 - PullRequest
0 голосов
/ 22 мая 2019

На самом деле я работаю над конвейером.Так что у меня есть сценарий, где я помещаю некоторые артефакты в s3.Теперь я написал сценарий оболочки, который загружает папку и копирует каждый файл в нужное место на сервере wildfly (экземпляр Ec2).

#!/bin/bash

mkdir /home/ec2-user/test-temp
cd /home/ec2-user/test-temp
aws s3 cp s3://deploy-artifacts/test-APP test-APP --recursive --region us-east-1
aws s3 cp s3://deploy-artifacts/test-COMMON test-COMMON --recursive --region us-east-1
cd /home/ec2-user/
sudo mkdir -p /opt/wildfly/modules/system/layers/base/psg/common
sudo cp -rf ./test-temp/test-COMMON/standalone/configuration/standalone.xml /opt/wildfly/standalone/configuration
sudo cp -rf ./test-temp/test-COMMON/modules/system/layers/base/com/microsoft/* /opt/wildfly/modules/system/layers/base/com/microsoft/
sudo cp -rf ./test-temp/test-COMMON/modules/system/layers/base/com/mysql /opt/wildfly/modules/system/layers/base/com/
sudo cp -rf ./test-temp/test-COMMON/modules/system/layers/base/psg/common/* /opt/wildfly/modules/system/layers/base/psg/common
sudo cp -rf ./test-temp/test-APP/standalone/deployments/HS.war /opt/wildfly/standalone/deployments
sudo cp -rf ./test-temp/test-APP/bin/resource /opt/wildfly/bin/resource
sudo cp -rf ./test-temp/test-APP/modules/system/layers/base/psg/* /opt/wildfly/modules/system/layers/base/psg/
sudo cp -rf ./test-temp/test-APP/standalone/deployments/* /opt/wildfly/standalone/deployments/
sudo chown -R wildfly:wildfly /opt/wildfly/
sudo service wildfly start

Но каждый раз, когда я помещаю новые артефакты в s3.Я должен пойти на сервер и запустить этот скрипт вручную.Есть ли способ автоматизировать это?Я читал про lamda, но после lamda узнал об изменениях в s3.где я собираюсь определить свой скрипт оболочки для запуска ??

Любое руководство поможет полностью.

1 Ответ

0 голосов
/ 22 мая 2019

Для запуска лямбда-функции при загрузке файла в корзину s3, для этого необходимо установить уведомление о событии в корзину s3.

Шаги для настройки уведомления о событии s3: -

1- лямбда и корзина s3 должны находиться в одном регионе

2 - перейти на вкладку "Свойства" корзины s3

3 - открыть событие и указать значения для типов событий, таких как put или copy

4 - Укажите лямбда-ARN в опции Отправить.

Теперь создайте одну лямбда-функцию и добавьте корзину s3 в качестве опции триггера.Просто убедитесь, что ваша политика Lambda IAM установлена ​​правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...