Cloud Functions - Package cloud.google.com/go/functions/metadata (v0.2.0)

Package metadata provides methods for creating and accessing context.Context objects with Google Cloud Functions metadata.

NOTE: This package is in alpha. It is not stable, and is likely to change.

Functions

NewContext returns a new Context carrying m. If m is nil, NewContext returns ctx. NewContext is only used for writing tests which rely on Metadata.

  type 
  
 Metadata 
  
 struct 
  
 { 
  
 // EventID is a unique ID for the event. For example: "70172329041928". 
  
 EventID 
  
  string 
 
  
 `json:"eventId"` 
  
 // Timestamp is the date/time this event was created. 
  
 Timestamp 
  
  time 
 
 . 
  Time 
 
  
 `json:"timestamp"` 
  
 // EventType is the type of the event. For example: "google.pubsub.topic.publish". 
  
 EventType 
  
  string 
 
  
 `json:"eventType"` 
  
 // Resource is the resource that triggered the event. 
  
 Resource 
  
 * 
  Resource 
 
  
 `json:"resource"` 
 } 
 

Metadata holds Google Cloud Functions metadata.

  func 
  
 FromContext 
 ( 
 ctx 
  
  context 
 
 . 
  Context 
 
 ) 
  
 ( 
 * 
  Metadata 
 
 , 
  
  error 
 
 ) 
 

FromContext extracts the Metadata from the Context, if present.

  type 
  
 Resource 
  
 struct 
  
 { 
  
 // Service is the service that triggered the event. 
  
 Service 
  
  string 
 
  
 `json:"service"` 
  
 // Name is the name associated with the event. 
  
 Name 
  
  string 
 
  
 `json:"name"` 
  
 // Type is the type of event. 
  
 Type 
  
  string 
 
  
 `json:"type"` 
  
 // Path is the path to the resource type (deprecated). 
  
 // This is the case for some deprecated GCS 
  
 // notifications, which populate the resource field as a string containing the topic 
  
 // rather than as the expected dictionary. 
  
 // See the Attributes section of https://cloud.google.com/storage/docs/pubsub-notifications 
  
 // for more details. 
  
 RawPath 
  
  string 
 
  
 `json:"-"` 
 } 
 

Resource holds Google Cloud Functions resource metadata. Resource values are dependent on the event type they're from.

  func 
  
 ( 
 r 
  
 * 
  Resource 
 
 ) 
  
 MarshalJSON 
 () 
  
 ([] 
  byte 
 
 , 
  
  error 
 
 ) 
 

MarshalJSON specializes the Resource marshalling to handle the case where the value is a string instead of a map. See the comment above on RawPath for why this needs to be handled.

  func 
  
 ( 
 r 
  
 * 
  Resource 
 
 ) 
  
 UnmarshalJSON 
 ( 
 data 
  
 [] 
  byte 
 
 ) 
  
  error 
 
 

UnmarshalJSON specializes the Resource unmarshalling to handle the case where the value is a string instead of a map. See the comment above on RawPath for why this needs to be handled.

Create a Mobile Website
View Site in Mobile | Classic
Share by: