8.2. ID 형식 프로토콜


리소스는 리소스 필드의 튜플인 고유 키로 식별할 수 있습니다. 모든 리소스에는 기본 키 번호만 고유 키로 사용할 수 있지만 다른 고유 키가 많이 있을 수 있습니다. 리소스는 ID 형식을 생성할 수 있으므로 다음 규칙을 충족하는 고유 키가 하나 이상 있는 경우 이름이 지정된 URL이 있습니다.

  1. 키에는 이름 필드인 필드만 포함되거나 가능한 선택 항목이 제한된 텍스트 필드(예: 인증 정보 유형 리소스의 kind 필드)만 포함되어야 합니다.
  2. 이전 규칙을 위반하는 유일한 허용 예외 필드는 자체 이외의 리소스와 관련된 다대일 관련 필드이며 슬러그도 사용할 수 있습니다.

FooBar 리소스가 있는 경우 FooBar 에는 "yes" 또는 "no" 값만 가질 수 있는 이름 필드와 선택 필드가 모두 포함되어 있습니다. 또한 리소스 Foo 에는 Bar 와 관련된 다대일 필드(예: fk )가 있습니다. foo 에는 고유한 키 튜플(이름,선택 사항,fk)이 있으며 Bar 에는 고유한 키 튜플(이름,선택)이 있습니다. bar 는 이전 첫 번째 규칙을 충족하기 때문에 이름이 지정된 URL을 포함할 수 있습니다. foo 는 첫 번째 규칙을 위반하더라도 이름이 지정된 URL을 포함할 수도 있습니다. 규칙 번호 1을 위반하는 추가 필드는 Bar 와 Bar와 관련된 many-to-one 필드이며, Bar 는 이름이 지정된 URL을 포함할 수 있습니다.

규칙 번호 1을 충족하는 리소스의 경우 사람이 읽을 수 있는 고유 식별자는 외래 키 필드의 조합이며, + 로 구분됩니다. 구체적으로 위 예제의 리소스 표시줄에는 슬러그 형식 < name>+<choice>가 있습니다. 필드 순서는 슬러그 형식에서 중요하며 이름 필드는 항상 있는 경우 먼저 오고 나머지 필드가 필드 이름의 사전순으로 정렬되어 있습니다. 예를 들어, Bar 에도 규칙 1을 충족하는 a_choice 필드가 있고 고유 키가 있는 경우 (이름 , 선택 , a_choice ) 이면 슬러그 형식은 <name >< a_choice><choice >가 됩니다.

규칙 번호 2를 충족하는 리소스의 경우 추가 외래 키 필드를 역추적하면 결과는 해당 리소스의 오브젝트를 식별하는 리소스 트리입니다. ID 형식을 생성하기 위해 역추적 트리의 각 리소스는 외래 키를 제외한 모든 필드를 사용하여 독립 실행형 형식의 자체 부분을 생성합니다. 마지막으로 모든 부분은 다음과 같은 순서로 ++ 로 결합됩니다.

  • 첫 번째 식별자 부분으로 독립 실행형 형식을 배치합니다.
  • 각 리소스에 대한 고유 ID를 재귀적으로 생성합니다. 기본 리소스는 외래 키(역추적 트리의 자식 노드) 사용을 나타냅니다.
  • 생성된 고유 ID를 나머지 ID 구성 요소로 취급합니다. 이러한 ID는 해당 외래 키의 사전순으로 정렬합니다.
  • ++ 를 사용하여 모든 구성 요소를 결합하여 최종 ID 형식을 생성합니다.

리소스 Foo 에 대한 식별자 형식을 생성할 때 자동화 컨트롤러는 Foo 및 <fk.name>+<fk. name>+< fk.choice >의 경우 독립형 형식 <name><choice >+<fk. name>+<fk.choice>+<fk.choice >로 결합합니다.

지정된 식별자 형식에 따라 식별자를 생성할 때 외래 키가 위치를 가리키지 않을 수 있는 경우가 있습니다. 이 경우 자동화 컨트롤러는 외래 키가 가리켜야 하는 리소스에 해당하는 형식의 부분을 빈 문자열로 대체합니다. 예를 들어 Foo 오브젝트에 name ="alice", choice ="yes" 가 있지만 fk 필드 = None 이 있는 경우 결과 식별자는 alice+yes++ 입니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat, Inc.