'REST'에 해당되는 글 3건

  1. 2017.02.01 [Appboy] REST API 를 이용한 이벤트 처리
  2. 2016.07.22 [Elasticsearch] Transport Bulk to Rest Bulk data format 변환
  3. 2015.07.02 [Elasticsearch] shard allocation 운영 테스트용 REST 코드

[Appboy] REST API 를 이용한 이벤트 처리

ITWeb/개발일반 2017.02.01 14:01

앱보이 API 를 이용해서 앱에서 이벤트 푸쉬를 발생 하기 위한 예제 코드 입니다.

네이티브 앱은 SDK 를 이용하면 되지만 웹뷰는 REST API 를 이용해야 합니다.


# endpoint

https://api.appboy.com/users/track

 

# method

POST

 

# header

Content-Type: application/json

 

# body raw

{

"app_group_id":"xxxxx-xxxxx-xxxx-xxxxx",

"events": [

    {

        "external_id":"xxxxx-xxxxxx-xxxxxxx-xxxxxx",

        "name":"$EVENT_NAME$",

        "properties": {

            "keyword":"$KEYWORD$"

        },

        "time":"2017-01-26T07:10:00+09:00"

    }

]

}


참고문서)

https://www.appboy.com/documentation/REST_API/

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
tags : API, appboy, REST, 앱보이
Trackback 0 : Comment 0

[Elasticsearch] Transport Bulk to Rest Bulk data format 변환

Elastic/Elasticsearch 2016.07.22 10:02

java 로 bulk indexing 코드를 구현할 경우 색인 데이터 format을 그대로 rest bulk indexing 에서 사용을 할 수가 없습니다.

그래서 변환 하는 스크립트를 간단하게 작성해 봤습니다.


Reference)

https://www.elastic.co/guide/en/elasticsearch/reference/2.3/docs-bulk.html


Java Bulk Indexing Format)

{ "field1" : "value1" }


Rest Bulk Indexing Format)

{ "index" : { "_index" : "test", "_type" : "type1", "_id" : "1" } }

{ "field1" : "value1" }


보시면 아시겠지만 index/type/id 에 대한 meta 정보가 있느냐 없느냐의 차이 입니다.

당연하겠지만 java api 에서는 meta 정보를 set 하도록 되어 있습니다. 하지만 rest api 에서는 set 하는 과정이 없기 때문에 당연히 정보를 위와 같이 넣어 줘야 합니다.


변환 스크립트)

#!/bin/bash


while read line

do

  header="{ \"index\" : { \"_index\" : \"INDEX_NAME\", \"_type\" : \"TYPE_NAME\" } }"

  echo -e $header >> query_result.txt

  echo -e $line >> query_result.txt

done < $1


실행)

$ ./convertJavaToRestFormat.sh query_result.json


Rest Bulk Action)

$ curl -XPOST 'http://localhost:9200/INDEX_NAME/TYPE_NAME/_bulk' --data-binary "@query_result.txt"


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

[Elasticsearch] shard allocation 운영 테스트용 REST 코드

Elastic/Elasticsearch 2015.07.02 18:18
매번 작성 하기 귀찮아서 그냥 남겨 봅니다.

[shard allocation disable]
curl -XPUT localhost:9200/_cluster/settings -d '{
    "persistent" : {
    "cluster.routing.allocation.disable_allocation" : true
    }
}'

[모든 종류의 shard allocation disable]
curl -XPUT localhost:9200/_cluster/settings -d '{
    "transient" : {
        "cluster.routing.allocation.enable" : "none"
    }
}'

[shard allocation enable]
curl -XPUT localhost:9200/_cluster/settings -d '{
    "persistent" : {
    "cluster.routing.allocation.disable_allocation" : false
    }
}'

[모든 종류의 shard allocation enable]
curl -XPUT localhost:9200/_cluster/settings -d '{
    "transient" : {
        "cluster.routing.allocation.enable" : "all"
    }
}'

[모든 인덱스의 replica shard disable]
curl -XPUT localhost:9200/*/_settings -d '{"number_of_replicas":0}'



저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 : Comment 0

티스토리 툴바