Put Bucket 메타데이터 알림 구성
Put Bucket 메타데이터 알림 구성 요청을 사용하면 개별 버킷에 대한 검색 통합 서비스를 활성화할 수 있습니다. 요청 본문에 제공하는 메타데이터 알림 구성 XML은 대상 검색 인덱스에 메타데이터가 전송되는 개체를 지정합니다.
이 작업을 완료하려면 버킷에 대한 S3:PutBucketMetadataNotification 권한이 있거나 계정 루트여야 합니다.
요청하십시오
요청 본문에는 메타데이터 알림 구성이 포함되어야 합니다. 각 메타데이터 알림 구성에는 하나 이상의 규칙이 포함됩니다. 각 규칙은 적용되는 오브젝트와 StorageGRID가 오브젝트 메타데이터를 보내야 하는 대상을 지정합니다.
개체 이름의 접두어를 기준으로 개체를 필터링할 수 있습니다. 예를 들어, 접두사가 있는 개체의 메타데이터를 한 대상으로 보내고, 접두사가 있는 개체는 /videos
다른 대상으로 보낼 수 /images
있습니다.
중복되는 접두사가 있는 구성은 유효하지 않으며 제출될 때 거부됩니다. 예를 들어, 접두사가 있는 객체에 대한 하나의 규칙과 접두사가 있는 객체에 대한 두 번째 규칙이 test2
포함된 구성은 test
허용되지 않습니다.
대상은 StorageGRID 끝점의 URN을 사용하여 지정해야 합니다. 메타데이터 알림 구성이 제출될 때 끝점이 존재해야 합니다. 그렇지 않으면 요청이 로 400 Bad Request
실패합니다. 오류 메시지는 다음과 같습니다. Unable to save the metadata notification (search) policy. The specified endpoint URN does not exist: URN.
<MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>rule-status</Status> <Prefix>key-prefix</Prefix> <Destination> <Urn>arn:aws:es:region:account-ID:domain/mydomain/myindex/mytype</Urn> </Destination> </Rule> <Rule> <ID>Rule-2</ID> ... </Rule> ... </MetadataNotificationConfiguration>
이 표에서는 메타데이터 알림 구성 XML의 요소에 대해 설명합니다.
이름 | 설명 | 필수 요소입니다 |
---|---|---|
MetadataNotificationConfiguration을 참조하십시오 |
메타데이터 알림의 개체 및 대상을 지정하는 데 사용되는 규칙의 컨테이너 태그입니다. 하나 이상의 규칙 요소가 포함되어 있습니다. |
예 |
규칙 |
메타데이터를 지정된 인덱스에 추가해야 하는 개체를 식별하는 규칙의 컨테이너 태그입니다. 접두사가 겹치는 규칙은 거부됩니다. MetadataNotificationConfiguration 요소에 포함되어 있습니다. |
예 |
ID입니다 |
규칙의 고유 식별자입니다. Rule 요소에 포함되어 있습니다. |
아니요 |
상태 |
상태는 '활성화' 또는 '비활성화'가 될 수 있습니다. 비활성화된 규칙에 대해 어떠한 작업도 수행되지 않습니다. Rule 요소에 포함되어 있습니다. |
예 |
접두어 |
접두사와 일치하는 개체는 규칙의 영향을 받으며 해당 메타데이터는 지정된 대상으로 전송됩니다. 모든 오브젝트를 일치시키려면 빈 접두사를 지정합니다. Rule 요소에 포함되어 있습니다. |
예 |
목적지 |
규칙의 대상에 대한 컨테이너 태그입니다. Rule 요소에 포함되어 있습니다. |
예 |
urn |
객체 메타데이터가 전송되는 대상의 urn입니다. 다음 속성을 가진 StorageGRID 끝점의 URN이어야 합니다.
엔드포인트는 테넌트 관리자 또는 테넌트 관리 API를 사용하여 구성됩니다. 다음과 같은 형식을 취합니다.
구성 XML을 제출하기 전에 끝점을 구성해야 합니다. 그렇지 않으면 404 오류로 인해 구성이 실패합니다. urn은 Destination 요소에 포함됩니다. |
예 |
예를 요청하십시오
이 예제에서는 버킷에 대한 검색 통합을 활성화하는 방법을 보여 줍니다. 이 예제에서 모든 오브젝트의 오브젝트 메타데이터는 동일한 대상으로 전송됩니다.
PUT /test1?x-ntap-sg-metadata-notification HTTP/1.1 Date: date Authorization: authorization string Host: host <MetadataNotificationConfiguration> <Rule> <ID>Rule-1</ID> <Status>Enabled</Status> <Prefix></Prefix> <Destination> <Urn>urn:sgws:es:::sgws-notifications/test1/all</Urn> </Destination> </Rule> </MetadataNotificationConfiguration>
이 예에서는 접두사와 일치하는 개체의 개체 메타데이터가 /images
한 대상으로 전송되고, 접두사와 일치하는 개체의 개체 메타데이터가 /videos
두 번째 대상으로 전송됩니다.
PUT /graphics?x-ntap-sg-metadata-notification HTTP/1.1 Date: date Authorization: authorization string Host: host <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이 검색 통합 서비스에 의해 생성되었습니다
버킷에 대한 검색 통합 서비스를 활성화하면 개체 메타데이터 또는 태그를 추가, 업데이트 또는 삭제할 때마다 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(있는 경우)가 포함됩니다.
유형 | 항목 이름 | 설명 |
---|---|---|
버킷 및 오브젝트 정보 |
버킷 |
버킷의 이름입니다 |
버킷 및 오브젝트 정보 |
키 |
개체 키 이름입니다 |
버킷 및 오브젝트 정보 |
버전 ID |
오브젝트 버전, 버전 버킷 내 오브젝트 |
버킷 및 오브젝트 정보 |
지역 |
버킷 영역(예: |
시스템 메타데이터 |
크기 |
HTTP 클라이언트에 표시되는 개체 크기(바이트)입니다 |
시스템 메타데이터 |
MD5(MD5) |
개체 해시 |
사용자 메타데이터 |
메타데이터
|
객체에 대한 모든 사용자 메타데이터를 키 값 쌍으로 사용합니다 |
태그 |
태그
|
개체에 대해 정의된 모든 개체 태그를 키 값 쌍으로 사용합니다 |
태그 및 사용자 메타데이터의 경우 StorageGRID는 날짜 및 숫자를 Elasticsearch에 문자열 또는 S3 이벤트 알림으로 전달합니다. 이러한 문자열을 날짜 또는 숫자로 해석하도록 Elasticsearch를 구성하려면 동적 필드 매핑 및 날짜 형식 매핑에 대한 Elasticsearch 지침을 따르십시오. 검색 통합 서비스를 구성하기 전에 인덱스에서 동적 필드 매핑을 활성화해야 합니다. 문서가 인덱싱된 후에는 인덱스에서 문서의 필드 형식을 편집할 수 없습니다. |