curl 명령을 할때마다 콘텐츠 유형 헤더를 입력할 필요가 없도록 스크립트 작성하기

0

이 강좌를 전 강좌보다 먼저 작성해야했는데... 순서가 꼬여버렸다.

우분투 터미널을 열고 홈 디렉터리에서

mkdir bin

를 통해 디렉터리 생성후

cd bin

생성한 bin 디렉터리로 이동한다

이제 익숙한 nano 에디터를 이용하겠다

nano curl

우리는 내장된 curl 명령을 래핑(wrapping)하고 해당 콘텐츠 유형 헤더를 자동으로 추가하는 배시(Bash) 스크립트를 만들 것이다. 아래와 같이 입력한 뒤 저장후 에디터를 빠져나오면 된다.

#!/bin/bash
/user/bin/curl -H "Content-Type:application/json" "$@"

이제 이 스크립트를 모든 사람이 사용할 수 있도록 다음 명령어를 통해 실행 권한을 부여해야한다.

chmod a+x curl

그리고 변동사항을 적용하기 위해 다음과 같이 입력해야한다.

source.profile

변경사항이 잘 적용되었는지 확인하기 위해 이전 강의에서 매핑을 수행하면서 만들어놓았던 movies 색인에 document 하나를 추가해보겠다. (터미널에서는 ctrl + V + tab 키를 통해 tab 누른 것처럼 작동할 수 있다.)

curl -XPOST 127.0.0.1:9200/movies/_doc/109487 -d '
{
	"genre": ["IMAX", "Sci-Fi"],
    "title": "Interstellar",
    "year": 2014
}'

위에서 _doc은 Type인데 ES의 옛날 버전으로부터 남은 잔여물이다. 그냥 기본적으로 입력한다고 생각하면 된다. 109487은 문서의 id이며 내가 임의로 지정한 값이다.

이제 색인에 저장된 문서를 확인해보자

 curl -XGET 127.0.0.1:9200/movies/_search?pretty
 

ES에서 정보를 검색하는 경우 GET을 이용하고 문서를 추가할 경우에는 POST를 이용한다는 점을 기억하자

profile
Software engineer who is interested in Server Development & Operation, SRE, Cloud Native Computing

0개의 댓글