8장. 액세스 리소스


자동화 컨트롤러는 기본 키를 사용하여 개별 리소스 오브젝트에 액세스합니다. 이름이 지정된 URL 기능을 통해 리소스별, 사람이 읽을 수 있는 식별자를 사용하여 자동화 컨트롤러 리소스에 액세스할 수 있습니다.

다음 예제에서는 보조 쿼리 문자열 없이 리소스 오브젝트에 액세스할 수 있는 이름이 지정된 URL 경로를 보여줍니다.

/api/controller/v2/hosts/host_name++inv_name++org_name/

8.1. 구성 설정

/api/controller/v2/settings/named-url/: NAMED_URL_FORMATSNAMED_URL_GRAPH_NODES 에서 사용할 수 있는 이름이 지정된 URL 관련 구성 설정은 두 가지가 있습니다.

NAMED_URL_FORMATS 는 이름이 지정된 모든 URL 식별자 형식의 읽기 전용 키-값 쌍 목록입니다. 다음은 NAMED_URL_FORMATS 예제를 보여줍니다.

"NAMED_URL_FORMATS": {
"organizations": "<name>",
"teams": "<name>++<organization.name>",
"credential_types": "<name>+<kind>",
"credentials": "<name>++<credential_type.name>+<credential_type.kind>++<organization.name>",
"notification_templates": "<name>++<organization.name>",
"job_templates": "<name>++<organization.name>",
"projects": "<name>++<organization.name>",
"inventories": "<name>++<organization.name>",
"hosts": "<name>++<inventory.name>++<organization.name>",
"groups": "<name>++<inventory.name>++<organization.name>",
"inventory_sources": "<name>++<inventory.name>++<organization.name>",
"inventory_scripts": "<name>++<organization.name>",
"instance_groups": "<name>",
"labels": "<name>++<organization.name>",
"workflow_job_templates": "<name>++<organization.name>",
"workflow_job_template_nodes": "<identifier>++<workflow_job_template.name>++<organization.name>",
"applications": "<name>++<organization.name>",
"users": "<username>",
"instances": "<hostname>"
}

NAMED_URL_FORMATS 의 각 항목에 대해 키는 이름이 URL인 리소스의 API 이름입니다. 값은 해당 리소스에 대해 사람이 읽을 수 있는 고유 ID를 형성하는 방법을 나타내는 문자열입니다. NAMED_URL_FORMATS 는 이름이 지정된 URL을 포함할 수 있는 리소스만 나열합니다. 여기에 나열되지 않은 리소스에는 이름이 지정된 URL이 없습니다. 리소스에 이름이 지정된 URL이 있을 수 있는 경우 해당 오브젝트에 오브젝트별 이름이 지정된 URL을 나타내는 named_url 필드가 있어야 합니다. 해당 필드는 목록 보기가 아닌 세부 정보 보기에만 표시됩니다. 정확히 생성된 이름이 지정된 URL을 사용하여 지정된 리소스 오브젝트에 액세스할 수 있습니다. 개체 및 관련 URL입니다. 예를 들어 /api/controller/v2/res_name/obj_slug/ 가 유효한 경우 /api/controller/v2/res_name/obj_slug/related_res_name/ 도 유효합니다.

NAMED_URL_FORMATS 는 사람이 읽을 수 있는 고유 식별자와 이름이 지정된 URL을 직접 구성할 수 있을 만큼 권한을 부여합니다. 사용하기 쉽도록 이름이 지정된 URL을 포함할 수 있는 리소스의 모든 오브젝트에는 해당 오브젝트의 이름이 지정된 URL을 표시하는 관련 필드인_url 이 있습니다. 사용자 정의 용도로 해당 필드를 복사하여 붙여넣을 수 있습니다. 자세한 내용은 리소스 오브젝트에 이름이 지정된 URL이 있는 경우 API 브라우저의 도움말 텍스트를 참조하십시오.

이름이 지정된 URL 레이블을 수동으로 결정할 수 있습니다(예: ID 5). NAMED_URL_FORMATS 를 사용하여 이 특정 리소스 오브젝트에 대해 이름이 지정된 URL을 작성하려면 먼저 NAMED_URL_FORMATS 의 labels 필드를 찾아 ID 형식 <name> ++<organization.name>을 가져옵니다.

  • URL 형식의 첫 번째 부분은 < name >으로, /api/controller/v2/labels/5/ 에서 레이블 리소스 세부 정보를 찾고 반환된 JSON에서 name 필드를 찾을 수 있음을 나타냅니다. 값이 Foo이름 필드가 있는 경우 고유 식별자의 첫 번째 부분은 Foo 입니다.
  • 형식의 두 번째 부분은 이중 더하기 기호 ++입니다. 이 기호는 고유 ID의 다양한 부분을 구분합니다. Foo++ 을 가져오려면 고유 식별자에 추가합니다.
  • 형식의 세 번째 부분은 < organization.name >이며, 이는 해당 필드가 조사 중인 현재 레이블 오브젝트에 있지 않고 레이블 오브젝트가 가리키는 조직에 있음을 나타냅니다. 형식이 표시되면 현재 반환된 JSON의 관련 필드에서 조직을 찾습니다. 해당 필드가 존재하지 않을 수 있습니다. 존재하는 경우 해당 필드에 지정된 URL(예: /api/gateway/v1/organizations/3/ )을 따라 특정 조직의 세부 정보를 가져오고, 이름 필드를 추출한 다음 현재 고유 식별자에 추가합니다. < organizations.name >은 형식의 마지막 부분이므로 /api/controller/v2/labels/Foo++Default/ 라는 이름이 지정된 URL을 생성합니다.

    레이블 오브젝트 세부 정보의 관련 필드에 조직이 없는 경우 대신 빈 문자열을 추가합니다. 현재 식별자는 변경하지 않습니다. 따라서 Foo++ 은 최종 고유 식별자가 되고 이름이 지정된 결과 URL은 /api/controller/v2/labels/Foo++/ 가 됩니다.

이름이 지정된 URL에 대한 고유 ID를 생성하는 작업의 중요한 측면은 예약된 문자와 관련이 있습니다. ID가 URL의 일부이므로 URL 표준에 따라 예약된 문자는 백분율 기호로 인코딩됩니다. ;/?@=&[]. 예를 들어 조직 이름이 ;/?:@=&[] 인 경우 고유 식별자는 %3B%3F%3F%3F%3D%5B%5D 여야 합니다. 또 다른 특수 예약 문자는 + 이며 URL 표준에 의해 예약되지는 않지만 이름이 지정된 URL에서 식별자의 다른 부분을 연결하는 데 사용됩니다. [암호]로 인코딩됩니다. 예를 들어 조직 이름이 [ Cryostat )인 경우 고유 식별자는 %5B[#159%5D )입니다. 여기서 original [] 은 백분율로 인코딩되고 + 는 []로 변환됩니다.

NAMED_URL_FORMATS 를 수동으로 변경할 수는 없지만 기본 리소스 수정 및 확장을 반영하여 수정 사항이 자동으로 발생하고 시간이 지남에 따라 확장됩니다. 이름이 지정된 URL 기능을 사용하려는 동일한 클러스터에서 NAMED_URL_FORMATS 를 참조하십시오.

NAMED_URL_GRAPH_NODES 는 이름이 지정된 URL을 관리하는 데 사용되는 내부 그래프 데이터 구조를 노출하는 키-값 쌍의 읽기 전용 목록입니다. 이는 사람이 읽을 수 있는 것은 아니지만 이름이 지정된 URL을 프로그래밍 방식으로 생성하는 데 사용해야 합니다. NAMED_URL_GRAPH_NODES 에서 제공하는 정보를 사용하여 이름이 지정된 URL의 기본 키를 기반으로 이름이 지정된 URL을 생성하는 스크립트의 예는 GitHub 에서 찾을 수 있습니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동