func()

in lambda/go/add-podcasts/main.go [360:388]


func (h *Handler) updateEpisodeExecutionARN(ctx context.Context, episode workshop.Episode) error {
	log.Printf("updating episode %v with execution ARN, %v",
		episode.ID, episode.TranscribeExecutionARN)

	exp, err := ddbexp.NewBuilder().WithUpdate(
		ddbexp.Set(
			ddbexp.Name("transcribe_execution_arn"),
			ddbexp.Value(episode.TranscribeExecutionARN),
		),
	).Build()
	if err != nil {
		return fmt.Errorf("failed to build update expression, %w", err)
	}

	_, err = h.ddbClient.UpdateItem(ctx, &ddb.UpdateItemInput{
		TableName: &h.episodeTableName,
		Key: workshop.Episode{
			ID: episode.ID,
		}.AttributeValuePrimaryKey(),
		UpdateExpression:          exp.Update(),
		ExpressionAttributeNames:  exp.Names(),
		ExpressionAttributeValues: exp.Values(),
	})
	if err != nil {
		return fmt.Errorf("failed to update episode, %w", err)
	}

	return nil
}