특정 Eventarc Advanced 버스의 경우 Google 소스에서 이벤트를 수집하고 게시하도록 사용 설정하거나 사용 중지할 수 있습니다.
Google 소스의 이벤트는 Cloud Run 함수 생성 또는 Dataflow 작업의 상태 변경과 같은 미디에이션되지 않은 이벤트에 의해 직접 트리거됩니다. 자세한 내용은 Eventarc에서 지원되는 Google 이벤트 유형을 참고하세요.
다음에 유의하세요.
- Google Cloud 프로젝트당
GoogleApiSource
리소스는 1개로 제한됩니다. - Google 소스의 이벤트는
GoogleApiSource
리소스와 동일한 Google Cloud 프로젝트에서만 게시할 수 있습니다. GoogleApiSource
리소스가 있는 Google Cloud 프로젝트와 다른 Google Cloud 프로젝트에 있는 버스에 이벤트를 게시할 수 있습니다. gcloud CLI를 사용하거나 Eventarc API에 요청을 전송하여 구성할 수 있습니다.
Google 소스의 이벤트 사용 설정
Google 소스의 이벤트를 게시하려면 GoogleApiSource
리소스를 만들어야 합니다. 이 리소스는 특정 Eventarc Advanced 버스의 특정 Google Cloud 프로젝트에서 Google API 이벤트를 구독하는 것을 나타냅니다.
다음과 같은 방법으로 Google 소스에서 이벤트 게시를 사용 설정할 수 있습니다.
- Google Cloud Console 사용
- 터미널 또는 Cloud Shell에서 Google Cloud CLI 사용
Eventarc API에 요청 보내기
콘솔
gcloud
터미널을 엽니다.
gcloud beta eventarc google-api-sources create
명령어를 사용하여 Google 소스의 이벤트를 사용 설정할 수 있습니다.gcloud beta eventarc google-api-source create GOOGLE_API_SOURCE_NAME \ --destination-message-bus=BUS_NAME \ --destination-message-bus-project=BUS_PROJECT_ID
다음을 바꿉니다.
GOOGLE_API_SOURCE_NAME
: 특정 버스의 Google API 이벤트 구독을 나타내는GoogleApiSource
리소스의 ID 또는 정규화된 식별자입니다.BUS_NAME
: Google API 이벤트를 구독하려는 버스의 ID 또는 정규화된 식별자BUS_PROJECT_ID
: 버스의 Google Cloud 프로젝트 ID입니다.
선택사항: 다음 플래그를 사용할 수도 있습니다.
--async
: 진행 중인 작업이 완료될 때까지 기다리지 않고 명령어에서 즉시 반환합니다.--crypto-key
: 고객 관리 암호화 키의 정규화된 이름을 지정합니다. 지정하지 않으면 Google-owned and managed keys 이 사용됩니다.--logging-config
: 로깅 수준을 구성합니다. 로깅 수준은NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
중 하나여야 합니다. 자세한 내용은LogSeverity
를 참고하세요.
REST API
Google 소스의 이벤트를 사용 설정하려면 projects.locations.googleApiSources.create
메서드를 사용하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
GOOGLE_API_SOURCE_NAME
: 특정 버스의 Google API 이벤트 구독을 나타내는GoogleApiSource
리소스의 표시 이름입니다(예:my_google_source
).LABEL_KEY
및LABEL_VALUE
: (선택사항) 리소스를 구성하는 데 도움이 되는 라벨 키 및 값 쌍의 맵입니다. Google Cloud 자세한 내용은 라벨이란 무엇인가요?를 참고하세요.ANNOTATION_KEY
및ANNOTATION_VALUE
: (선택사항) 자유 형식 텍스트의 주석 키 및 값 쌍의 맵입니다. 주석을 사용하여 리소스와 연결된 임의의 정보를 연결할 수 있습니다. 자세한 내용은 주석을 참고하세요.DESTINATION
: Google 소스 이벤트를projects/PROJECT_NAME/locations/LOCATION/messageBuses/BUS_NAME
형식으로 게시해야 하는 Eventarc Advanced 버스의 정규화된 식별자입니다. 자세한 내용은 메시지 라우팅을 위한 버스 만들기를 참고하세요.ENCRYPT_KEY
: 선택사항입니다.GoogleApiSource
리소스가 데이터 암호화에 사용해야 하는 Cloud KMS 키로,projects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME
형식입니다. 자세한 내용은 고객 관리 암호화 키 사용을 참고하세요.PROJECT_ID
:GoogleApiSource
리소스를 만들 Google Cloud프로젝트 ID입니다.LOCATION
:GoogleApiSource
리소스를 만들 지원되는 리전(예:us-central1
)LOG_SEVERITY
: 선택사항입니다. 로그 항목에 설명된 이벤트의 최소 심각도입니다.NONE
,DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
중 하나입니다. 기본값은NONE
입니다. 자세한 내용은LogSeverity
을 참고하세요.
JSON 요청 본문:
{ "displayName": "GOOGLE_API_SOURCE_NAME", "labels": {"LABEL_KEY":"LABEL_VALUE"}, "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"}, "destination": "DESTINATION", "cryptoKeyName": "ENCRYPT_KEY", "loggingConfig": {"logSeverity":"LOG_SEVERITY"} }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공한 경우 응답 본문에 새로 생성된 Operation
인스턴스가 포함됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
이제 GoogleApiSource
리소스와 동일한 Google Cloud 프로젝트의 Google 소스에서 발생한 이벤트가 수집되어 버스에 게시됩니다.
Google 소스의 이벤트 사용 중지
특정 Google Cloud 프로젝트의 Google 소스에서 Eventarc Advanced 버스로 이벤트 게시를 사용 중지하려면 GoogleApiSource
리소스를 삭제해야 합니다.
다음과 같은 방법으로 Google 소스에서 이벤트 게시를 사용 중지할 수 있습니다.
- Google Cloud Console 사용
- 터미널 또는 Cloud Shell에서 gcloud CLI 사용
Eventarc API에 요청 보내기
콘솔
Google Cloud 콘솔에서 Eventarc > 버스 세부정보 페이지로 이동합니다.
수정을 클릭합니다.
버스 수정 페이지에서 Google API 메시지 제공업체를 삭제하려면 google-api-source 메시지 소스 (또는 지정한 이름)의
리소스 삭제를 클릭합니다.리소스 삭제 메시지에서 확인을 클릭합니다.
저장을 클릭합니다.
gcloud
터미널을 엽니다.
gcloud beta eventarc google-api-sources delete
명령어를 사용하여 Google 소스의 이벤트를 사용 중지할 수 있습니다.gcloud beta eventarc google-api-source delete GOOGLE_API_SOURCE_NAME \ --location=REGION
다음을 바꿉니다.
GOOGLE_API_SOURCE_NAME
:GoogleApiSource
리소스의 ID 또는 정규화된 식별자입니다.REGION
:GoogleApiSource
리소스의 위치입니다.
REST API
Google 소스의 이벤트를 사용 중지하려면 projects.locations.googleApiSources.delete
메서드를 사용하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
:GoogleApiSource
리소스가 생성된 Google Cloud 프로젝트 ID입니다.LOCATION
:GoogleApiSource
리소스가 생성되는 리전입니다(예:us-central1
).GOOGLE_API_SOURCE_NAME
: 삭제하려는GoogleApiSource
리소스의 이름입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공한 경우 응답 본문에 새로 생성된 Operation
인스턴스가 포함됩니다.
{ "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.eventarc.v1.OperationMetadata", "createTime": "2024-01-25T17:17:45.782370139Z", "target": "projects/PROJECT_ID/locations/LOCATION/googleApiSources/GOOGLE_API_SOURCE_NAME", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
삭제된 GoogleApiSource
리소스와 동일한 Google Cloud 프로젝트의 Google 소스에서 발생하는 이벤트는 더 이상 수집 및 게시되지 않습니다.