2.15.3. 주제 생성
버킷 알림을 생성하기 전에 주제를 생성할 수 있습니다. 주제는 SNS(Simple Notification Service) 엔티티이고 모든 주제 작업(즉, 생성,삭제,목록 및 가져오기 )은 Cryostat 작업입니다. 주제에는 버킷 알림이 생성될 때 사용되는 엔드포인트 매개변수가 있어야 합니다. 요청이 성공하면 응답에 나중에 버킷 알림 요청에서 이 주제를 참조하는 데 사용할 수 있는 ARM(Amazon Resource Name) 항목이 포함됩니다.
topic_arn 은 버킷 알림 구성을 제공하고 주제가 생성된 후 생성됩니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 루트 수준 액세스.
- Ceph Object Gateway 설치
- 사용자 액세스 키 및 시크릿 키.
- 엔드포인트 매개 변수.
프로세스
다음 요청 형식으로 주제를 생성합니다.
구문
POST Action=CreateTopic &Name=TOPIC_NAME [&Attributes.entry.1.key=amqp-exchange&Attributes.entry.1.value=EXCHANGE] [&Attributes.entry.2.key=amqp-ack-level&Attributes.entry.2.value=none|broker|routable] [&Attributes.entry.3.key=verify-ssl&Attributes.entry.3.value=true|false] [&Attributes.entry.4.key=kafka-ack-level&Attributes.entry.4.value=none|broker] [&Attributes.entry.5.key=use-ssl&Attributes.entry.5.value=true|false] [&Attributes.entry.6.key=ca-location&Attributes.entry.6.value=FILE_PATH] [&Attributes.entry.7.key=OpaqueData&Attributes.entry.7.value=OPAQUE_DATA] [&Attributes.entry.8.key=push-endpoint&Attributes.entry.8.value=ENDPOINT] [&Attributes.entry.9.key=persistent&Attributes.entry.9.value=true|false]요청 매개변수는 다음과 같습니다.
-
엔드포인트: 알림을 보낼 끝점의 URL입니다. -
OpaqueData: 불투명 데이터는 주제 구성에서 설정되고 주제에서 트리거한 모든 알림에 추가됩니다. -
persistent: 이 끝점에 대한 알림이 비동기적으로 지속되는지 여부를 나타냅니다. 기본적으로 값은false입니다. HTTP 끝점:
-
URL: https://FQDN:PORT -
포트 기본값은: 그에 따라 HTTP[S]에 80/443을 사용합니다. -
verify-ssl: 클라이언트에서 서버 인증서의 유효성을 검사했는지 여부를 나타냅니다. 기본적으로true입니다.
-
AMQP0.9.1 끝점:
-
URL: amqp://USER:PASSWORD@FQDN:PORT[/VHOST]. -
사용자 및 암호의 기본값은
guest및guest입니다. - 사용자 및 암호 세부 정보는 HTTPS를 통해 제공해야 합니다. 그러지 않으면 주제 생성 요청이 거부됩니다.
-
포트 기본값은: 5672입니다. -
vhost의 기본값은 "/"입니다. -
AMQP-exchange: 교환이 존재해야 하며 주제를 기반으로 메시지를 라우팅할 수 있어야 합니다. 이는 AMQP0.9.1의 필수 매개변수입니다. 동일한 엔드포인트를 가리키는 다양한 주제는 동일한 교환을 사용해야 합니다. AMQP-ack-level: 최종 목적지로 전달되기 전에 브로커에 메시지가 지속될 수 있으므로 승인이 필요합니다. 세 가지 승인 방법이 있습니다.-
none: 브로커로 전송되는 경우 메시지가전달되는것으로 간주됩니다. -
broker: 기본적으로 브로커가 승인한 경우 메시지가전달되는것으로 간주됩니다. 라우팅 가능: 브로커가 소비자에게 라우팅할 수 있는 경우전달된메시지로 간주됩니다.참고특정 매개 변수의 키와 값은 동일한 행 또는 특정 순서로 존재할 필요는 없지만 동일한 인덱스를 사용해야 합니다. 특성 인덱싱은 순차적이거나 특정 값에서 시작할 필요가 없습니다.
참고topic-name은 AMQP 항목에 사용됩니다.
-
-
Kafka 끝점:
-
URL: kafka://USER:PASSWORD@FQDN:PORT. -
use-ssl은 기본적으로false로 설정됩니다.use-ssl이true로 설정된 경우 브로커와의 연결에 보안 연결이 사용됩니다. -
ca-location이 제공되고 보안 연결이 사용되는 경우 브로커를 인증하는 데 기본 CA 대신 지정된 CA가 사용됩니다. - 사용자 및 암호는 HTTP[S]를 통해서만 제공될 수 있습니다. 그러지 않으면 주제 생성 요청이 거부됩니다.
-
사용자 및 암호는
use-ssl과 함께만 제공될 수 있습니다. 그러지 않으면 브로커에 대한 연결이 실패합니다. -
포트 기본값은: 9092입니다. Kafka-ack-level: 최종 목적지로 전달되기 전에 메시지가 브로커에 유지될 수 있으므로 필요한 승인을 종료하는 끝 없음. 두 가지 승인 방법이 있습니다.-
none: 브로커로 전송되는 경우 메시지가전달되는것으로 간주됩니다. -
broker: 기본적으로 브로커가 승인한 경우 메시지가전달되는것으로 간주됩니다.
-
-
-
다음은 응답 형식의 예입니다.
예
<CreateTopicResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/">
<CreateTopicResult>
<TopicArn></TopicArn>
</CreateTopicResult>
<ResponseMetadata>
<RequestId></RequestId>
</ResponseMetadata>
</CreateTopicResponse>
응답의 Amazon Resource Name(ARN) 주제는 arn:aws:sns:ZONE_GROUP:TENANT: 체계를 갖습니다.
다음은 AMQP0.9.1 끝점의 예입니다.
예
client.create_topic(Name='my-topic' , Attributes={'push-endpoint': 'amqp://127.0.0.1:5672', 'amqp-exchange': 'ex1', 'amqp-ack-level': 'broker'}) "