Documentation ¶
Index ¶
- func CheckYouTube(ctx context.Context, apiKey string) error
- func ExtractVideoIDFromURL(videoURL string) (string, error)
- type BrokersMetadata
- type ConnectionStatus
- type DynamoDBMetadata
- type HealthCheckMetadata
- type KafkaMetadata
- type MongoMetadata
- type PerformanceStats
- type ReplicaSetStatus
- type S3Metadata
- type VideoDetails
- type YouTubeClient
- type YouTubeService
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExtractVideoIDFromURL ¶
ExtractVideoIDFromURL extrae el ID del video de una URL de YouTube.
Types ¶
type BrokersMetadata ¶
type BrokersMetadata struct { Address string `json:"address"` // Dirección del broker de Kafka. IsLeader bool `json:"is_leader"` // Indica si el broker es un líder. }
BrokersMetadata contiene metadatos para un broker de Kafka.
type ConnectionStatus ¶
type ConnectionStatus struct { Active int32 `json:"active"` // Número de conexiones activas. Available int32 `json:"available"` // Número de conexiones disponibles. Current int32 `json:"current"` // Número de conexiones actuales. Rejected int32 `json:"rejected"` // Número de conexiones rechazadas. }
ConnectionStatus contiene estadísticas de conexión para MongoDB.
type DynamoDBMetadata ¶
type DynamoDBMetadata struct {
TableName string `json:"table_name"` // Nombre de la tabla de DynamoDB.
}
DynamoDBMetadata contiene metadatos específicos para DynamoDB.
func CheckDynamoDB ¶
type HealthCheckMetadata ¶
type HealthCheckMetadata struct { Kafka *KafkaMetadata `json:"kafka,omitempty"` // Metadatos para el servicio Kafka. Mongo *MongoMetadata `json:"mongo,omitempty"` // Metadatos para el servicio MongoDB. S3 *S3Metadata `json:"s3,omitempty"` // Metadatos para el servicio S3. DynamoDB *DynamoDBMetadata `json:"dynamodb,omitempty"` // Metadatos para el servicio DynamoDB. }
HealthCheckMetadata contiene metadatos para varios servicios utilizados en verificaciones de salud.
type KafkaMetadata ¶
type KafkaMetadata struct {
Brokers []BrokersMetadata `json:"brokers"` // Lista de brokers de Kafka.
}
KafkaMetadata contiene metadatos específicos para Kafka.
func CheckKafka ¶
func CheckKafka(cfgApplication *config.Config) (*KafkaMetadata, error)
type MongoMetadata ¶
type MongoMetadata struct { ReplicaSetStatus ReplicaSetStatus `json:"replica_set_status"` // Estado del conjunto de réplicas de MongoDB. Version string `json:"version"` // Versión de MongoDB. Connections ConnectionStatus `json:"connections"` // Estado de las conexiones de MongoDB. Performance PerformanceStats `json:"performance"` // Estadísticas de rendimiento de MongoDB. }
MongoMetadata contiene metadatos específicos para MongoDB.
func CheckMongoDB ¶
type PerformanceStats ¶
type PerformanceStats struct { LatencyMs float64 `json:"latency_ms"` // Latencia en milisegundos. OpsPerSec int64 `json:"ops_per_sec"` // Operaciones por segundo. MemoryUsageMB int32 `json:"memory_usage_mb"` // Uso de memoria en megabytes. }
PerformanceStats contiene estadísticas de rendimiento para MongoDB.
type ReplicaSetStatus ¶
type ReplicaSetStatus struct { Role string `json:"role"` // Rol del miembro del conjunto de réplicas. Health float64 `json:"health"` // Estado de salud del conjunto de réplicas. Members int32 `json:"members"` // Número de miembros en el conjunto de réplicas. LastElection string `json:"last_election"` // Marca de tiempo de la última elección. ReplicaSetID string `json:"replica_set_id"` // ID del conjunto de réplicas. SyncStatus string `json:"sync_status"` // Estado de sincronización del conjunto de réplicas. }
ReplicaSetStatus contiene información de estado para un conjunto de réplicas de MongoDB.
type S3Metadata ¶
type S3Metadata struct {
BucketName string `json:"bucket_name"` // Nombre del bucket de S3.
}
S3Metadata contiene metadatos específicos para S3.
type VideoDetails ¶
type VideoDetails struct { Title string // Título del video. VideoID string // ID del video Description string // Descripción del video. ChannelName string // Nombre del canal que subió el video. Duration string // Duración del video en formato ISO 8601. PublishedAt time.Time // Fecha de publicación del video. URLYouTube string // URL de YouTube Thumbnail string // URL de la miniatura del video }
VideoDetails contiene los detalles de un video de YouTube.
type YouTubeClient ¶
type YouTubeClient struct { ApiKey string // Clave API para autenticar las solicitudes. BaseURL string // URL base para las solicitudes a la API de YouTube. HttpClient *http.Client // Cliente HTTP para hacer las solicitudes. }
YouTubeClient es un cliente para interactuar con la API de YouTube.
func NewYouTubeClient ¶
func NewYouTubeClient(apiKey string) *YouTubeClient
NewYouTubeClient crea una nueva instancia de YouTubeClient.
func (*YouTubeClient) GetVideoDetails ¶
func (c *YouTubeClient) GetVideoDetails(ctx context.Context, videoID string) (*VideoDetails, error)
GetVideoDetails obtiene los detalles del video usando su ID.
func (*YouTubeClient) SearchVideoID ¶
SearchVideoID busca el ID del video basado en la entrada proporcionada.
type YouTubeService ¶
type YouTubeService interface { // GetVideoDetails obtiene los detalles del video usando su ID. GetVideoDetails(ctx context.Context, videoID string) (*VideoDetails, error) // SearchVideoID busca el ID del primer video que coincida con la consulta dada. SearchVideoID(ctx context.Context, input string) (string, error) }
YouTubeService define la interfaz para interactuar con el servicio de YouTube.