전체 글
-
[ AWS ] Python boto3를 이용하여 Target Group Health 모니터링AWS Infra 2023. 4. 25. 12:31
import boto3 client = boto3.client('elbv2') response = client.describe_target_health( TargetGroupArn='string' ) for i in response['TargetHealthDescriptions']: print(i['TargetHealth']['State']) ----------------------------------------------- healthy . 비정상일 경우 : 'unhealthy', 'unused' print(i['TargetHealth']['State'],i['TargetHealth']['Description']) ------------------------------------------------..
-
[ Python ] xml 타입의 데이터 json 으로 변경Python/Python Programming 2023. 4. 24. 13:21
xmltodict 모듈설치 pip install xmltodict xml sample https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85) Sample XML File (books.xml) Table of contents Sample XML File (books.xml) Article 10/27/2016 In this article --> The following XML file is used in various samples throughout the Microsoft XML Core Services (MSXML) SDK. Gambardella, Matthew XML Developer's Guide Co..
-
[ Python ] difflib 모듈 ( 문자열 비교, 유사도 )Python/Python Programming 2023. 4. 24. 11:42
difflib.SequenceMatcher ( 유사도 ) from difflib import SequenceMatcher def similar(a, b): return round(float(SequenceMatcher(None, a, b).ratio()),2) * 100 print(similar('서울시 강남구','서울시 영등포구 ')) ----------------------------------------------------------------------- 62.0 difflib.context_diff ( 문자열 목록 비교 ) samplefile_1.txt samplefile_2.txt 1 파이썬 2 python 3 iz 4 beautiful 1 파이선 2 python 3 is 4 beautifu..
-
[ Python ] elastcisearch index 생성, 삭제, 조회Python/Python Programming 2023. 4. 14. 13:27
Python ElasticSearch from elasticsearch import Elasticsearch es = Elasticsearch('http://127.0.0.1:9200') ix = ix_name # string Search All Index for index in es.indices.get('*'): print(index) Create Index # 3 shards, 1 replicas body={"settings" : {"index" : {"number_of_shards" : 3,"number_of_replicas" : 1 }}} res = es.indices.create(index=ix, body=mapping) print(res) -----------------------------..
-
[ Python ] Remine API 사용하기Python/Python Programming 2023. 3. 21. 14:49
Redmine Python을 이용하면 일감관리, 노트관리, 뉴스 등을 자동화하거나 다른 서비스와 연동할 수 있다. 모듈설치 pip install python-redmine 접근방법은 "User / Password"와 "API Key" 인증 2가지가 있다. API Key를 허용하는 방법은 글 하단에 표기하였다. redmine = Redmine('url', username=' ', password=' ') redmine = Redmine('url', key=' ') 신규 일감(Issue) 생성하기 from redminelib import Redmine import datetime redmine = Redmine('url', key=' ') issue = redmine.issue.create( project_..
-
[ AWS ] Python boto3를 이용하여 S3 object 스토리지 클래스 변경AWS Infra 2023. 3. 21. 10:41
Python boto3를 이용하여 특정 object의 클래스를 변경해 보자. # STANDARD → STANDARD_IA 클래스 변경 import boto3 s3 = boto3.client('s3') bucket_name=' ' object_key = ' ' res = s3.copy_object( CopySource=f"{bucket_name}/{object_key}", Bucket=bucket_name, Key=object_key, StorageClass='STANDARD_IA') print(res) 아래와 같이 스토리지 클래스가 변경되었다.
-
[ AWS ] Python boto3를 이용하여 s3 log 압축파일(gz) DataFrame 만들기 - CloudFront LogsAWS Infra 2023. 3. 16. 12:36
AWS CloudFront, WAF 등 S3에 저장된 log들은 최종 gz 압축 형태로 보관 된다. 주기적이고, 빠르게 모니터링하고 분석하기 위해서 Python SDK를 이용하여 자동화 할 수 있는 방법을 알아본다. S3 버킷에 저장된 object 다운로드 Python boto3를 이용하여 S3에서 파일을 다운로드 한다. 일반적으로 날짜 Prefix가 들어가기 때문에 datetime 모듈을 이용하여 일괄 다운로드 받을 수 있으며, 아래에서는 단일 파일만 대상으로 테스트 해본다. CloudFront 로그가 S3에 저장되어 있고, xxxx.2023-03-15-01.xxxx.gz 라는 압축파일을 다운로드 import boto3 client = boto3.client('s3') saveFile = 'xx..
-
[ Python ] Python을 이용한 ElastiCache Redis Hash Data Export & ImportAWS Infra 2023. 2. 28. 11:37
ElasiCache Redis를 운영하면서 "noeviction" 데이터 보관용으로 운영하면서 주기적으로 데이터를 Export 해야할 필요가 생겼다. 데이터에 접근할 있어, 분석이나 재처리 업무시 사용할 수 있고, 2차 백업용으로도 사용할 수 있겠다. Sample Hash Data Export to Json File import redis import json # 접속옵션으로 decode_responses=True 사용할 경우, decode를 않해도 된다. rd = redis.StrictRedis(host='localhost', port=6379, db=0) allhash = [ x.decode() for x in rd.scan_iter('*') ] redisdct = {} for h in allhash..