등록은 특정 버스에 대한 구독을 식별합니다. 등록은 대상에 라우팅되는 메시지를 결정하는 일치 기준을 정의합니다. 또한 일치하는 메시지를 라우팅해야 하는 파이프라인을 지정합니다. 파이프라인을 사용하면 대상 대상을 구성할 수 있으며 대상에 전송하기 전에 일치하는 이벤트를 변환할 수 있는 옵션도 제공됩니다.
다음에 유의하세요.
- 파이프라인과 등록은 동일한 Google Cloud 프로젝트에 있어야 합니다. (구독 중인 버스는 동일한 프로젝트에 있거나 다른 프로젝트에 있을 수 있습니다.)
- 하나의 파이프라인을 여러 등록에 사용할 수 있습니다.
- 하나의 대상만 파이프라인에서 라우팅된 메시지의 대상이 될 수 있습니다.
시작하기 전에
파이프라인 또는 등록을 구성하기 전에 Eventarc Advanced 버스를 만들어야 합니다.
필요한 역할
Identity and Access Management(IAM) 역할에는 Google Cloud 리소스에 특정 작업을 실행할 수 있는 권한 집합이 포함되어 있습니다. 메시지를 라우팅하기 위해 파이프라인과 등록을 만들 때는 다음 역할과 권한이 필요합니다.
- 파이프라인을 생성하는 데 필요한 권한을 얻으려면 관리자에게 파이프라인 프로젝트에 대한 Eventarc 개발자(roles/eventarc.developer) IAM 역할을 부여해 달라고 요청하세요. 이 사전 정의된 역할에는 파이프라인을 만드는 데 필요한eventarc.pipelines.create권한이 포함되어 있습니다.
- 등록을 생성하는 데 필요한 권한을 얻으려면 관리자에게 등록 프로젝트에 대한 Eventarc 개발자(roles/eventarc.developer) IAM 역할을 부여해 달라고 요청하세요. 이 사전 정의된 역할에는 등록을 만드는 데 필요한eventarc.enrollments.create권한이 포함되어 있습니다.
- 버스를 사용하는 데 필요한 권한을 얻으려면 관리자에게 버스 프로젝트에 대한 Eventarc 메시지 버스 사용자(roles/eventarc.messageBusUser) IAM 역할을 부여해 달라고 요청하세요. 이 사전 정의된 역할에는 버스를 사용하는 데 필요한eventarc.buses.use권한이 포함되어 있습니다.
역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요. 커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
등록 및 파이프라인 만들기
다음과 같은 방법으로 파이프라인과 등록을 만들 수 있습니다.
- Google Cloud 콘솔에서 다음을 수행합니다.
- 터미널 또는 Cloud Shell에서 Google Cloud CLI 사용
- Eventarc API에 요청을 전송하는 경우
콘솔
Google Cloud 콘솔의 파이프라인 페이지에서 파이프라인과 등록을 동시에 만들 수 있습니다.
- 등록을 만들려면 Google Cloud 콘솔에서 Eventarc > 파이프라인 페이지로 이동합니다. 
- 파이프라인 만들기를 클릭합니다. 
- 파이프라인 세부정보 창에서 다음을 수행합니다. - 파이프라인 이름을 입력합니다. 파이프라인의 ID입니다.
- 리전 목록에서 파이프라인을 배포할 리전을 선택합니다. 파이프라인은 버스와 동일한 리전에 만들어야 합니다. 자세한 내용은 Eventarc Advanced 위치를 참고하세요.
- 선택사항: 로그 심각도 목록에서 로그 항목에 설명된 이벤트의 최소 심각도를 선택합니다. 기본값은 없음입니다. 자세한 내용은 LogSeverity를 참고하세요.
- 선택사항: 재시도 정책 섹션에서 기본 구성을 수정하여 이벤트를 재시도할 수 있습니다.
- 암호화에서 기본값 Google-managed encryption key을 그대로 사용하거나 Cloud KMS 키를 선택합니다. 자세한 내용은 고객 관리 암호화 키(CMEK)를 참조하세요.
- Cloud KMS 키를 선택하는 경우 다음 단계를 따르세요. - 키 유형 목록에서 키를 관리하는 방법을 선택합니다. - 키를 수동으로 관리하거나 키링과 키를 주문형으로 생성할 수 있는 Autokey를 사용할 수 있습니다. Autokey 옵션이 사용 중지된 경우 아직 현재 리소스 유형과 통합되지 않은 것입니다. 
- 고객 관리 키 선택에서 키를 선택합니다. - 고객 관리 키를 보려면 먼저 리전을 선택해야 합니다. 
- 선택사항: 키의 리소스 이름을 수동으로 입력하려면 고객 관리 키 선택 목록에서 수동으로 키 입력을 클릭하고 지정된 형식의 키 이름을 입력합니다. 
- 메시지가 표시되면 Eventarc 서비스 에이전트에게 - cloudkms.cryptoKeyEncrypterDecrypter역할을 부여합니다.
 
- 선택사항: 라벨을 추가하려면 라벨 추가를 클릭합니다. 라벨은Google Cloud 리소스를 구성하는 데 도움이 되는 키-값 쌍입니다. 자세한 내용은 라벨이란 무엇인가요?를 참조하세요. 
- 계속을 클릭합니다. 
 
- 등록 창에서 다음을 수행합니다. - 등록 추가를 클릭합니다.
- 등록 이름을 입력합니다.
- 버스 목록에서 구독할 버스를 선택합니다.
- CEL 표현식 필드에 CEL을 사용하여 평가 표현식을 작성합니다. 예를 들면 다음과 같습니다. - message.type == "google.cloud.dataflow.job.v1beta3.statusChanged"- 기본 표현식인 true는 모든 메시지가 필터링되지 않고 라우팅됨을 나타냅니다. 
- 완료를 클릭합니다. 
- 다른 등록을 추가하거나 계속을 클릭합니다. 
 
- 선택사항: 이벤트 미디에이션 창에서 다음을 수행하거나 계속을 클릭합니다. - 변환 적용 체크박스를 선택합니다.
- 인바운드 형식 목록에서 해당하는 형식을 선택합니다. - 변환을 적용할 때는 파이프라인의 인바운드 데이터 형식을 지정해야 하며 모든 이벤트가 해당 형식과 일치해야 합니다. 
- Avro 또는 Protobuf 형식의 경우 인바운드 스키마를 지정해야 합니다. 원하는 경우 인바운드 스키마를 업로드할 수 있습니다. 자세한 내용은 수신된 이벤트 형식 지정을 참조하세요. 
- CEL 표현식 필드에서 CEL을 사용하여 변환 표현식을 작성합니다. 
- 계속을 클릭합니다. 
 
- 대상 창에서 다음을 수행합니다. - 대상 유형 목록에서 메시지를 라우팅할 대상 유형을 선택합니다. 대상 유형에 따라 다음을 수행합니다. - HTTP 엔드포인트: 대상 URI를 지정합니다. 호스트는 Virtual Private Cloud (VPC) 네트워크에서 정적 IP 주소이거나 Cloud DNS를 사용하여 확인할 수 있는 서비스의 내부 Domain Name System (DNS) 호스트 이름일 수 있습니다. - 예를 들어 HTTP - POST요청으로 이벤트를 수신할 Cloud Run 서비스 URL을 타겟팅할 수 있습니다. Cloud Run 호스팅 서비스의 첫 번째 배포 시 제공된 안정적인 자동 할당- run.appURL을 사용합니다. 또는 HTTP- POST요청으로 이벤트를 수신할 BigQuery 테이블을 타겟팅할 수 있습니다. BigQuery API의 HTTP 요청을 구성하기 위해 메시지 바인딩을 정의합니다.- 이 대상 유형을 사용하여 Cloud Run 함수 (1세대 및 현재 버전)의 HTTP 엔드포인트를 지정할 수도 있습니다. Cloud Run 함수에 대해 HTTP 트리거를 지정할 때는 요청을 수신할 수 있는 URL이 함수에 할당됩니다. 
- Eventarc Advanced 버스: Eventarc Advanced 버스를 선택합니다. 버스는 파이프라인과 동일한 프로젝트 및 리전에 배포되어야 합니다. 
- Workflows 워크플로: Workflows 워크플로를 선택합니다. 워크플로 실행을 트리거할 수 있습니다. 워크플로 실행은 워크플로 정의에 포함된 논리의 단일 실행입니다. 워크플로는 파이프라인과 동일한 프로젝트에 배포되어야 합니다. 
- Pub/Sub 주제: Pub/Sub 주제를 선택하거나 만듭니다. 주제는 메시지가 라우팅되기 전에 만들어야 하며 파이프라인과 동일한 프로젝트에 있어야 합니다. 주제 스키마를 사용하는 경우 이벤트 메시지를 적절하게 변환해야 합니다. 
- Cloud Run 서비스 (HTTP 사용): 루트 URL 경로 ( - /)로 전송되는 HTTP- POST요청으로 이벤트를 수신할 Cloud Run 서비스를 선택합니다. 선택적으로 이벤트를 전송할 대상 서비스의 상대 URL 경로를 지정할 수 있습니다.
- Cloud Run 작업 (HTTP 사용): HTTP - POST요청으로 이벤트를 수신할 Cloud Run 작업을 선택합니다.
 
- 해당하는 경우 아웃바운드 형식 목록에서 형식을 선택합니다. - 파이프라인에 인바운드 데이터 형식이 지정되지 않은 경우 아웃바운드 형식을 설정할 수 없습니다. 
- 해당하는 경우 메시지 바인딩을 적용합니다. 자세한 내용은 메시지 바인딩 정의를 참고하세요. 
- 인증을 사용 설정하려면 인증 사용 설정 체크박스를 선택합니다. - 인증 헤더 목록에서 생성하여 HTTP 요청에 - Authorization헤더로 연결할 토큰 유형을 선택합니다.- OAuth 토큰은 일반적으로 - *.googleapis.com에 호스팅된 Google API를 호출할 때만 사용해야 합니다. 선택적으로 이 토큰의 범위를 지정합니다. 그렇지 않으면 기본값은- https://www.googleapis.com/auth/cloud-platform입니다.Google Cloud 서비스의 경우 권장사항은 세부적인 액세스 제어를 제공하는 Identity and Access Management (IAM)와 함께 모든 Google Cloud API가 포함된- https://www.googleapis.com/auth/cloud-platform범위를 사용하는 것입니다.- 다른 Eventarc 고급 버스, Pub/Sub 또는 Workflows에 대한 모든 요청에는 승인된 서비스 계정 중 하나에 대해 Google에서 서명한 OAuth 토큰이 포함된 HTTP 승인 헤더가 있어야 합니다. 
- OIDC 토큰은 토큰을 직접 검증하려는 엔드포인트를 비롯한 여러 시나리오에서 사용할 수 있습니다. 또한 이 토큰의 대상을 지정합니다. 일반적으로 타겟 파이프라인의 URL과 일치해야 합니다. 지정하지 않으면 요청 매개변수를 포함한 전체 URL이 사용됩니다. - Cloud Run은 모든 요청에 대해 IAM 검사를 실행하며 - run.routes.invoke권한을 사용하여 다음 두 가지 방법 중 하나로 Cloud Run 서비스에 액세스할 수 있는 사용자를 구성할 수 있습니다.- 서비스 액세스를 허용할 서비스 계정 또는 그룹을 선택할 수 있는 권한을 부여합니다. 모든 요청에는 승인된 서비스 계정 중 하나에 대해 Google에서 서명한 OpenID Connect 토큰이 포함된 HTTP 승인 헤더가 있어야 합니다. 
- 인증되지 않은 액세스를 허용하려면 allUsers에게 권한을 부여합니다. 
 - 자세한 내용은 Cloud Run 액세스 제어를 참조하세요. 
 - 토큰 유형에 대해 자세히 알아보세요. 
- 서비스 계정 목록에서 대상 서비스를 호출할 서비스 계정을 선택합니다. 또는 새 서비스 계정을 만들 수 있습니다. - 이는 파이프라인과 연결되어 있고 이전에 Eventarc Advanced에 필요한 특정 역할을 부여한 IAM 서비스 계정 이메일을 지정합니다. 
 
 
- 만들기를 클릭합니다. 
gcloud
gcloud CLI를 사용할 때는 먼저 파이프라인을 만든 다음 적절한 명령어를 사용하여 등록을 만듭니다.
파이프라인
- 터미널을 엽니다. 
- gcloud eventarc pipelines create명령어를 사용하여 파이프라인을 만듭니다.- gcloud eventarc pipelines create PIPELINE_NAME \ --destinations=DESTINATION_KEY \ --location=LOCATION - 다음을 바꿉니다. - PIPELINE_NAME: 파이프라인의 ID 또는 정규화된 이름
- DESTINATION_KEY: 파이프라인의 대상을 구성하는 하나 이상의 키-값 쌍- 다음 키 중 하나만 설정해야 합니다. - http_endpoint_uri: 대상 URI 호스트는 Virtual Private Cloud (VPC) 네트워크에서 정적 IP 주소이거나 Cloud DNS를 사용하여 확인할 수 있는 서비스의 내부 Domain Name System (DNS) 호스트 이름일 수 있습니다. 원하는 경우- http_endpoint_message_binding_template를 설정하여 메시지 바인딩을 지정할 수도 있습니다.- 예를 들어 이 키를 사용하여 HTTP - POST요청으로 이벤트를 수신할 Cloud Run 서비스 URL을 타겟팅할 수 있습니다. Cloud Run 호스팅 서비스의 첫 번째 배포 시 제공된 안정적인 자동 할당- run.appURL을 사용합니다. 또는 BigQuery 테이블이나 Cloud Run 작업을 타겟팅할 수 있습니다. 필요한 경우 대상 API의 HTTP 요청을 구성하는 메시지 바인딩을 정의해야 합니다.- 이 대상 유형을 사용하여 Cloud Run 함수(1세대 및 현재 버전)의 HTTP 엔드포인트를 지정할 수도 있습니다. Cloud Run 함수에 대해 HTTP 트리거를 지정할 때는 요청을 수신할 수 있는 URL이 함수에 할당됩니다. - 자세한 내용은 다음 이벤트 대상의 빠른 시작을 참고하세요. BigQuery 테이블, Cloud Run 작업, Cloud Run 서비스 
- message_bus—Eventarc Advanced 버스의 ID입니다. 버스는 파이프라인과 동일한 프로젝트 및 리전에 배포되어야 합니다.
- pubsub_topic: Pub/Sub 주제의 ID입니다. 메시지를 라우팅하려면 먼저 주제를 만들어야 하며, 주제 스키마를 사용하는 경우 이벤트 메시지를 적절하게 변환해야 합니다.
- workflow: Workflows 워크플로의 ID입니다. 워크플로 정의에 포함된 논리의 단일 실행인 워크플로 실행을 트리거할 수 있습니다. 워크플로는 파이프라인과 동일한 프로젝트에 배포되어야 합니다.
 - 인증을 사용 설정하려면 다음 키 중 하나를 설정하면 됩니다. - google_oidc_authentication_service_account: 토큰을 직접 검증하려는 엔드포인트를 비롯한 다양한 시나리오에 사용할 수 있는 OIDC 토큰을 생성하는 데 사용되는 서비스 계정 이메일입니다. 원하는 경우- google_oidc_authentication_audience을 설정하여 이 토큰의 대상을 지정할 수 있습니다. 일반적으로 대상 파이프라인의 URL과 일치해야 합니다. 지정하지 않으면 요청 매개변수를 포함한 전체 URL이 사용됩니다.- Cloud Run은 모든 요청에 대해 IAM 검사를 실행하며 - run.routes.invoke권한을 사용하여 다음 두 가지 방법 중 하나로 Cloud Run 서비스에 액세스할 수 있는 사용자를 구성할 수 있습니다.- 서비스 액세스를 허용할 서비스 계정 또는 그룹을 선택할 수 있는 권한을 부여합니다. 모든 요청에는 승인된 서비스 계정 중 하나에 대해 Google에서 서명한 OpenID Connect 토큰이 포함된 HTTP 승인 헤더가 있어야 합니다. 
- 인증되지 않은 액세스를 허용하려면 allUsers에게 권한을 부여합니다. 
 - 자세한 내용은 Cloud Run 액세스 제어 를 참고하세요. 
- oauth_token_authentication_service_account:- *.googleapis.com에서 호스팅되는 Google API를 호출할 때만 일반적으로 사용해야 하는 OAuth 토큰을 생성하는 데 사용되는 서비스 계정 이메일입니다. 원하는 경우- oauth_token_authentication_scope를 설정하여 이 토큰의 범위를 지정할 수 있습니다. 그렇지 않으면 기본값은- https://www.googleapis.com/auth/cloud-platform입니다.Google Cloud 서비스의 경우 권장사항은 세부적인 액세스 제어를 제공하는 Identity and Access Management (IAM)와 함께 모든 Google Cloud API가 포함된- https://www.googleapis.com/auth/cloud-platform범위를 사용하는 것입니다.- 다른 Eventarc 고급 버스, Pub/Sub 또는 Workflows에 대한 모든 요청에는 승인된 서비스 계정 중 하나에 대해 Google에서 서명한 OAuth 토큰이 포함된 HTTP 승인 헤더가 있어야 합니다. - 토큰 유형에 대해 자세히 알아보세요. 
 - 선택사항: 다음 키 중 하나를 설정할 수 있습니다. - output_payload_format_avro_schema_definition
- output_payload_format_json
- output_payload_format_protobuf_schema_definition- 출력 형식을 설정하는 경우 입력 형식도 지정해야 합니다 (다음 - input-payload-format-*플래그 참고).
 - 선택사항: - http_endpoint_uri이 대상 키로 사용되지 않는 경우 다음 키를 설정할 수 있습니다.- project: 대상 리소스의 Google Cloud 프로젝트 ID입니다. 기본적으로 파이프라인의 프로젝트 ID가 사용됩니다.
- location: 대상 리소스의 위치입니다. 기본적으로 파이프라인의 위치가 사용됩니다.
 
- LOCATION: 지원되는 Eventarc Advanced 리전- 또는 gcloud CLI 위치 속성을 설정할 수 있습니다. - gcloud config set eventarc/location LOCATION
 - 선택사항: 다음 플래그를 사용할 수 있습니다. - --async를 사용하여 진행 중인 작업이 완료되기를 기다리지 않고 명령어에서 즉시 반환합니다.
- --crypto-key: 고객 관리 암호화 키의 정규화된 이름을 지정합니다. 지정하지 않으면 Google-owned and managed keys 가 사용됩니다.
- --logging-config: 로깅 수준을 구성합니다. 로깅 수준은- NONE,- DEBUG,- INFO,- NOTICE,- WARNING,- ERROR,- CRITICAL,- ALERT,- EMERGENCY중 하나여야 합니다.
- --mediations를 사용하여 변환을 적용합니다.- transformation_template는 지원되는 유일한 템플릿이며 파이프라인당 하나의 미디에이션만 지원됩니다. 예를 들면 다음과 같습니다.- --mediations=transformation_template='message.removeFields(["id\ ","credit_card_number","age"])'- 변환을 적용하는 경우 다음 플래그 중 하나를 사용하여 입력 형식을 지정해야 합니다. 
- 입력 형식을 지정하는 다음 중 하나 - --input-payload-format-avro-schema-definition
- --input-payload-format-json
- --input-payload-format-protobuf-schema-definition
 
- --max-retry-attempts,- --max-retry-delay,- --min-retry-delay에서 이벤트를 다시 시도
 - 예를 들면 다음과 같습니다. - gcloud eventarc pipelines create my-pipeline \ --destinations=http_endpoint_uri='https://example-endpoint.com',oauth_token_authentication_service_account=example-service-account@example-project.gserviceaccount.iam.com,oauth_token_authentication_scope='https://www.googleapis.com/auth/cloud-platform',output_payload_format_avro_schema_definition='{"type": "record","name": "my_record", "fields": [{"name": "my_field", "type":"string"}]}' \ --input-payload-format-avro-schema-definition='{"type":"record", "name": "my_record", "fields": [{"name": "my_field","type": "string"}]}' \ --location=us-central1 \ --async- 자세한 내용과 예시는 gcloud CLI 문서를 참고하세요. 
등록
- 터미널을 엽니다. 
- gcloud eventarc enrollments create명령어를 사용하여 등록을 만듭니다.- gcloud eventarc enrollments create ENROLLMENT_NAME \ --cel-match=MATCH_EXPRESSION \ --destination-pipeline=PIPELINE_NAME \ --message-bus=BUS_NAME \ --message-bus-project=PROJECT_ID \ --location=LOCATION - 다음을 바꿉니다. - ENROLLMENT_NAME: 등록의 ID 또는 정규화된 이름
- MATCH_EXPRESSION: CEL을 사용하는 이 등록의 일치 표현식입니다(예:- "message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'").
- PIPELINE_NAME: 이 등록의 대상 파이프라인 ID 또는 정규화된 이름
- BUS_NAME: Eventarc Advanced 버스의 ID 또는 정규화된 이름
- PROJECT_ID: 버스의 Google Cloud 프로젝트 ID입니다.
- LOCATION: 지원되는 Eventarc Advanced 리전- 또는 gcloud CLI 위치 속성을 설정할 수 있습니다. - gcloud config set eventarc/location LOCATION
 - 선택사항: 다음 플래그를 사용할 수 있습니다. - 진행 중인 작업이 완료될 때까지 기다리지 않고 명령어에서 즉시 반환하려면 --async를 사용합니다.
 - 예를 들면 다음과 같습니다. - gcloud eventarc enrollments create my-enrollment \ --cel-match="message.type == 'google.cloud.dataflow.job.v1beta3.statusChanged'" \ --destination-pipeline=my-pipeline \ --message-bus=my-message-bus \ --message-bus-project=another-google-cloud-project \ --location=us-central1 \ --async
REST API
Eventarc API에 요청을 보낼 때는 먼저 파이프라인을 만든 다음 등록을 만듭니다.
파이프라인
파이프라인을 만들려면 projects.locations.pipelines.create 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- name:- projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME형식의 파이프라인 전체 리소스 이름- 다음을 바꿉니다. - PROJECT_ID: 파이프라인 프로젝트의 Google Cloud프로젝트 ID
- LOCATION: 파이프라인이 배포될 리전입니다(예:- us-central1).
- PIPELINE_NAME: 파이프라인의 이름
 
- LABEL_KEY및- LABEL_VALUE: (선택사항) Google Cloud 리소스를 구성하는 데 도움이 되는 라벨 키 및 값 쌍의 맵입니다. 자세한 내용은 라벨이란 무엇인가요?를 참고하세요.
- ANNOTATION_KEY및- ANNOTATION_VALUE: (선택사항) 자유 형식 텍스트의 주석 키 및 값 쌍의 맵입니다. 이를 사용하여 리소스와 연결된 임의의 정보를 연결할 수 있습니다. 자세한 내용은 주석을 참조하세요.
- LOG_SEVERITY: 선택사항입니다. 로그 항목에 설명된 이벤트의 최소 심각도입니다.- NONE,- DEBUG,- INFO,- NOTICE,- WARNING,- ERROR,- CRITICAL,- ALERT,- EMERGENCY중 하나입니다. 기본값은- NONE입니다. 자세한 내용은- LogSeverity를 참조하세요.
- destinations: 메시지가 전달될 대상입니다. 원하는 경우- messageBindingTemplate를 설정하여 메시지 바인딩을 지정할 수 있습니다. 자세한 내용은- Destination타겟을 참고하세요. 하나의 대상만 지원됩니다.- httpEndpoint: 대상 URI(- HTTP_URI). 호스트는 가상 사설 클라우드 (VPC) 네트워크에서 주소를 지정할 수 있는 고정 IP 주소 또는 Cloud DNS를 사용하여 확인할 수 있는 서비스의 내부 도메인 이름 시스템 (DNS) 호스트 이름일 수 있습니다.- 예를 들어 HTTP - POST요청으로 이벤트를 수신하는 Cloud Run 서비스 URL을 타겟팅할 수 있습니다. Cloud Run 호스팅 서비스의 첫 번째 배포 시 제공된 안정적인 자동 할당- run.appURL을 사용합니다. 또는 BigQuery 테이블이나 Cloud Run 작업을 타겟팅할 수 있습니다. 필요한 경우 대상 API의 HTTP 요청을 구성하는 메시지 바인딩을 정의해야 합니다.- 이 대상 유형을 사용하여 Cloud Run 함수(1세대 및 현재 버전)의 HTTP 엔드포인트를 지정할 수도 있습니다. Cloud Run 함수에 대해 HTTP 트리거를 지정할 때는 요청을 수신할 수 있는 URL이 함수에 할당됩니다. - 자세한 내용은 다음 이벤트 대상의 빠른 시작을 참고하세요. BigQuery 테이블, Cloud Run 작업, Cloud Run 서비스 
- messageBus: Eventarc Advanced 버스 버스는 파이프라인과 동일한 프로젝트 및 리전에 배포되어야 합니다.
- topic: 파이프라인과 동일한 프로젝트에서 먼저 만들어야 하는 Pub/Sub 주제 주제 스키마를 사용하는 경우 이벤트 메시지를 적절하게 변환해야 합니다.
- workflow: 워크플로 워크플로입니다. 워크플로 정의에 포함된 논리의 단일 실행인 워크플로 실행을 트리거할 수 있습니다. 워크플로는 파이프라인과 동일한 프로젝트에 배포되어야 합니다.
 
- SERVICE_ACCOUNT_EMAIL: OIDC 토큰을 생성하는 데 사용되는 서비스 계정 이메일의 이름입니다. 이 토큰은 토큰을 직접 검증하려는 엔드포인트를 비롯한 다양한 시나리오에 사용할 수 있습니다. 원하는 경우- audience를 설정하여 이 토큰의 대상을 지정할 수 있습니다. 일반적으로 대상 파이프라인의 URL과 일치해야 합니다. 지정하지 않으면 요청 매개변수를 포함한 전체 URL이 사용됩니다.- 또는 - oauthToken를 사용하여 OAuth 토큰을 생성하는 데 사용되는 서비스 계정 이메일을 지정할 수 있습니다. 이 토큰은 일반적으로- *.googleapis.com에 호스팅된 Google API를 호출할 때만 사용해야 합니다. 원하는 경우- scope를 설정하여 이 토큰의 범위를 지정할 수 있습니다. 그렇지 않으면 기본값은- https://www.googleapis.com/auth/cloud-platform입니다. Google Cloud서비스의 경우 세부적인 액세스 제어를 제공하는 Identity and Access Management (IAM)와 함께 모든 Google Cloud API가 포함된- https://www.googleapis.com/auth/cloud-platform범위를 사용하는 것이 좋습니다.- 다른 Eventarc 고급 버스, Pub/Sub 또는 Workflows에 대한 모든 요청에는 승인된 서비스 계정 중 하나에 대해 Google에서 서명한 OAuth 토큰이 포함된 HTTP 승인 헤더가 있어야 합니다. - 토큰 유형에 대해 자세히 알아보세요. 
JSON 요청 본문:
{
  "name": "projects/PROJECT_ID/regions/LOCATION/pipelines/PIPELINE_NAME",
  "labels": {"LABEL_KEY":"LABEL_VALUE"},
  "annotations": {"ANNOTATION_KEY":"ANNOTATION_VALUE"},
  "loggingConfig": {"logSeverity":"LOG_SEVERITY"},
  "destinations": [{"httpEndpoint": {"uri": "HTTP_URI"},
  "authenticationConfig": {"googleOidc": {"serviceAccount": "SERVICE_ACCOUNT_EMAIL"}}}]
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공한 경우 응답 본문에 새로 생성된 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/pipelines/PIPELINE_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
등록
등록을 만들려면 projects.locations.enrollments.create 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- ENROLLMENT_NAME: 등록의 표시 이름입니다(예:- my_enrollment).
- MATCH_EXPRESSION: 이 등록이 적용되는 메시지를 식별하는 CEL 표현식입니다. 예를 들면- message.type == 'hello-world-type'입니다.
- destination: 타겟 파이프라인의 전체 리소스 이름입니다. 형식은- projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME입니다.- 다음을 바꿉니다. - PROJECT_ID: 파이프라인 프로젝트의 Google Cloud프로젝트 ID
- LOCATION: 파이프라인이 배포되는 리전입니다(예:- us-central1).
- PIPELINE_NAME: 파이프라인의 이름
 
- message_bus: 메시지의 소스를 식별하는 버스의 전체 리소스 이름입니다. 형식은- projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME입니다.- 다음을 바꿉니다. - BUS_PROJECT_ID: 버스 프로젝트의 Google Cloud 프로젝트 ID입니다.
- BUS_LOCATION: 버스가 배포되는 리전입니다(예:- us-central1).
- BUS_NAME: 메시지 버스의 이름
 
JSON 요청 본문:
{
  "display_name": "ENROLLMENT_NAME",
  "cel_match": "MATCH_EXPRESSION",
  "message_bus": "projects/BUS_PROJECT_ID/locations/BUS_LOCATION/messageBuses/BUS_NAME",
  "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공한 경우 응답 본문에 새로 생성된 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/enrollments/ENROLLMENT_NAME",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
등록 나열
다음과 같은 방법으로 등록을 나열할 수 있습니다.
- Google Cloud 콘솔에서 다음을 수행합니다.
- 터미널 또는 Cloud Shell에서 gcloud CLI 사용
- Eventarc API에 요청을 전송하는 경우 
콘솔
- 특정 파이프라인의 등록을 나열하려면 Google Cloud 콘솔에서 Eventarc > 파이프라인 페이지로 이동합니다. 
- 등록을 나열할 파이프라인의 이름을 클릭합니다. - 파이프라인 세부정보 페이지가 열립니다. - 등록 탭에는 파이프라인과 연결된 등록이 나열됩니다. 
gcloud
- 터미널을 엽니다. 
- gcloud eventarc enrollments list명령어를 사용하여 등록을 나열합니다.- gcloud eventarc enrollments list \ --location=LOCATION - LOCATION을 지원되는 Eventarc Advanced 리전으로 바꿉니다.
REST API
등록을 나열하려면 projects.locations.enrollments.list 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud프로젝트 ID
- LOCATION: 등록이 생성되는 리전(예:- us-central1)
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공하면 응답 본문에 Enrollment 인스턴스가 포함되고 응답은 다음과 유사해야 합니다.
{
  "enrollments": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/enrollments/ENROLLMENT_NAME",
      "uid": "06e396f5-2d4f-43d2-961f-fd2c88403326",
      "createTime": "2025-03-26T17:57:25.214845320Z",
      "updateTime": "2025-03-26T17:57:45.136172180Z",
      "celMatch": "message.type == \"hello-world-type\"",
      "messageBus": "projects/PROJECT_ID/locations/LOCATION/messageBuses/BUS_NAME",
      "destination": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME"
    },
    {...}
  ]
}
등록 삭제
다음 방법으로 등록을 삭제할 수 있습니다.
- Google Cloud 콘솔에서 다음을 수행합니다.
- 터미널 또는 Cloud Shell에서 gcloud CLI 사용
- Eventarc API에 요청을 전송하는 경우 
콘솔
- 등록을 삭제하려면 Google Cloud 콘솔에서 Eventarc > 파이프라인 페이지로 이동합니다. 
- 등록을 삭제할 파이프라인의 이름을 클릭합니다. - 파이프라인 세부정보 창이 열립니다. 
- 수정을 클릭합니다. 
- 계속을 클릭합니다. - 등록 창이 열립니다. 
- 삭제할 등록 정보에 대해 삭제 아이콘을 클릭합니다. 
- 저장을 클릭합니다. 
gcloud
- 터미널을 엽니다. 
- gcloud eventarc enrollments delete명령어를 사용하여 등록을 삭제합니다.- gcloud eventarc enrollments delete ENROLLMENT_NAME \ --location=LOCATION - 다음을 바꿉니다. - ENROLLMENT_NAME: 등록의 ID 또는 정규화된 이름
- LOCATION: 등록의 지원되는 Eventarc Advanced 리전
 
REST API
등록을 삭제하려면 projects.locations.enrollments.delete 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- ENROLLMENT_NAME: 삭제하려는 등록의 표시 이름(예:- my_enrollment)
- PROJECT_ID: Google Cloud프로젝트 ID
- LOCATION: 등록이 배포되는 리전입니다(예:- us-central1).
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공한 경우 응답 본문에 새로 생성된 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/enrollments/ENROLLMENT_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}
파이프라인 나열
다음 방법으로 파이프라인을 나열할 수 있습니다.
- Google Cloud 콘솔에서 다음을 수행합니다.
- 터미널 또는 Cloud Shell에서 gcloud CLI 사용
- Eventarc API에 요청을 전송하는 경우 
콘솔
Google Cloud 콘솔에서 Eventarc > 파이프라인 페이지로 이동합니다.
파이프라인이 나열됩니다. 원하는 경우 필터를 사용하여 검색을 제한할 수 있습니다.
gcloud
- 터미널을 엽니다. 
- gcloud eventarc pipelines list명령어를 사용하여 등록을 나열합니다.- gcloud eventarc pipelines list \ --location=LOCATION - LOCATION을 지원되는 Eventarc Advanced 리전으로 바꿉니다.
REST API
파이프라인을 나열하려면 projects.locations.pipelines.list 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: Google Cloud프로젝트 ID
- LOCATION: 파이프라인이 생성되는 리전(예:- us-central1)
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공하면 응답 본문에 Pipeline 인스턴스가 포함되고 응답은 다음과 유사해야 합니다.
{
  "pipelines": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/pipelines/PIPELINE_NAME",
      "createTime": "2025-01-10T20:32:11.606516066Z",
      "updateTime": "2025-03-26T18:02:34.886616683Z",
      "uid": "7d58dd18-323a-43f6-a456-4f8c20a70218",
      "destinations": [
        {
          "httpEndpoint": {
            "uri": "HTTP_URI"
          },
          "authenticationConfig": {
            "googleOidc": {
              "serviceAccount": "SERVICE_ACCOUNT_EMAIL"
            }
          }
        }
      ],
      "loggingConfig": {
        "logSeverity": "NONE"
      },
      "retryPolicy": {
        "maxAttempts": 5,
        "minRetryDelay": "1s",
        "maxRetryDelay": "60s"
      }
    },
    {...}
  ]
}
파이프라인 삭제
다음 방법으로 파이프라인을 삭제할 수 있습니다.
- Google Cloud 콘솔에서 다음을 수행합니다.
- 터미널 또는 Cloud Shell에서 gcloud CLI 사용
- Eventarc API에 요청을 전송하는 경우
파이프라인을 삭제하는 데 10분 이상 걸릴 수 있습니다.
콘솔
- 파이프라인을 삭제하려면 Google Cloud 콘솔에서 Eventarc > 파이프라인 페이지로 이동합니다. 
- 파이프라인 목록에서 삭제할 파이프라인 이름 옆에 있는 체크박스를 선택합니다. 
- 삭제를 클릭합니다. 
- Delete를 입력하여 삭제를 확인합니다.
- 삭제를 클릭합니다. 
gcloud
- 터미널을 엽니다. 
- gcloud eventarc pipelines delete명령어를 사용하여 파이프라인을 삭제합니다.- gcloud eventarc pipelines delete PIPELINE_NAME \ --location=LOCATION - 다음을 바꿉니다. - PIPELINE_NAME: 파이프라인의 ID 또는 정규화된 이름
- LOCATION: 파이프라인의 지원되는 Eventarc Advanced 리전
 
REST API
파이프라인을 삭제하려면 projects.locations.pipelines.delete 메서드를 사용합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PIPELINE_NAME: 삭제하려는 파이프라인의 표시 이름입니다(예:- my_pipeline).
- PROJECT_ID: Google Cloud프로젝트 ID
- LOCATION: 파이프라인이 배포되는 리전입니다(예:- us-central1).
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
  성공한 경우 응답 본문에 새로 생성된 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/pipelines/PIPELINE_NAME",
    "verb": "delete",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}