<ph type="x-smartling-placeholder"></ph>
현재 Apigee Edge 문서를 보고 있습니다.
Apigee X 문서. 정보
<ph type="x-smartling-placeholder">
버전: 1.5.1
Google Cloud Pub/Sub 서비스의 주제에 메시지를 게시합니다.
이 콘텐츠는 이 확장 프로그램을 구성하고 사용하기 위한 참조를 제공합니다.
기본 요건
확장 문구 정책을 사용하여 API 프록시의 확장 프로그램을 사용하려면 먼저 다음 요건을 충족해야 합니다.
빠른 시작: 콘솔 사용에 설명된 대로 Cloud Pub/Sub 주제를 만듭니다.
주제가 있으면 Cloud Pub/Sub 주제에 게시할 권한을 부여합니다. 예를 들어
roles/pubsub.publisher
역할을 사용하여 주제에 게시할 수 있습니다. Cloud Pub/Sub 역할에 대한 자세한 내용은 액세스 제어를 참조하세요.
Cloud Pub/Sub 정보
Cloud Pub/Sub는 발신자와 수신자를 분리하는 다대다 비동기 메시지 기능을 제공합니다. Cloud Pub/Sub는 낮은 지연 시간과 안정적인 메시지 전달을 제공하며, 개발자는 이를 이용해 Google Cloud Platform과 외부에 호스트된 시스템을 빠르게 통합할 수 있습니다.
Cloud Pub/Sub를 처음 시작하는 경우 Cloud Pub/Sub 문서의 빠른 시작을 살펴보세요.
샘플
다음 예는 Extension콜아웃 정책을 사용하여 Cloud Pub/Sub 확장 프로그램 작업 지원을 구성하는 방법을 보여줍니다.
SMS
이 예에서 publish
작업은 확장 프로그램의 구성에 지정된 주제에 간단한 문자열로 메시지를 게시합니다. publish
작업은 게시된 주제의 게시된 메시지 ID를 반환하고 <Output>
태그로 지정된 변수에 씁니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
<DisplayName>Publish Message</DisplayName>
<Connector>cloud-pub-sub-extension-example</Connector>
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
<Output>topic.message</Output>
</ConnectorCallout>
다음 Assign Message(메시지 할당) 정책은 확장 프로그램의 응답을 저장하는 변수 값을 사용하여 응답 페이로드를 할당합니다. 메시지 ID는 출력 변수의 messageId
속성에 저장됩니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
<DisplayName>Get Topic Message ID</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{topic.message.messageId}</Payload>
</Set>
</AssignMessage>
응답 데이터는 JSON으로 반환됩니다.
{"messageId":"165918654986954"}
따라서 topic.message.messageId
의 값은 165918654986954입니다.
JSON 메시지
이 예시에서 publish
작업은 확장 프로그램의 구성에 지정된 주제에 JSON으로 메시지를 게시합니다. publish
작업은 게시된 주제의 게시된 메시지 ID를 반환하고 <Output>
태그로 지정된 변수에 씁니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
<DisplayName>Publish Message</DisplayName>
<Connector>cloud-pub-sub-extension-example</Connector>
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" }
}
]]></Input>
<Output>topic.message</Output>
</ConnectorCallout>
다음 Assign Message(메시지 할당) 정책은 확장 프로그램의 응답을 저장하는 변수 값을 사용하여 응답 페이로드를 할당합니다. 메시지 ID는 출력 변수의 messageId
속성에 저장됩니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
<DisplayName>Get Topic Message ID</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{topic.message.messageId}</Payload>
</Set>
</AssignMessage>
응답 데이터는 JSON으로 반환됩니다.
{"messageId":"165918654986954"}
따라서 topic.message.messageId
의 값은 165918654986954입니다.
작업
<ph type="x-smartling-placeholder">
publish
이 확장 프로그램의 구성에 지정된 주제에 메시지를 게시합니다.
구문
<Action>publish</Action>
<Input><![CDATA[{
"message" : "message-to-publish" | JSON-structured-data,
"customAttributes": JSON-array
}]]></Input>
문자열 예
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
JSON 구조화된 데이터 예
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" }
}
]]></Input>
맞춤 속성 예
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" },
"customAttributes": {"attr1": "foo", "attr2": "bar"}
}
]]></Input>
요청 매개변수
매개변수 | 설명 | 유형 | 기본값 | 필수 |
---|---|---|---|---|
메시지 | 게시할 메시지입니다. 간단한 문자열을 사용하거나 직접 디자인한 JSON으로 메시지를 구성할 수 있습니다. | 문자열 또는 JSON | 없음 | 예 |
customAttributes | 양식의 메시지에 추가할 커스텀 속성: "customAttributes": {"attr1": "foo", "attr2": "bar"} . |
JSON 배열 | 없음 | 아니요 |
응답
주제에 게시된 메시지의 ID가 포함된 JSON입니다. 예를 들면 다음과 같습니다.
{"messageId":"165918654986954"}
구성 참조
API 프록시에서 사용하기 위해 이 확장 프로그램을 구성하고 배포할 때 다음을 사용하세요.
일반적인 확장 속성
모든 확장 프로그램에는 다음과 같은 속성이 있습니다.
속성 | 설명 | 기본 | 필수 |
---|---|---|---|
name |
확장 프로그램의 구성에 지정할 이름입니다. | 없음 | 지원됨 |
packageName |
Apigee Edge에서 제공하는 확장 프로그램 패키지 이름입니다. | 없음 | 지원됨 |
version |
확장 프로그램을 구성하는 확장 프로그램 패키지의 버전 번호입니다. | 없음 | 지원됨 |
configuration |
추가하는 확장 프로그램 관련 구성 값입니다. 이 확장 프로그램 속성의 속성을 참조하세요. | 없음 | 지원됨 |
이 확장 프로그램의 속성
속성 | 설명 | 기본값 | 필수 |
---|---|---|---|
topic |
게시할 주제입니다. Pub/Sub 서비스(예: 서비스의 GCP 콘솔)에서 이 값을 가져옵니다. 예를 들어 주제 이름은 projects/GCP-PROJECT-ID/topics/TOPIC-NAME 형식일 수 있습니다. |
없음 | 예. |
credentials |
Apigee Edge 콘솔에 입력하면 서비스 계정 키 파일의 콘텐츠입니다. 관리 API를 통해 전송될 때는 서비스 계정 키 파일에서 생성되는 base64 인코딩 값입니다. | 없음 | 예. |