code: func (i *MintedTokenInfo) toBigQueryMessage() *bqpb.DelegationToken {
  	subtok := i.Response.DelegationSubtoken
  	return &bqpb.DelegationToken{
  		// Information about the produced token.
  		Fingerprint:       utils.TokenFingerprint(i.Response.Token),
  		TokenKind:         subtok.Kind,
  		TokenId:           fmt.Sprintf("%d", subtok.SubtokenId),
  		DelegatedIdentity: subtok.DelegatedIdentity,
  		RequestorIdentity: subtok.RequestorIdentity,
  		IssuedAt:          &timestamp.Timestamp{Seconds: subtok.CreationTime},
  		Expiration:        &timestamp.Timestamp{Seconds: subtok.CreationTime + int64(subtok.ValidityDuration)},
  		TargetAudience:    subtok.Audience,
  		TargetServices:    subtok.Services,
  
  		// Information about the request.
  		RequestedValidity: i.Request.ValidityDuration,
  		RequestedIntent:   i.Request.Intent,
  		Tags:              subtok.Tags,
  
  		// Information about the delegation rule used.
  		ConfigRev:  i.ConfigRev,
  		ConfigRule: i.Rule.Name,
  
  		// Information about the request handler environment.
  		PeerIp:         i.PeerIP.String(),
  		ServiceVersion: i.Response.ServiceVersion,
  		GaeRequestId:   i.RequestID,
  		AuthDbRev:      i.AuthDBRev,
  	}
  }
docs: // toBigQueryMessage returns a message to upload to BigQuery.