본문 바로가기
WIKI 기술 지식 베이스

generateUuid() function

원문 보기 위키 갱신

출처: 문서

본문

generateUuid() 함수

generateUuid() 함수는 인자를 받지 않으며, 무작위로 생성된 UUID 버전 4 문자열을 반환해요. 예를 들어 "550e8400-e29b-41d4-a716-446655440000" 같은 값이에요. 호출할 때마다 암호학적으로 강력한 난수 생성기를 사용해 고유한 값을 만들어내기 때문에, 실제로 충돌 확률은 무시할 수 있을 정도로 낮아요.

이 함수는 소스 레코드에 자연스러운 고유 식별자가 없을 때 유용해요---예를 들어, 추론 결과를 원본 레코드와 다시 매칭하려면 안정적인 키가 필요한 비동기 배치 추론 작업을 실행할 때 말이에요.

사용 방법

add_entries 프로세서에서 value_expression으로 generateUuid()를 사용해요. 이 예제는 프로세서를 통과하는 모든 이벤트에 고유한 UUID를 담은 recordId 필드를 추가해요:

processor:
  - add_entries:
      entries:
        - key: recordId
          value_expression: 'generateUuid()'

{% include copy.html %}

예제

다음 파이프라인은 OpenSearch로 전달하기 전에, 들어오는 각 로그 레코드에 고유한 recordId를 할당해요:

uuid-demo-pipeline:
  source:
    http:
      ssl: false

  processor:
    - add_entries:
        entries:
          - key: recordId
            value_expression: 'generateUuid()'

  sink:
    - opensearch:
        hosts: ["https://opensearch:9200"]
        insecure: true
        username: admin
        password: admin_password
        index_type: custom
        index: demo-index-%{yyyy.MM.dd}

{% include copy.html %}

다음 입력 이벤트가 주어졌을 때:

{ "message": "user login", "user": "alice" }

{% include copy.html %}

OpenSearch에 저장된 문서에는 다음과 같은 정보가 담겨 있어요:

{
  "message": "user login",
  "user": "alice",
  "recordId": "550e8400-e29b-41d4-a716-446655440000"
}

더 알아보기 (Learn more)