Сценарий Python, который перемещает определенные файлы между сегментами S3 - PullRequest
0 голосов
/ 23 июня 2018

Так что я все еще новичок, когда дело доходит до написания кода на Python, но мне было интересно, может ли кто-то быть так любезен, чтобы помочь мне с проблемой.

Клиент, на которого я работаю, использует систему eDiscovery Venio. У них есть веб, приложение, база данных и сервер Linux, работающие на экземплярах EC2 в AWS.

Прямо сейчас, когда клиенты загружают документы на свой сервер, они в конечном итоге перезагружают контент на другой диск, вызывая дополнительную работу для себя. Существует также проблема скорости обработки файлов в их системе.

После настройки автоматических снимков с помощью скрипта в Lambda я начал думать, что хранение их массивных файлов в S3 за CloudFront может быть лучшим способом.

Кто-нибудь знает, есть ли способ создать скрипт Python, который ищет ключевые слова в файле (например, «Use», «Discard») и автоматически разделяет их на разные группы?

Любой совет будет очень признателен!

UPDATE:

Итак, вот скрипт, который я запустил:

import boto3

# Creates S3 client
s3 = boto3.client('s3')

filename = 'file.txt'
bucket_name = 'responsive-bucket'

keyword_bucket = {
    'use': 'responsive-bucket',
    'discard': 'non-responsive-bucket',
}

По сути, я хочу, чтобы клиент загружал файл через веб-API, запускает скрипт Python, который ищет ключевые слова Responsive или Non-Responsive. Как только он распознает эти ключи, он помещает эти файлы в соответствующие именованные сегменты. Ответные файлы останутся в стандартных корзинах s3, а ненужные - в корзине s3-IA. По истечении определенного времени они проходят жизненный цикл до ледника.

Любая помощь будет потрясающей !!!

1 Ответ

0 голосов
/ 24 июня 2018

Если вы можете построить отображение keywords => bucket names, вы можете использовать словарь. Например:

keyword_bucket = {
    'use': 'bucket_abc',
    'discard': 'bucket_xyz',
    'etc': 'bucket_whatever'
}

Затем вы открываете файл и ищете ваши ключевые слова. Когда ключевое слово совпадает, вы используете словарь выше, чтобы найти соответствующий сегмент, куда файл должен идти.

...