Struct google_api_proto::google::analytics::data::v1alpha::WebhookNotification
source · pub struct WebhookNotification {
pub uri: Option<String>,
pub channel_token: Option<String>,
}
Expand description
Configures a long-running operation resource to send a webhook notification from the Google Analytics Data API to your webhook server when the resource updates.
Notification configurations contain private values & are only visible to your GCP project. Different GCP projects may attach different webhook notifications to the same long-running operation resource.
Fields§
§uri: Option<String>
Optional. The web address that will receive the webhook notification. This
address will receive POST requests as the state of the long running
operation resource changes. The POST request will contain both a JSON
version of the long running operation resource in the body and a
sentTimestamp
field. The sent timestamp will specify the unix
microseconds since the epoch that the request was sent; this lets you
identify replayed notifications.
An example URI is
<https://us-central1-example-project-id.cloudfunctions.net/example-function-1
.>
The URI must use HTTPS and point to a site with a valid SSL certificate on the web server. The URI must have a maximum string length of 128 characters & use only the allowlisted characters from RFC 1738.
When your webhook server receives a notification, it is expected to reply with an HTTP response status code of 200 within 5 seconds.
A URI is required to use webhook notifications.
Requests to this webhook server will contain an ID token authenticating the
service account
google-analytics-audience-export@system.gserviceaccount.com
. To learn
more about ID tokens, see
https://cloud.google.com/docs/authentication/token-types#id. For Google
Cloud Functions, this lets you configure your function to require
authentication. In Cloud IAM, you will need to grant the service account
permissions to the Cloud Run Invoker (roles/run.invoker
) & Cloud
Functions Invoker (roles/cloudfunctions.invoker
) roles for the webhook
post request to pass Google Cloud Functions authentication. This API can
send webhook notifications to arbitrary URIs; for webhook servers other
than Google Cloud Functions, this ID token in the authorization bearer
header should be ignored if it is not needed.
channel_token: Option<String>
Optional. The channel token is an arbitrary string value and must have a
maximum string length of 64 characters. Channel tokens allow you to verify
the source of a webhook notification. This guards against the message being
spoofed. The channel token will be specified in the X-Goog-Channel-Token
HTTP header of the webhook POST request.
A channel token is not required to use webhook notifications.
Implementations§
Trait Implementations§
source§impl Clone for WebhookNotification
impl Clone for WebhookNotification
source§fn clone(&self) -> WebhookNotification
fn clone(&self) -> WebhookNotification
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for WebhookNotification
impl Debug for WebhookNotification
source§impl Default for WebhookNotification
impl Default for WebhookNotification
source§impl Message for WebhookNotification
impl Message for WebhookNotification
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for WebhookNotification
impl PartialEq for WebhookNotification
source§fn eq(&self, other: &WebhookNotification) -> bool
fn eq(&self, other: &WebhookNotification) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for WebhookNotification
Auto Trait Implementations§
impl Freeze for WebhookNotification
impl RefUnwindSafe for WebhookNotification
impl Send for WebhookNotification
impl Sync for WebhookNotification
impl Unpin for WebhookNotification
impl UnwindSafe for WebhookNotification
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request