검색 통합 서비스를 구성합니다
검색 통합 XML을 만들고 테넌트 관리자를 사용하여 XML을 버킷에 적용하여 버킷에 대한 검색 통합을 활성화합니다.
-
StorageGRID 관리자가 테넌트 계정에 대해 플랫폼 서비스를 활성화했습니다.
-
인덱싱할 콘텐츠가 있는 S3 버킷을 이미 생성했습니다.
-
검색 통합 서비스의 대상으로 사용하려는 엔드포인트가 이미 있으며 URN이 있습니다.
-
이 있는 사용자 그룹에 속해 "모든 버킷 또는 루트 액세스 권한을 관리합니다"있습니다. 이러한 권한은 테넌트 관리자를 사용하여 버킷을 구성할 때 그룹 또는 버킷 정책의 권한 설정을 재정의합니다.
소스 버킷에 대한 검색 통합 서비스를 구성한 후 객체를 만들거나 객체의 메타데이터 또는 태그를 업데이트하면 대상 엔드포인트로 객체 메타데이터가 전송됩니다.
이미 객체가 포함된 버킷에 대해 검색 통합 서비스를 활성화하면 기존 객체에 대한 메타데이터 알림이 자동으로 전송되지 않습니다. 이러한 기존 개체를 업데이트하여 해당 메타데이터가 대상 검색 인덱스에 추가되도록 합니다.
-
버킷에 대한 검색 통합 활성화:
-
텍스트 편집기를 사용하여 검색 통합을 활성화하는 데 필요한 메타데이터 알림 XML을 만듭니다.
-
XML을 구성할 때는 검색 통합 끝점의 URN을 대상으로 사용합니다.
개체 이름의 접두어를 기준으로 개체를 필터링할 수 있습니다. 예를 들어, 접두사가 있는 개체의 메타데이터는 한 대상에, 접두사가 있는 개체의 메타데이터는 다른 대상에
videos
보낼 수images
있습니다. 접두사가 겹치는 구성은 유효하지 않으며 제출될 때 거부됩니다. 예를 들어, 접두사가 있는 객체에 대한 규칙 하나와 접두사가 있는 객체에 대한 두 번째 규칙이test2
포함된 구성은test
허용되지 않습니다.필요한 경우 을 메타데이터 구성 XML의 예참조하십시오.
<MetadataNotificationConfiguration> <Rule> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>/Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
메타데이터 알림 구성 XML의 요소:
이름 설명 필수 요소입니다 MetadataNotificationConfiguration을 참조하십시오
메타데이터 알림의 개체 및 대상을 지정하는 데 사용되는 규칙의 컨테이너 태그입니다.
하나 이상의 규칙 요소가 포함되어 있습니다.
예
규칙
메타데이터를 지정된 인덱스에 추가해야 하는 개체를 식별하는 규칙의 컨테이너 태그입니다.
접두사가 겹치는 규칙은 거부됩니다.
MetadataNotificationConfiguration 요소에 포함되어 있습니다.
예
ID입니다
규칙의 고유 식별자입니다.
Rule 요소에 포함되어 있습니다.
아니요
상태
상태는 '활성화' 또는 '비활성화'가 될 수 있습니다. 비활성화된 규칙에 대해 어떠한 작업도 수행되지 않습니다.
Rule 요소에 포함되어 있습니다.
예
접두어
접두사와 일치하는 개체는 규칙의 영향을 받으며 해당 메타데이터는 지정된 대상으로 전송됩니다.
모든 오브젝트를 일치시키려면 빈 접두사를 지정합니다.
Rule 요소에 포함되어 있습니다.
예
목적지
규칙의 대상에 대한 컨테이너 태그입니다.
Rule 요소에 포함되어 있습니다.
예
urn
객체 메타데이터가 전송되는 대상의 urn입니다. 다음 속성을 가진 StorageGRID 끝점의 URN이어야 합니다.
-
es
세 번째 요소여야 합니다. -
URN은 메타데이터가 저장되는 인덱스 및 형식으로 끝나야
domain-name/myindex/mytype
합니다.
엔드포인트는 테넌트 관리자 또는 테넌트 관리 API를 사용하여 구성됩니다. 다음과 같은 형식을 취합니다.
-
arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype
-
urn:mysite:es:::mydomain/myindex/mytype
구성 XML을 제출하기 전에 끝점을 구성해야 합니다. 그렇지 않으면 404 오류로 인해 구성이 실패합니다.
urn은 Destination 요소에 포함됩니다.
예
-
-
테넌트 관리자에서 * 스토리지(S3) * > * 버킷 * 을 선택합니다.
-
소스 버킷의 이름을 선택합니다.
버킷 세부 정보 페이지가 나타납니다.
-
플랫폼 서비스 * > * 통합 검색 * 을 선택합니다
-
검색 통합 사용 * 확인란을 선택합니다.
-
메타데이터 알림 구성을 텍스트 상자에 붙여 넣고 * 변경 내용 저장 * 을 선택합니다.
그리드 관리자 또는 관리 API를 사용하여 StorageGRID 관리자가 각 테넌트 계정에 대해 플랫폼 서비스를 활성화해야 합니다. 구성 XML을 저장할 때 오류가 발생하면 StorageGRID 관리자에게 문의하십시오. -
검색 통합 서비스가 올바르게 구성되었는지 확인합니다.
-
구성 XML에 지정된 대로 메타데이터 알림을 트리거하기 위한 요구 사항을 충족하는 객체를 소스 버킷에 추가합니다.
앞의 예제에서 버킷에 추가된 모든 오브젝트는 메타데이터 알림을 트리거합니다.
-
개체의 메타데이터와 태그가 포함된 JSON 문서가 끝점에 지정된 검색 인덱스에 추가되었는지 확인합니다.
-
필요에 따라 다음 방법 중 하나를 사용하여 버킷에 대한 검색 통합을 비활성화할 수 있습니다.
-
스토리지(S3) * > * 버킷 * 을 선택하고 * 검색 통합 활성화 * 확인란의 선택을 취소합니다.
-
S3 API를 직접 사용하는 경우 Delete Bucket 메타데이터 알림 요청을 사용합니다. S3 클라이언트 애플리케이션 구현 지침을 참조하십시오.
예: 모든 개체에 적용되는 메타데이터 알림 구성입니다
이 예제에서 모든 오브젝트의 오브젝트 메타데이터는 동일한 대상으로 전송됩니다.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>urn:myes:es:::sgws-notifications/test1/all</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
예: 두 개의 규칙이 있는 메타데이터 알림 구성
이 예에서는 접두사와 일치하는 개체의 개체 메타데이터가 /images
한 대상으로 전송되고, 접두사와 일치하는 개체의 개체 메타데이터가 /videos
두 번째 대상으로 전송됩니다.
<MetadataNotificationConfiguration> <Rule> <ID>Images-rule</ID> <Status>Enabled</Status> <Prefix>/images</Prefix> <Destination> <Urn>arn:aws:es:us-east-1:3333333:domain/es-domain/graphics/imagetype</Urn> </Destination> </Rule> <Rule> <ID>Videos-rule</ID> <Status>Enabled</Status> <Prefix>/videos</Prefix> <Destination> <Urn>arn:aws:es:us-west-1:22222222:domain/es-domain/graphics/videotype</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
메타데이터 알림 형식입니다
버킷에 대한 검색 통합 서비스를 활성화하면 개체 메타데이터 또는 태그를 추가, 업데이트 또는 삭제할 때마다 JSON 문서가 생성되어 대상 끝점으로 전송됩니다.
이 예제는 키가 있는 개체가 라는 버킷에 test
생성될 때 생성될 수 있는 JSON의 예를 보여줍니다 SGWS/Tagging.txt
. test`버킷이 버전이 아니므로 `versionId
태그가 비어 있습니다.
{ "bucket": "test", "key": "SGWS/Tagging.txt", "versionId": "", "accountId": "86928401983529626822", "size": 38, "md5": "3d6c7634a85436eee06d43415012855", "region":"us-east-1", "metadata": { "age": "25" }, "tags": { "color": "yellow" } }
JSON 문서에 포함된 필드입니다
문서 이름에는 버킷 이름, 오브젝트 이름 및 버전 ID(있는 경우)가 포함됩니다.
- 버킷 및 오브젝트 정보
-
bucket
: 버킷의 이름입니다key
: 개체 키 이름입니다versionID
: 버전 버킷의 객체에 대한 객체 버전입니다region
: 버킷 영역(예:us-east-1
- 시스템 메타데이터
-
size
: HTTP 클라이언트에서 볼 수 있는 개체 크기(바이트)md5
: 개체 해시입니다 - 사용자 메타데이터
-
metadata
: 객체에 대한 모든 사용자 메타데이터, 키-값 쌍key:value
- 태그
-
tags
: 객체에 대해 키-값 쌍으로 정의된 모든 객체 태그key:value
Elasticsearch에서 결과를 보는 방법
태그 및 사용자 메타데이터의 경우 StorageGRID는 날짜 및 숫자를 Elasticsearch에 문자열 또는 S3 이벤트 알림으로 전달합니다. 이러한 문자열을 날짜 또는 숫자로 해석하도록 Elasticsearch를 구성하려면 동적 필드 매핑 및 날짜 형식 매핑에 대한 Elasticsearch 지침을 따르십시오. 검색 통합 서비스를 구성하기 전에 인덱스에서 동적 필드 매핑을 사용하도록 설정합니다. 문서가 인덱싱된 후에는 인덱스에서 문서의 필드 형식을 편집할 수 없습니다.