Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Inteligencia Artificial
Actividad:
Sede: Retalhuleu
Sección: A
05 de marzo de 2023
• DESCRIBIR LOS SERVICIOS DE AWS UTILIZADOS EN LA
CONSTRUCCIÓN DE UNA API SERVERLESS PARA INTEGRAR POLLY
o AWS IAM: Este servicio podría utilizarse para definir y administrar roles
y permisos para los usuarios y aplicaciones que utilizan la API. Por
ejemplo, se podrían definir permisos de acceso a S3 y a los servicios de
Polly en función de los roles de usuario.
• DESCRIBA EL PROCEDIMIENTO PASO A PASO UTILIZADO PARA LA
CONSTRUCCIÓN DE SU API
o INCLUIR CAPTURAS PARA EVIDENCIAR EL FUNCIONAMIENTO
o INCLUIR DIAGRAMA DE ARQUITECTURA DE SU API.
Buckets
Crear bucket
Uso compartido de recursos entre orígenes (CORS)
Panel de IAM
Usuarios
npm install aws-sdk
npm install axios
codigo en App.js
import React, { useState } from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import "./App.css";
import AWS from "aws-sdk";
import axios from "axios";
function App() {
const [text, setText] = useState("");
const [voice, setVoice] = useState("Lucia");
const [audioUrl, setAudioUrl] = useState("");
return (
<div className="container-fluid">
<div className="row">
<div className="col-sm-6 col-md-4">
</div>
<div className="col-sm-6 col-md-4">
<div className="App">
<h1 className="text-center mt-5"> Convertir texto a voz utilizando
servicios de AWS</h1>
<div className="input-container mt-5">
<label htmlFor="text" className="form-label">Text:</label>
<input type="text" id="text" className="form-control" value={text}
onChange={handleTextChange} />
</div>
<div className="select-container mt-3">
<label htmlFor="voice" className="form-label">Voice:</label>
<select id="voice" className="form-select" value={voice}
onChange={handleVoiceChange}>
<option value="Lucia">Lucia</option>
<option value="Conchita">Conchita</option>
<option value="Enrique">Enrique</option>
</select>
</div>
<button className="btn btn-primary mt-3"
onClick={handleSpeak}>Speak</button>
{audioUrl && (
<div className="mt-3">
<button className="btn btn-secondary"
onClick={handleFetchAudio}>Reproducir Audio</button>
<audio controls className="mt-2">
<source src={audioUrl} type="audio/mpeg" />
Your browser does not support the audio element.
</audio>
</div>
)}
</div>
</div>
<div className="col-sm-12 col-md-4">
</div>
</div>
</div>
);
}