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"
}