분류 전체보기 1170

[YAML] 텍스트 표현 - 개행 처리

개요API 개발 업무 진행 중 사용할 설정 파일이 필요해졌는데, 필요한 값에 개행이 추가되어 있다. yaml 형식의 데이터에서 개행이 포함된 텍스트 값을 어떻게 설정하는지 적어둔다.  LiteralYaml에서 개행이 포함된 block은 크게 두 가지 스타일이 존재한다. 그 중 하나는 | (pipe)로 표시하는 Literal 방식으로, yaml 사양에서는 "is the simplest, most restricted, and most readable scalar style"이라고 일컫는다.my_pattern: | With his own sword, Which he did wave against my throat, I have ta’en His head from him.Literal 방식은 값에 포함된 ..

기타 2025.01.03

OpenAPI / Open API / Swagger 란?

개요FastAPI 공식 문서를 참고하다 보면 OpenAPI라는 단어를 종종 보게 된다. 처음 FastAPI를 다룰 때에는 그런 게 있나 보다 하고 넘어갔는데, 슬슬 어떤 개념인지 짚고 넘어가야 할 것 같아 정리한다.   OpenAPI vs Open API구글 검색으로 OpenAPI를 찾아보면 전혀 다른 개념을 설명하는 여러 글을 발견할 수 있는데, 각각의 정의는 다음과 같다. Open APIOpen Application Programming Interface, Open API, 공개 API .개발자라면 누구나 사용할 수 있도록 공개된 API를 말하며, 개발자에게 애플리케이션이나 웹 서비스의 프로그래밍적인 권한을 제공한다. 다시 말해, 어떤 웹 사이트에서 자신이 가진 기능을 이용할 수 있도록 공개한 프로그..

기타 2025.01.02

[Trino] 서로 다른 카탈로그 내 테이블 쿼리하기

개요Trino를 사용해서 s3, csv 등 여러 데이터 소스에 위치한 데이터에 접근하여 사용 중이다. 그런데 최근 서로 다른 데이터 소스, 즉 카탈로그에 위치한 테이블을 한꺼번에 조회해야 하는 일이 발생했다. 과연 하나의 세션에서 서로 다른 카탈로그로 연결된 데이터를 한 쿼리에 조회할 수 있는지 확인해보자.   방법두괄식으로 결론 먼저 내리면 가능하다.trino는 테이블을 지정할 때 다음과 같이 카탈로그에서부터의 경로를 지정할 수 있다.SELECT *FROM ..;때문에 카탈로그에서부터의 테이블 위치를 직접 지정하여 조인할 수 있다.SELECT *FROM ..JOIN ..;  예시예시로 다음과 같은 두 개 테이블이 있다고 하자. - pa_send이 테이블을 opsrepo라는 카탈로그에서 info 스키마에..

Trino 2024.12.31

[Azure] AI Search - 인덱스 필드

개요지금까지 AI Search를 다루면서 인덱스가 뭔지, 어떻게 다루는지 위주로 살펴보았는데, 인덱스 스키마의 중요한 요소인 필드에 대해서는 따로 다룬 적이 없는 것 같다.이번 글에서는 인덱스의 필드에 대해서 정리해 둔다.  필드Document를 정의하는 요소로, Document를 식별할 수 있는 키, 검색할 수 있는 텍스트 저장용 필드, Facet 또는 정렬 지원 필드, 심지어는 사용자가 볼 수 없는 데이터에 대한 필드 등으로 구성된다.    유형Azure AI Search에서 사용하는 필드는 크게 세 종류로 구분하는 것 같은데, 그 종류는 다음과 같다. SimpleField단순 필드. 텍스트 분석이 필요하지 않은 데이터를 저장하고, 필터링, 정렬, 그룹화 등에 사용한다.검색 가능한 텍스트로 인덱싱 되..

Azure 2024.12.30

[Azure] AI Search - 검색하기

개요2024.12.09-[Azure] AI Search - Index 다루기에서 Azure Python SDK를 사용해 Azure AI Search의 인덱스를 다루는 방법을 알아보았었다. 이번 글에서는 Index에 저장되어 있는 데이터를 검색하는 방법에 대해 나열해둔다.  클라이언트 정의먼저 AI Search에서 검색을 수행하기 위해서는 클라이언트를 선언해야 한다.from azure.core.credentials import AzureKeyCredentialfrom azure.search.documents import SearchClientservice_endpoint = os.environ["AZURE_SEARCH_SERVICE_ENDPOINT"]index_name = os.environ["AZURE_..

Azure 2024.12.27

[Azure] AI Search - Document 다루기

개요2024.12.09-[Azure] AI Search - Index 다루기에서 Azure Python SDK를 사용해 AI Search 서비스의 Index를 다루는 방법을 정리했다. 이번에는 Index에서 데이터에 해당하는 Document를 다루는 방법을 정리한다. 클라이언트 생성Index에 Document를 저장하거나 삭제하는 등의 작업을 수행하기 위해서는 SearchClient가 필요하다.(인덱스를 다루기 때문에 SearchIndexClient랑 헷갈리는데, SearchClient이다.)from azure.core.credentials import AzureKeyCredentialfrom azure.search.documents import SearchClientservice_endpoint = o..

Azure 2024.12.26

[Azure] Functions - Timeout value of 00:30:00 exceeded by function 'Functions.http_app_func'

현상2024.11.18-[Azure] 로컬 환경에서 Function 개발하기에서 정리했던 것처럼 로컬 환경에서 Azure Functions을 개발하면서 테스트를 진행하던 중 아래와 같은 에러가 발생했다.Timeout value of 00:30:00 exceeded by function 'Functions.http_app_func'타임 아웃이 발생해서 동작이 중단된 것 같은데, 일단 타임 아웃을 조정하는 방식으로 현상을 해결해보려고 한다.  host.jsonhost.json은 함수에 영향을 주는 구성 파일이다. https://learn.microsoft.com/ko-kr/azure/azure-functions/functions-host-json에서 예시 파일의 내용을 확인할 수 있다.{ "version"..

Azure 2024.12.24

[Azure] Functions - Portal에서 만들기

개요이전에 2024.11.15-[Azure] Functions 이란이라는 글에서 Azure Functions 개념을 살펴보았다. 이번에는 Azure Portal에서 Function을 만들어보자. 2024.11.18-[Azure] 로컬 환경에서 Function 개발하기에서와 동일하게 python 런타임, HTTPTrigger로 만들어보려고 한다.   Function App 생성Functions을 실행하기 위해서는 호스팅을 위한 App이 있어야 한다. Function App은 Function을 논리적으로 그룹화하여 리소스를 관리하고 배포, 크기 조정 등을 가능하게 한다.  1. Azure Portal > 리소스 만들기 접근 2. 리소스 만들기 > 함수 앱 > 만들기 클릭 3. 호스팅 옵션 선택적절한 호스팅 ..

Azure 2024.12.23

[Azure] AI Search - SynonymMap 적용

개요2024.12.02-[Azure] AI Search - Synonym map, 2024.12.03-[Azure] AI Search - Synonym map 생성/조회/삭제에서 SynonymMap의 개념과 python으로 다루는 방법을 간단하게 알아보았다. 이번 글에선 SynonymMap을 실제로 인덱스에 적용하는 방법을 정리해 둔다.   테스트 데이터먼저 아래와 같은 데이터가 있다고 하자.이 데이터를 저장하기 위해서 아래와 같은 필드를 가진 스키마로 인덱스를 생성했다.{ "name": "testIndex", "fields": [ { "name": "docid", "type": "Edm.String", "key": true, "retrievable": tru..

Azure 2024.12.20

[Azure] AI Search - Synonym map 생성/조회/삭제

개요2024.12.02-[Azure] AI Search - Synonym map에서 Azure AI Search의 기능 중 하나인 Synonym map에 대해 알아보았다. 이번 글에서는 Python 상에서 Synonym map을 생성하고 조회하고 삭제하는 방법을 정리해두려고 한다. + 필드에 적용하는 방법은 다른 글로 적어두겠다.  서비스 인증Azure Python SDK로 AI Search에 대한 서비스 인증을 하기 위해서는 먼저 AI Search 리소스가 생성되어있어야 한다. 현재 직접 리소스를 생성할 수 있는 환경이 되어 있지 않아 이 글에서는 이미 생성되어 있다고 가정하겠다.서비스 생성 자체는 https://learn.microsoft.com/en-us/azure/search/search-crea..

Azure 2024.12.19