Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Gestión de activos
AWS DevOps El agente almacena la configuración y el material de referencia de un espacio de agente como activos, los recursos gestionados por el cliente que dan forma a lo que el agente sabe y a su comportamiento. Las habilidades, AGENTS.md los archivos y los archivos adjuntos son activos, y puede crearlos, leerlos, actualizarlos y eliminarlos mediante programación a través de la API de activos.
En este tema se explica el modelo de activos, los permisos de IAM que necesita, los metadatos que espera cada tipo de activo y cómo gestionar los activos de principio a fin con la AWS CLI y el AWS SDK para Python (Boto3). Para obtener una descripción general conceptual de las habilidades en sí mismas, consulte. DevOps Habilidades de agente Para conocer el conocimiento generado por agentes que no puede crear usted mismo, consulte. Habilidades aprendidas
Cuándo usar la API de activos
La aplicación web Operator es la forma más rápida de crear una sola habilidad o cargar un AGENTS.md archivo de forma interactiva. La API Asset expone las mismas operaciones mediante programación, de modo que los scripts y la automatización pueden gestionar los activos sin tener que pasar por la aplicación web. Entre las razones más comunes para llamar directamente a la API de activos se incluyen las siguientes:
Crear o actualizar un activo desde un script, un terminal o un bloc de notas en lugar de desde la aplicación web.
Bulk-loading un conjunto inicial de habilidades o AGENTS.md archivos en un nuevo espacio de agente.
Leer el contenido de un activo para hacer copias de seguridad del mismo o comparar versiones.
Todas las operaciones de la API de activos se exponen a través de la AWS CLI aws devops-agent <operation> y a través de AWS los SDK como devops-agent cliente.
Operaciones de la API de activos
La API de activos expone las siguientes operaciones. Cada fila muestra la acción de IAM que debes conceder para llamar a la operación y el recurso al que se aplica la acción. Todas las acciones se encuentran en el espacio de aidevops: nombres y, excepto estaListAssetTypes, se aplican a un recurso de Agent Space del formulario. arn:aws:aidevops:<region>:<account-id>:agentspace/<agentSpaceId> Para obtener información más amplia sobre aidevops: los permisos, consulte. DevOps Permisos de IAM para agentes
| Operación | Description (Descripción) | Acción de IAM | Recurso |
|---|---|---|---|
ListAssetTypes |
Enumere los tipos de activos compatibles con AWS DevOps Agent. | aidevops:ListAssetTypes |
* |
CreateAsset |
Cree un nuevo activo en un espacio de agentes (habilidad AGENTS.md, adjunto, agente personalizado, perfil de prueba o comentarios). | aidevops:CreateAsset |
Espacio de agentes |
GetAsset |
Recupera los metadatos y la información de la versión de un activo. | aidevops:GetAsset |
Espacio de agentes |
UpdateAsset |
Actualice los metadatos o el contenido de un activo existente. | aidevops:UpdateAsset |
Espacio de agentes |
DeleteAsset |
Elimine un activo y todos sus archivos de un espacio de agente. | aidevops:DeleteAsset |
Espacio de agentes |
ListAssets |
Enumere los activos en un espacio de agentes, con el filtrado opcional por tipo de activo. | aidevops:ListAssets |
Espacio de agentes |
ListAssetVersions |
Enumere las versiones históricas de un activo. | aidevops:ListAssetVersions |
Agent Space |
GetAssetContent |
Descarga el contenido completo de un activo en forma de paquete comprimido. | aidevops:GetAssetContent |
Agent Space |
CreateAssetFile |
Agregue un archivo nuevo a un activo existente. | aidevops:CreateAssetFile |
Espacio de agentes |
GetAssetFile |
Recupere un solo archivo de un activo por su ruta. | aidevops:GetAssetFile |
Espacio de agentes |
UpdateAssetFile |
Sustituya el contenido o los metadatos de un archivo existente en un activo. | aidevops:UpdateAssetFile |
Espacio de agentes |
DeleteAssetFile |
Elimine un solo archivo de un activo. | aidevops:DeleteAssetFile |
Espacio de agentes |
ListAssetFiles |
Enumere los archivos de un activo. | aidevops:ListAssetFiles |
Espacio de agentes |
Ejemplos de políticas de IAM
La siguiente política otorga acceso administrativo total a los activos de un único espacio de agente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aidevops:CreateAsset", "aidevops:GetAsset", "aidevops:UpdateAsset", "aidevops:DeleteAsset", "aidevops:ListAssets", "aidevops:ListAssetVersions", "aidevops:GetAssetContent", "aidevops:CreateAssetFile", "aidevops:GetAssetFile", "aidevops:UpdateAssetFile", "aidevops:DeleteAssetFile", "aidevops:ListAssetFiles" ], "Resource": "arn:aws:aidevops:us-east-1:111122223333:agentspace/8f6187a7-0388-4926-8217-3a0fe32f757c" }, { "Effect": "Allow", "Action": "aidevops:ListAssetTypes", "Resource": "*" } ] }
La siguiente política concede acceso de solo lectura a los activos de un único espacio de agente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aidevops:GetAsset", "aidevops:ListAssets", "aidevops:ListAssetVersions", "aidevops:GetAssetContent", "aidevops:GetAssetFile", "aidevops:ListAssetFiles" ], "Resource": "arn:aws:aidevops:us-east-1:111122223333:agentspace/8f6187a7-0388-4926-8217-3a0fe32f757c" }, { "Effect": "Allow", "Action": "aidevops:ListAssetTypes", "Resource": "*" } ] }
Tipos de activos
Cada activo tiene una assetType cadena que identifica el tipo de recurso que es. Se pueden crear seis tipos de activos a través de la API de activos: skill agents_mdattachment,custom_agent,test_profile, yfeedback. En las secciones siguientes se describe cada tipo. También puede llamar ListAssetTypes para recuperar los identificadores de tipo en tiempo de ejecución.
Cada activo contiene un objeto metadata JSON de formato libre que describe el recurso. Las claves que contiene metadata usan snake_case (por ejemplo,,). agent_types skill_type Las claves externasmetadata, en el nivel superior del cuerpo de la solicitud, usan CamelCase (por ejemploagentSpaceId,,,assetType). clientToken Las metadata claves obligatorias y opcionales dependen del tipo de activo, tal y como se describe en las secciones siguientes.
Cuando llamas UpdateAsset oUpdateAssetFile, el servicio aplica la semántica PATCHmetadata: las claves que incluyes se sustituyen y las claves que omites conservan sus valores almacenados. No puedes cambiar el de un activo una assetType vez creado.
habilidad
Un skill activo empaqueta instrucciones y material de referencia que el agente carga cuando es necesario. Una habilidad simple es un SKILL.md archivo único; una habilidad compleja es un paquete comprimido que contiene un SKILL.md archivo más assets/ directorios references/ o directorios opcionales.
metadataPropiedades obligatorias:
nombre (cadena): identificador único de la habilidad. Solo letras minúsculas, números y guiones, de 1 a 64 caracteres. No debe empezar ni terminar con un guión. Necesario únicamente para habilidades sencillas. Al subir archivos zip, el servicio lee
namedesde el principio ySKILL.mdse ignora cualquier valor que se proporcione aquí.descripción (cadena): explicación de 1 a 1024 caracteres sobre cuándo debe usar la habilidad el agente. Necesaria únicamente para habilidades sencillas. Al subir archivos zip, el servicio lee
descriptiondesde el principio ySKILL.mdse ignora cualquier valor que se proporcione aquí.agent_types (conjunto de cadenas): uno o más tipos de agentes a los que se aplica esta habilidad. Úselo
["GENERIC"]para que la habilidad esté disponible para todos los tipos de agentes. Otros valores incluyenCHATINCIDENT_TRIAGE,INCIDENT_RCA,INCIDENT_MITIGATION,PREVENTION,CHANGE_REVIEW,CHANGE_RELEASE,QUALITY_ASSURANCE_TESTINGRELEASE_SHEPHERD,RELEASE_READINESS_REVIEW, yRELEASE_TESTING. ElGENERICvalor no se puede combinar con otros valores.
metadataPropiedades opcionales:
skill_type (string): el valor predeterminado es.
USERLa API Asset solo permite habilidades creadas por los clientes, por lo que el único valor aceptado es.USEREl servicio rechaza las solicitudes establecidasskill_typeenLEARNED, lo que queda reservado para las habilidades generadas por el propio agente.status (cadena): estado de activación de la habilidad. Los valores aceptados son
ACTIVEyINACTIVE(solo en mayúsculas). El valor predeterminado esACTIVE. Las habilidades inactivas permanecen en el espacio de agentes, pero el agente no las carga durante las investigaciones o el chat.UpdateAssetÚsala conmetadata.statuspara desactivar o reactivar una habilidad sin eliminarla. Las habilidades son el único tipo de activo que admite la activación; elstatuscampo se ignora en todos los demás tipos de activos. Consulta Activar y desactivar habilidades para ver un ejemplo práctico.enable_tools (conjunto de cadenas): lista de identificadores de herramientas a los que el agente puede invocar cuando carga esta habilidad.
Ejemplo: metadata
{ "name": "rds-performance-investigation", "description": "Investigation procedures for RDS performance issues including connection exhaustion, slow queries, replication lag, and storage capacity. Use this skill when investigating database latency, connection errors, or read/write performance degradation.", "agent_types": ["GENERIC"] }
Límites: las cargas en formato zip no deben superar los 6 MB. Un espacio de agente puede contener hasta 200 habilidades creadas por los usuarios.
agents_md
Un agents_md activo es un archivo de rebajas que contiene instrucciones de agente permanente para un tipo de agente específico. El agente carga la correspondencia AGENTS.md al principio de cada tarea. Para obtener más información sobre las instrucciones del agente, consulteInstrucciones del agente.
metadataPropiedades obligatorias:
agent_type (cadena): el tipo de agente al que se aplica el AGENTS.md archivo. Los valores válidos son
GENERIC,CHAT,INCIDENT_TRIAGE,INCIDENT_RCA,INCIDENT_MITIGATION,PREVENTION,CHANGE_REVIEW,CHANGE_RELEASE,QUALITY_ASSURANCE_TESTING,RELEASE_SHEPHERD,RELEASE_READINESS_REVIEWyRELEASE_TESTING.
Ejemplo: metadata
{ "agent_type": "INCIDENT_TRIAGE" }
Límites: cada espacio de agente puede contener como máximo uno AGENTS.md por cadaagent_type. El contenido del archivo debe ser markdown (text/markdown) y no debe superar los 25 KB.
attachment
Un attachment activo almacena un archivo binario o de texto al que el agente puede consultar durante las investigaciones, por ejemplo, un diagrama de arquitectura, un manual en PDF o un archivo de registro de muestra.
metadataPropiedades obligatorias:
nombre de archivo (cadena): el nombre del archivo original, incluido el nombre base y cualquier extensión (por ejemplo,
topology.png).extensión (cadena): la extensión del archivo sin el punto inicial (por ejemplo,
png,pdf,csv).tamaño (número): tamaño del archivo en bytes.
Ejemplometadata:
{ "filename": "topology.png", "extension": "png", "size": 184320 }
Límites: el tamaño total de todos los archivos adjuntos de un espacio de agente no puede superar los 10 GB.
custom_agent
Un custom_agent activo define una configuración de agente especializada con un conjunto seleccionado de herramientas y habilidades. Utilice un agente personalizado para ajustar el agente a un flujo de trabajo o conjunto de capacidades específicos.
metadataPropiedades obligatorias:
nombre (cadena): un identificador único para el agente personalizado. Solo letras minúsculas, números y guiones, de 1 a 64 caracteres. No debe empezar ni terminar con un guión.
metadataPropiedades opcionales:
herramientas (matriz de cadenas): la herramienta identifica el uso del agente personalizado. Cuando se omite, el valor predeterminado es una lista vacía.
habilidades (conjunto de cadenas): la habilidad identifica las cargas del agente personalizado. Cuando se omite, el valor predeterminado es una lista vacía.
Ejemplo: metadata
{ "name": "rds-firefighter", "tools": ["cloudwatch:GetMetricData", "rds:DescribeDBInstances"], "skills": ["rds-performance-investigation"] }
test_profile
Un test_profile activo almacena una configuración reutilizable para una ejecución de pruebas de versión, incluido el tipo de pruebas que se van a realizar y el punto final de destino.
Propiedades obligatoriasmetadata:
test_agent_type (string): el tipo de prueba que realiza este perfil. Los valores válidos son
releaseUiTestingyreleaseApiTesting.target_url (string): la URL a la que apunta la ejecución de la prueba.
Propiedades opcionalesmetadata:
name (string): un identificador legible por humanos para el perfil de prueba. Solo letras minúsculas, números y guiones, de 1 a 128 caracteres. No debe empezar ni terminar con un guión.
descripción (cadena): descripción de 1 a 1024 caracteres de lo que cubre el perfil de prueba.
test_personas (conjunto de cadenas): las personas que se van a ejercitar durante la ejecución de la prueba. Los valores válidos son
guestyauthenticated.api_spec (string): especificación de la API para la ejecución de la prueba. Relevante para.
releaseApiTestingcredentials_secret_arn (string): el ARN de un Secrets AWS Manager que contiene las credenciales secretas para la ejecución de la prueba.
Ejemplo: metadata
{ "name": "checkout-api-tests", "description": "Release API tests for the checkout service.", "test_agent_type": "releaseApiTesting", "target_url": "https://api.example.com", "test_personas": ["guest", "authenticated"], "api_spec": "openapi: 3.0.0", "credentials_secret_arn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:checkout-creds" }
valoración
Un feedback activo registra los comentarios proporcionados por el cliente sobre la ejecución de un solo agente. Utilice los recursos de comentarios para recopilar veredictos y notas que puedan agregarse a los procesos de evaluación posteriores.
Propiedades obligatorias: metadata
agent_types (matriz de cadenas): los tipos de agentes que produjeron la ejecución. Debe contener al menos un valor (por ejemplo,).
INCIDENT_TRIAGE
metadataPropiedades opcionales:
execution_id (string): la ejecución a la que están asociados estos comentarios. Actívala
CreateAsset; no se puede cambiar mediante.UpdateAsset
Ejemplometadata:
{ "execution_id": "b2c3d4e5-6789-01ab-cdef-example22222", "agent_types": ["INCIDENT_TRIAGE"] }
Contenido del activo: archivo o zip
Cada CreateAsset solicitud incluye un content objeto que contiene los bytes que almacena el activo. La forma content depende de si está cargando un solo archivo o un paquete comprimido:
Archivo de texto único:
content.file.body.textcontiene hasta 1,5 MB de UTF-8 texto. Utilízalo para habilidades y AGENTS.md archivos sencillos.
json { "content": { "file": { "path": "SKILL.md", "body": { "text": "# Skill\n\nInstructions go here." } } } }
Archivo binario único:
content.file.body.bytescontiene hasta 6 MB de contenido binario codificado en base64. Utilícelo para archivos adjuntos, como imágenes o archivos PDF. Como el blob está anidado dentro de lacontentunión, codifique el archivo en base64 con antelación y envíe la solicitud con él--cli-input-json(consulte Crear una habilidad a partir de un archivo binario para ver un ejemplo práctico).
json { "content": { "file": { "path": "topology.png", "body": { "bytes": "<base64-encoded bytes>" } } } }
Paquete zip:
content.zip.zipFilecontiene un archivo zip codificado en base64 de hasta 6 MB. Úselo para adquirir habilidades que incluyanSKILL.mdmás archivos adicionales en unreferences/directorio o.assets/
json { "content": { "zip": { "zipFile": "<base64-encoded zip bytes>" } } }
Para añadir, reemplazar o eliminar archivos individuales de un recurso existente sin tener que volver a cargar todo el paquete CreateAssetFileUpdateAssetFile, utilice y. DeleteAssetFile
Gestionar una habilidad de principio a fin
En el siguiente tutorial se crea una habilidad de tres maneras diferentes (a partir de un único archivo de texto, de un archivo binario y de un paquete comprimido) y, a continuación, se ejercitan las operaciones de lectura, actualización y eliminación. 8f6187a7-0388-4926-8217-3a0fe32f757cSustitúyalo por tu ID de Agent Space.
Crea una habilidad a partir de un único archivo de texto
Esta es la ruta más sencilla: un único SKILL.md archivo subido en línea. Como la carga contiene exactamente un archivo de texto, debe introducir name y description entrarmetadata.
AWS CLI:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type skill \ --metadata '{ "name": "rds-performance-investigation", "description": "Investigation procedures for RDS performance issues. Use when investigating database latency, connection errors, or query timeouts.", "agent_types": ["GENERIC"] }' \ --content '{ "file": { "path": "SKILL.md", "body": { "text": "# RDS Performance Investigation\n\nUse this skill when customers report database latency, connection errors, query timeouts, or read/write performance degradation." } } }'
Python (Boto3):
import boto3 client = boto3.client("devops-agent") response = client.create_asset( agentSpaceId="8f6187a7-0388-4926-8217-3a0fe32f757c", assetType="skill", metadata={ "name": "rds-performance-investigation", "description": ( "Investigation procedures for RDS performance issues. " "Use when investigating database latency, connection errors, " "or query timeouts." ), "agent_types": ["GENERIC"], }, content={ "file": { "path": "SKILL.md", "body": { "text": ( "# RDS Performance Investigation\n\n" "Use this skill when customers report database latency, " "connection errors, query timeouts, or read/write " "performance degradation." ) }, } }, ) asset_id = response["asset"]["assetId"]
Crea una habilidad a partir de un archivo binario
Usa una carga binaria cuando el contenido de la habilidad no sea UTF-8 texto. En el siguiente ejemplo, se carga un PDF renderizado previamente como conjunto de habilidades. Como el cuerpo de la solicitud contiene un blob codificado en base64 anidado dentro de la content unión, introduce la solicitud desde un archivo JSON --cli-input-json y codifícalo en base64 con antelación.
El siguiente -w 0 indicador indica a GNU base64 que emita el blob codificado en una sola línea; sin él, el ajuste de líneas predeterminado de 76 caracteres inserta nuevas líneas que producen un JSON no válido cuando el blob se interpola en el heredoc. En macOS, utilice base64 -i ops-runbook.pdf (el BSD base64 no se empaqueta de forma predeterminada).
Cree el cuerpo de la solicitud:
base64 -w 0 ops-runbook.pdf > ops-runbook.b64 cat > create-skill.json <<EOF { "agentSpaceId": "8f6187a7-0388-4926-8217-3a0fe32f757c", "assetType": "skill", "metadata": { "name": "ops-runbook", "description": "Operations runbook covering on-call escalation paths.", "agent_types": ["GENERIC"] }, "content": { "file": { "path": "SKILL.pdf", "body": { "bytes": "$(cat ops-runbook.b64)" } } } } EOF
AWS CLI:
aws devops-agent create-asset --cli-input-json file://create-skill.json
Python (Boto3):
with open("ops-runbook.pdf", "rb") as f: body_bytes = f.read() response = client.create_asset( agentSpaceId="8f6187a7-0388-4926-8217-3a0fe32f757c", assetType="skill", metadata={ "name": "ops-runbook", "description": "Operations runbook covering on-call escalation paths.", "agent_types": ["GENERIC"], }, content={ "file": { "path": "SKILL.pdf", "body": {"bytes": body_bytes}, } }, )
Crea una habilidad a partir de un paquete comprimido
Usa un archivo zip cuando la habilidad incluya más de un archivo, por ejemplo, SKILL.md además de material de referencia y recursos. En el caso de las subidas en formato zip, el servicio lee «namey» description SKILL.md desde el principio, por lo que no debes incluirlas. metadata
El diseño del zip es el siguiente:
rds-performance-investigation.zip ├── SKILL.md ├── references/ │ └── rds-metrics-reference.md └── assets/ └── rds-investigation-flowchart.png
SKILL.mddebe incluir frontmatter para que el servicio pueda extraer el nombre y la descripción:
--- name: rds-performance-investigation description: Investigation procedures for RDS performance issues including connection exhaustion, slow queries, replication lag, and storage capacity. Use this skill when investigating database latency, connection errors, or read/write performance degradation. --- # RDS Performance Investigation ...
Cree el cuerpo de la solicitud:
base64 -w 0 rds-performance-investigation.zip > skill.zip.b64 cat > create-skill.json <<EOF { "agentSpaceId": "8f6187a7-0388-4926-8217-3a0fe32f757c", "assetType": "skill", "metadata": { "agent_types": ["GENERIC"] }, "content": { "zip": { "zipFile": "$(cat skill.zip.b64)" } } } EOF
AWS CLI:
aws devops-agent create-asset --cli-input-json file://create-skill.json
Python (Boto3):
with open("rds-performance-investigation.zip", "rb") as f: zip_bytes = f.read() response = client.create_asset( agentSpaceId="8f6187a7-0388-4926-8217-3a0fe32f757c", assetType="skill", metadata={"agent_types": ["GENERIC"]}, content={"zip": {"zipFile": zip_bytes}}, )
Importa una habilidad de un repositorio
Puede crear una habilidad importándola directamente desde un directorio de GitHub repositorios. AWS DevOps El agente busca el contenido de la habilidad, extrae el nombre y la descripción del SKILL.md contenido inicial y crea la habilidad en tu espacio de agente. Esto te permite gestionar tus habilidades de control de versiones e importarlas o sincronizarlas mediante programación.
Requisitos previos:
Su Agent Space debe tener una GitHub cuenta asociada. Consulte Conectando GitHub.
El directorio del repositorio debe contener un SKILL.md archivo válido con frontmatter.
AWS CLI:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type skill \ --metadata '{ "agent_types": ["GENERIC"] }' \ --content '{"sourceUrl": {"url": "https://github.com/my-org/my-repo/tree/main/skills/rds-investigation"}}'
Python (Boto3):
response = client.create_asset( agentSpaceId="8f6187a7-0388-4926-8217-3a0fe32f757c", assetType="skill", metadata={"agent_types": ["GENERIC"]}, content={ "sourceUrl": { "url": "https://github.com/my-org/my-repo/tree/main/skills/rds-investigation" } }, ) asset_id = response["asset"]["assetId"]
El servicio busca el contenido del directorio, lee la SKILL.md portada name e importa todos los description archivos. No los incluyas name ni los description incluyasmetadata: se extraen automáticamente de la portada.
Sincronizar una habilidad importada:
Para obtener los cambios más recientes del repositorio, llama UpdateAsset acontent.sourceUrl:
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --content '{"sourceUrl": {"url": "https://github.com/my-org/my-repo/tree/main/skills/rds-investigation"}}'
response = client.update_asset( agentSpaceId="8f6187a7-0388-4926-8217-3a0fe32f757c", assetId="<assetId>", content={ "sourceUrl": { "url": "https://github.com/my-org/my-repo/tree/main/skills/rds-investigation" } }, )
La sincronización reemplaza por completo el contenido de las habilidades por el estado actual del directorio del repositorio. Se conservan los campos editables (estado, tipos de agentes).
Visualización de la fuente de importación:
GetAssetdevuelve la información de origen metadata.source para las habilidades importadas desde el repositorio:
{ "metadata": { "name": "rds-performance-investigation", "description": "Investigation procedures for RDS performance issues...", "source": { "url": "https://github.com/my-org/my-repo/tree/main/skills/rds-investigation", "lastSyncedAt": 1718467200 }, "agent_types": ["GENERIC"], "skill_type": "USER", "status": "ACTIVE" } }
Restricciones:
Solo se aceptan GitHub direcciones URL. Puede apuntar a un directorio que contenga SKILL.md (por ejemplo,
https://github.com/org/repo/tree/main/skills/my-skill), lo que importará todo el directorio, incluidos los archivos de referencia. Si SKILL.md está en la raíz del repositorio, también puedes crear un enlace directo al archivo (por ejemplo,https://github.com/org/repo/blob/main/SKILL.md), que solo importa el archivo SKILL.md.El directorio debe contener un archivo SKILL.md con una portada válida.
El tamaño total del directorio no debe superar los 6 MB y, como máximo, 100 archivos.
content.sourceUrlse excluye mutuamente concontent.fileycontent.zip; no se pueden combinar en la misma solicitud.Una actualización que solo incluya metadatos (sin ellos
content) conserva la fuente de importación existente y no se vuelve a recuperar del repositorio.
Obtenga, enumere, actualice y elimine
Se utiliza GetAsset para recuperar un solo activo por ID:
aws devops-agent get-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Se utiliza ListAssets para hojear todos los activos de un espacio de agentes:
aws devops-agent list-assets \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --max-results 50 aws devops-agent list-assets \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --max-results 50 \ --next-token <token>
Se usa UpdateAsset para cambiar uno o más metadata campos sin tener que volver a cargar el contenido. Las claves que omita mantienen sus valores actuales:
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "agent_types": ["INCIDENT_TRIAGE", "INCIDENT_RCA"] }'
Se utiliza ListAssetVersions para inspeccionar el historial de versiones de un activo. Cada UpdateAssetFile llamada UpdateAsset o llamada exitosa anticipa el número de versión del activo:
aws devops-agent list-asset-versions \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Se utiliza DeleteAsset para eliminar el activo y todos sus archivos:
aws devops-agent delete-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Agrega un solo archivo a una habilidad existente
Si ya has creado una habilidad a partir de un paquete comprimido y quieres añadir un nuevo archivo de referencia, no necesitas volver a cargar todo el paquete. UsoCreateAssetFile:
aws devops-agent create-asset-file \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --path references/troubleshooting.md \ --content '{ "text": "# Troubleshooting\n\nAdditional notes." }'
Para reemplazar el archivo en su lugar, utilícelo update-asset-file con los mismos argumentos. Para eliminarlo, utilicedelete-asset-file.
Activación y desactivación de habilidades
Las habilidades llevan un estado de activación. metadata.status Las nuevas habilidades vienen ACTIVE por defecto y el agente las va incorporando durante las investigaciones y el chat. Puedes desactivar una habilidad para dejarla fuera de rotación sin eliminarla, por ejemplo, mientras investigas por qué produce resultados inesperados, y reactivarla más adelante.
Establece el estado inicial al crearla incluyendo metadata.status en la CreateAsset solicitud:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type skill \ --metadata '{ "name": "rds-performance-investigation", "description": "Investigation procedures for RDS performance issues.", "agent_types": ["GENERIC"], "status": "INACTIVE" }' \ --content '{ "file": { "path": "SKILL.md", "body": { "text": "# RDS Performance Investigation" } } }'
Desactiva una habilidad existente conUpdateAsset. Como metadata se aplica como una actualización parcial, el envío solo status deja intactos todos los demás campos:
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "status": "INACTIVE" }'
Reactívala de la misma forma, con"status": "ACTIVE":
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "status": "ACTIVE" }'
GetAssete incluye ListAssets siempre la información actual status en las habilidades metadata para que puedas leer el estado de activación en tiempo real en cualquier momento.
El campo status distingue entre mayúsculas y minúsculas. Solo se aceptan las letras ACTIVE y INACTIVE mayúsculas. Cualquier otro valor falla con unValidationException. La activación solo se aplica a las habilidades; metadata.status si se selecciona cualquier otro tipo de activo, no se produce ningún efecto y el campo se elimina de la respuesta.
Ejemplos de los demás tipos de activos
El tutorial de habilidades anterior se aplica a todos los demás tipos de activos. La única diferencia es el metadata bloqueo y, en el caso de los archivos adjuntos, la elección del contenido binario. Las CreateAsset llamadas mínimas que aparecen a continuación ilustran cada tipo.
Crea un AGENTS.md:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type agents_md \ --metadata '{ "agent_type": "INCIDENT_TRIAGE" }' \ --content '{ "file": { "path": "AGENTS.md", "body": { "text": "# Triage Instructions\n\nFollow these steps for new incidents." } } }'
Cree un archivo adjunto (contenido binario; cree la solicitud a partir de un archivo JSON como se muestra en Crear una habilidad a partir de un archivo binario):
base64 -w 0 topology.png > topology.png.b64 cat > create-attachment.json <<EOF { "agentSpaceId": "8f6187a7-0388-4926-8217-3a0fe32f757c", "assetType": "attachment", "metadata": { "filename": "topology.png", "extension": "png", "size": 184320 }, "content": { "file": { "path": "topology.png", "body": { "bytes": "$(cat topology.png.b64)" } } } } EOF aws devops-agent create-asset --cli-input-json file://create-attachment.json
Crea un agente personalizado:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type custom_agent \ --metadata '{ "name": "rds-firefighter", "tools": ["cloudwatch:GetMetricData", "rds:DescribeDBInstances"], "skills": ["rds-performance-investigation"] }' \ --content '{ "file": { "path": "AGENT.md", "body": { "text": "# RDS Firefighter\n\nCustom agent for RDS incidents." } } }'
Cree un perfil de prueba:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type test_profile \ --metadata '{ "name": "checkout-api-tests", "test_agent_type": "releaseApiTesting", "target_url": "https://api.example.com", "test_personas": ["guest", "authenticated"] }' \ --content '{ "file": { "path": "PROFILE.md", "body": { "text": "# Checkout API test profile" } } }'
Crea un recurso de comentarios:
aws devops-agent create-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-type feedback \ --metadata '{ "execution_id": "b2c3d4e5-6789-01ab-cdef-example22222", "agent_types": ["INCIDENT_TRIAGE"] }' \ --content '{ "file": { "path": "FEEDBACK.md", "body": { "text": "{\"verdict\":\"correct\"}" } } }'
Enumere los tipos de activos compatibles:
aws devops-agent list-asset-types