UnmarshalTypeError on CodePipelineEventBridgeEvent
- Vorherrschende Sprache
- Go
- Sterne
- 3.8k
- Forks
- 578
- Ø Merge
- 8 Std. 18 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
**Is your feature request related to a problem? Please describe.**
Triggering a lambda with EventBridge CodePipeline events, i.e.:
```json
{
"detail-type": [
"CodePipeline Pipeline Execution State Change",
"CodePipeline Stage Execution State Change",
"CodePipeline Action Execution State Change"
],
"source": [
"aws.codepipeline"
]
}
```
The Lambda in question has this structure:
```go
func handler(_ context.Context, event *events.CodePipelineEventBridgeEvent) error {}
```
Upon execution, it almost immediately fails and outputs one of two errors (so far):
```
json: cannot unmarshal number 2.0 into Go struct field CodePipelineEventDetail.detail.version of type int64
```
```
json: cannot unmarshal string into Go struct field CodePipelineEventDetailType.detail.type.version of type int64
```
**Describe the solution you'd like**
I'm fairly certain I'm using the correct event type here, but I could be wrong. However, I'd like a solution to the lambda not failing immediately and the type being correct for what EventBridge is passing into the lambda.
Beitragsleitfaden
Rechercherichtung
Beginnen Sie mit der Untersuchung des Einstiegspunkts events.CodePipelineEventBridgeEvent und der in den Fehlern genannten CodePipelineEventDetail-Felder. Vergleichen Sie diese Felder mit den EventBridge-Payload-Beispielen im Issue, insbesondere detail.version und detail.type.version. Als erledigt gilt die Aufgabe, wenn die gemeldeten CodePipeline-Ereignisvarianten ohne Fehler mit Typen unmarshalen, die den eingehenden Werten entsprechen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- aws, go
- Bereich
- cloud
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 42/100