본문 바로가기
반응형

Polpid's World560

[Azure] Storage 생성 및 권한 연결 이번에  Azure 의 Storage 를 연결해볼 일이 있어서 실제 생성하고 권한 연결했던 내용들을 정리해 보고자 한다. 도큐먼트가 잘 되어있긴 하지만 GCP나 AWS 에서 사용하던 절차와 달라서(특히 용어가..) 많이 헷갈렸다. 최종 목표는 파이썬 코드로 Azure 에 파일을 업로드 하고 다운로드, 목록 을 가져오는 코드를 만들기 위함이다. 1. 스토리지 계정 생성Azure 에서 우선 스토리지 계정을 생성을 해야 한다. GCP 나 AWS 에서는 바로  Storage 를 생성했던것 같은데 이부분에서 좀 차이가 있었다. 계정 생성시 기억해야 할 항목은 리소스 그룹 이름이다. 마지막에 역할 할당시 다시 나온다. 기본 정보들만 입력을 하고 검토+만들기 버튼을 클릭한다. 검토가 끝나면 만들기 버튼이 나오는데 그.. 2024. 7. 12.
python 으로 Azure blob storage 연결 Azure 의 Blob Storage 에 파일을 업로드 하고 목록을 조회하는 코드를 작성해자. 만약 Azure 의 설정관련 내용을 보고 싶다면 다음 글을 참고하면 된다.2024.07.12 - [Development/Cloud] - [Azure] Storage 생성 및 권한 연결import osfrom unittest import TestCasefrom azure.identity import DefaultAzureCredentialfrom azure.storage.blob import BlobServiceClientos.environ["AZURE_CLIENT_ID"] = ''os.environ["AZURE_TENANT_ID"] = ''os.environ["AZURE_CLIENT_SECRET"] = ''cl.. 2024. 7. 12.
poetry 사용시 패키지 추가 하기 파이썬 가상환경을 사용할 경우 poetry 를 사용할수 있다. poetry add 명령어를 이용해서 패키지를 추가 할수 있다. 추가된 패키지는 pyproject.toml 파일에 기록이 된다. 이 명령어를 사용하면 패키지가 프로젝트의 종속성으로 추가되고 프로젝트를 실행할 때 해당 패키지가 자동으로 설치된다.poetry run pip install프로젝트의 종속성으로 추가되지 않고 단순히 현재 활성화된 가상 환경에 패키지를 설치한다. 이 명령어는 프로젝트의 종속성으로 추가되지 않은 패키지를 설치할 때 사용한다. 2024. 7. 11.
파이썬 requests 의 multipart/form-data 활용 FastAPI 로 아래와 같이 코드를 작성 했다.@router.post( "/v1/file", name="Upload File",)def upload_file( name: Annotated[str, Form()], language: Annotated[str, Form()], file: Annotated[UploadFile, Form()]):그리고 이 API 를 호출 하기위해 Test 코드를 작성했는데 아래와 같이 작성을 했다.def test_file_upload(self): file: UploadFile = open("./테스트.txt", "rb") # curl 명령에 필요한 헤더 설정 headers = { "token": "XXXXXXXX", ".. 2024. 6. 27.
파이썬 문법 - 클래스 정의 (ABCMeta, object) ABCMetaPython에서 클래스를 정의할 때, metaclass=ABCMeta 옵션을 사용하면 해당 클래스를 추상 클래스(abstract class)로 만들 수 있다. 추상 클래스는 일반 클래스와 달리 인스턴스화 될 수 없고, 추상 메서드만을 가질 수 있다.추상 클래스는 ABCMeta라는 내장 클래스를 사용하여 구현된다. ABCMeta는 Python 표준 라이브러리의 abc 모듈에 포함되어 있으며, 추상 클래스 및 추상 메서드를 지원하기 위한 메터 클래스이다. from abc import ABCMeta, abstractmethodclass MyAbstractClass(metaclass=ABCMeta): @abstractmethod def my_abstract_method(self): .. 2024. 5. 30.
[VS Code extension] Rest Client API https://marketplace.visualstudio.com/items?itemName=donebd.rest-client-api REST Client Api - Visual Studio MarketplaceExtension for Visual Studio Code - REST Client for Visual Studio Codemarketplace.visualstudio.com Postman 처럼 Rest api 를 호출할수 있게 해주는 툴인데 응답에 대한 내용을 저장해서 사용할수 있어서 최근 자주 사용하고 있다. 기본 사용방법은 도큐먼트에 잘 나와있기 때문에 생략하고 그중에서 내가 자주 사용하는 기능만 기술해보겠다. 변수 할당### Hello World# @name hello-worldGET {{.. 2024. 4. 29.
[호라이즌 포비든 웨스트: 버닝 쇼어스] DLC 시작이 안될때.. 산지는 오래됐지만 이제서야 해보려고 DLC 를 설치하고 진행을 해보려고 했으나 왜인지 진행이 안됐다. 인터넷 검색 해봐도 DLC 시작을 하면 사일러스가 연락이 오고 메인 퀘스트가 시작된다고 하던데.. 대체 뭐가 잘못 된것인지...1. 설치를 다시 해봤다.그랬더니 게임 저장한것을 불러오니  DLC 가 설치 되었다는 창은 떴다. 그래도 사일러스에게는 감감 무소식2. 기지로 이동.혹시 몰라서 기지로 이동을 해봤다. 그랬더니 오~~ 드디어 사일러스한테 연락이 왔다. 이것때문에 대체 몇시간 동안 삽질을 한건지.. ㅡ,.ㅡ;;;결론 : DLC 설치후 진행이 안된다면 기지로 가보자!!! 2024. 4. 26.
[Pycharm] Find in Files 검색시 venv 파일 제외 시키기 Pycharm 을 사용할때 가끔 Find in Files 로 검색을 했을때 venv 폴더 하위의 내용까지 검색이 되서 불편함이 있었다. 어떻게 하면 제외 시킬수 있을지 찾다가 방법을 찾았다.먼저 session 이란 키워드로 검색을 해봤다. 이 키워드는 많이 사용되는 키워드 이기 때문에 라이브러리 안에서도 많이 발견이 된다. 정작 내가 직접 작성한 코드에는 어떻게 되어있는지 찾기가 힘들다.우선 첫번째 방법으로 .venv 폴더를 선택한후 나오는 콘텍스트 메뉴에서 Mark Directory As 메뉴로 가서 .venv 를 exclude 해준다.그리고 나서 검색을 해보면 아래와 같이 내가 작성한 파일들에서만 검색이 된다.두번째 방법으로는 Settings > Project > Project Struc.. 2024. 4. 24.
[FastAPI] request body의 필수값 존재 여부에 따른 응답 FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다. from typing import Union from fastapi import FastAPI from pydantic import BaseModel app = FastAPI() class Item(BaseModel): name: str price: float is_offer: bool | None = True address: str = "seoul" address1: str | None = None @app.post("/items") def insert_item(item: Item): return item 아주 간단한 API 이다. name.. 2024. 3. 20.
xargs 명령어 리눅스에서 명령어를 사용하다 보면 결과 값을 다른 명령어로 전달하고 싶은 때가 있다. 내 경우에는 k8s pod 이름을 다른 명령어로 전달 하고 싶었다. 찾아보니 xargs 라는 명령어가 있었다. xargs = eXtended ARGuments - 사용 방법 : xargs [options][command][arguments] - 옵션 : 여러가지가 있는데 내가 사용해본 옵션만 적겠다. -i : 원하는 위치에 인자 입력하기 - 인자를 입력하고 싶은 위치에 {} 를 입력하여 지정할수 있다. -v : 실행된 명령어 확인하기 k get pod -o=custom-columns='DATA:metadata.name' | grep test-[0-9] | xargs -i -t kubectl get po {} kubect.. 2024. 1. 17.
git cherry pick 특정 브랜치에 있는 지정된 commit 내용을 가져오려고 할때 cherry pick 을 사용한다. 내가 주로 사용하는 경우는 다음과 같은 경우이다. 1. 현재 메인 브랜치 : develop 2. 운영 태그 : release-tag-2024 보통 개발을 하면 develop 브랜치 기준으로 브랜치를 만들어서 feature 브랜치를 만들고 개발을 한다. 그런데 가끔 운영에 급히 반영을 하거나 버그 픽스를 해야 할 경우가 있다. 이때에 이런 순서로 작업을 했다. 1. 운영태그 기준으로 hotfix 브랜치 생성 2. hotfix 브랜치에서 수정을 한 후 운영에 반영 3. 운영 반영 후에 hotfix 브랜치에 있는 commit 내용들을 develop 브랜치로 이동 -----> 이때 cherry-pick 을 사용한다.. 2024. 1. 5.
Release 의 모든것 리뷰 우리는 가끔 소프트웨어를 개발만 잘 하면 된다라고 착각을 한다. 그래서 운영 이라는 거대한 산을 간과하는 경우가 많이 생긴다. 모든 소프트웨어는 운영에 들어가기 전에 많은 테스트와 검증을 거쳐서 실제 운영에 들어가게 된다. 그래서 이때에 개발할때는 생각하지 도 못했던 버그나 오류들이 발생하게 된다. 검사 방법과 환경에 따라서 다양한 상황들이 발생하기 때문에 어떻게 대처를 해야 하는지 방법을 한참 찾아봐야 할 때도 있다. 그런 면에서 이 책은 포괄적인 가이드라인을 제공 해주고 있다. 책 읽어보면 느끼겠지만 운영전 검증에 필요한 요소들이 다 들어있다. 그리고 사례들을 여러가지 예로 들어줘서 더 현실감이 느껴졌다. 우선 1부에서는 안정적인 어플리케이션을 위한 여러가지 패턴에 대해서 이야기 해준다. 4장에서 안.. 2023. 12. 20.
728x90
반응형