Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola Aset
AWS DevOps Agen menyimpan konfigurasi dan bahan referensi untuk Ruang Agen sebagai aset, sumber daya yang dikelola pelanggan yang membentuk apa yang diketahui agen dan bagaimana perilakunya. Keterampilan, AGENTS.md file, dan lampiran adalah semua aset, dan Anda dapat membuat, membaca, memperbarui, dan menghapusnya secara terprogram melalui API Aset.
Topik ini menjelaskan model aset, izin IAM yang Anda butuhkan, metadata yang diharapkan setiap jenis aset, dan cara mengelola aset secara end-to-end dengan CLI dan AWS SDK for Python (Boto3). AWS Untuk gambaran konseptual keterampilan itu sendiri, lihatDevOps Keterampilan Agen. Untuk pengetahuan yang dihasilkan agen yang tidak Anda ciptakan sendiri, lihat. Keterampilan yang Dipelajari
Kapan menggunakan Asset API
Aplikasi Web Operator adalah cara tercepat untuk membuat satu keterampilan atau mengunggah AGENTS.md file secara interaktif. Asset API mengekspos operasi yang sama secara terprogram sehingga skrip dan otomatisasi dapat mengelola aset tanpa melalui Aplikasi Web. Alasan umum untuk memanggil Asset API secara langsung meliputi:
Menulis atau memperbarui aset dari skrip, terminal, atau buku catatan, bukan Aplikasi Web.
Bulk-loading seperangkat keterampilan atau AGENTS.md file pemula ke Ruang Agen baru.
Membaca konten aset untuk mencadangkannya atau membandingkan versi.
Setiap operasi di Asset API diekspos melalui AWS CLI sebagai aws devops-agent <operation> dan melalui AWS SDK sebagai klien. devops-agent
Operasi API aset
Asset API mengekspos operasi berikut. Setiap baris mencantumkan tindakan IAM yang harus Anda berikan untuk memanggil operasi dan sumber daya yang diterapkan tindakan. Setiap tindakan berada di aidevops: namespace dan, kecualiListAssetTypes, berlaku untuk sumber daya Agen Space dari formulir tersebut. arn:aws:aidevops:<region>:<account-id>:agentspace/<agentSpaceId> Untuk latar belakang yang lebih luas tentang aidevops: izin, lihat. DevOps Izin Agen IAM
| Operasi | Deskripsi | Tindakan IAM | Sumber daya |
|---|---|---|---|
ListAssetTypes |
Buat daftar jenis aset yang didukung oleh AWS DevOps Agen. | aidevops:ListAssetTypes |
* |
CreateAsset |
Buat aset baru di Ruang Agen (keterampilan, lampiran AGENTS.md, agen kustom, profil pengujian, atau umpan balik). | aidevops:CreateAsset |
Agen Ruang |
GetAsset |
Ambil metadata aset dan informasi versi. | aidevops:GetAsset |
Agen Ruang |
UpdateAsset |
Perbarui metadata atau konten aset yang ada. | aidevops:UpdateAsset |
Agen Ruang |
DeleteAsset |
Hapus aset dan semua filenya dari Ruang Agen. | aidevops:DeleteAsset |
Agen Ruang |
ListAssets |
Buat daftar aset di Ruang Agen, dengan pemfilteran opsional berdasarkan jenis aset. | aidevops:ListAssets |
Agen Ruang |
ListAssetVersions |
Buat daftar versi historis dari suatu aset. | aidevops:ListAssetVersions |
Agen Ruang |
GetAssetContent |
Unduh konten lengkap aset sebagai bundel zip. | aidevops:GetAssetContent |
Agen Ruang |
CreateAssetFile |
Tambahkan file baru ke aset yang ada. | aidevops:CreateAssetFile |
Agen Ruang |
GetAssetFile |
Ambil satu file dari aset dengan jalurnya. | aidevops:GetAssetFile |
Agen Ruang |
UpdateAssetFile |
Ganti konten atau metadata file yang ada dalam aset. | aidevops:UpdateAssetFile |
Agen Ruang |
DeleteAssetFile |
Hapus satu file dari aset. | aidevops:DeleteAssetFile |
Agen Ruang |
ListAssetFiles |
Buat daftar file dalam aset. | aidevops:ListAssetFiles |
Agen Ruang |
Contoh kebijakan IAM
Kebijakan berikut memberikan akses manajemen penuh ke aset dalam satu Ruang Agen:
{ "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": "*" } ] }
Kebijakan berikut memberikan akses hanya-baca ke aset dalam satu Ruang Agen:
{ "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": "*" } ] }
Jenis aset
Setiap aset memiliki assetType string yang mengidentifikasi jenis sumber daya apa itu. Enam jenis aset dapat dibuat melalui API Aset:skill,agents_md,attachment,custom_agent,test_profile, danfeedback. Bagian yang mengikuti menggambarkan setiap jenis. Anda juga dapat memanggil ListAssetTypes untuk mengambil pengidentifikasi tipe saat runtime.
Setiap aset membawa objek metadata JSON bentuk bebas yang menggambarkan sumber daya. Kunci di dalam metadata menggunakan snake_case (misalnya,,agent_types). skill_type Kunci di luarmetadata, di tingkat atas badan permintaan, menggunakan camelCase (misalnyaagentSpaceId,,,assetType). clientToken metadataKunci yang diperlukan dan opsional bergantung pada jenis aset, seperti yang dijelaskan di bagian berikut.
Saat Anda menelepon UpdateAsset atauUpdateAssetFile, layanan menerapkan semantik PATCH kemetadata: kunci yang Anda sertakan diganti, dan kunci yang Anda hilangkan mempertahankan nilai yang disimpan. Anda tidak dapat mengubah aset assetType setelah dibuat.
keterampilan
skillAset mengemas instruksi dan bahan referensi yang dimuat agen bila relevan. Keterampilan sederhana adalah satu SKILL.md file; keterampilan yang kompleks adalah bundel zip yang berisi SKILL.md file plus opsional references/ atau assets/ direktori.
metadataProperti yang dibutuhkan:
name (string) — Pengidentifikasi unik untuk keterampilan. Huruf kecil, angka, dan tanda hubung saja, 1-64 karakter. Tidak boleh memulai atau mengakhiri dengan tanda hubung. Diperlukan hanya untuk keterampilan sederhana. Untuk unggahan zip, layanan membaca
namedariSKILL.mdfrontmatter dan nilai apa pun yang diberikan di sini diabaikan.deskripsi (string) — Penjelasan karakter 1-1024 tentang kapan agen harus menggunakan keterampilan. Diperlukan hanya untuk keterampilan sederhana. Untuk unggahan zip, layanan membaca
descriptiondariSKILL.mdfrontmatter dan nilai apa pun yang diberikan di sini diabaikan.agent_types (array string) - Satu atau beberapa jenis agen yang berlaku untuk keterampilan ini. Gunakan
["GENERIC"]untuk membuat keterampilan tersedia untuk semua jenis agen. Nilai-nilai lain termasukCHATINCIDENT_TRIAGE,INCIDENT_RCA,INCIDENT_MITIGATION,PREVENTION,CHANGE_REVIEW,CHANGE_RELEASE,QUALITY_ASSURANCE_TESTING,,RELEASE_SHEPHERD,RELEASE_READINESS_REVIEW, danRELEASE_TESTING.GENERICNilai tidak dapat digabungkan dengan nilai lain.
metadataProperti opsional:
skill_type (string) - Default ke.
USERAPI Aset hanya mengizinkan keterampilan yang dibuat pelanggan, jadi satu-satunya nilai yang diterima adalah.USERLayanan menolak permintaan yang disetelskill_typekeLEARNED, yang dicadangkan untuk keterampilan yang dihasilkan oleh agen itu sendiri.status (string) — Status aktivasi keterampilan. Nilai yang diterima adalah
ACTIVEdanINACTIVE(hanya huruf besar). Default keACTIVE. Keterampilan tidak aktif tetap berada di Ruang Agen tetapi tidak dimuat oleh agen selama penyelidikan atau obrolan. GunakanUpdateAssetdenganmetadata.statusuntuk menonaktifkan atau mengaktifkan kembali keterampilan tanpa menghapusnya. Keterampilan adalah satu-satunya jenis aset yang mendukung aktivasi;statusbidang diabaikan pada setiap jenis aset lainnya. Lihat Mengaktifkan dan menonaktifkan keterampilan untuk contoh yang berhasil.enable_tools (array string) — Daftar pengidentifikasi alat yang dapat dipanggil agen saat memuat keterampilan ini.
Contohmetadata:
{ "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"] }
Batas: Unggahan zip tidak boleh melebihi 6 MB. Ruang Agen dapat berisi hingga 200 keterampilan yang dibuat pengguna.
agen_md
agents_mdAset adalah file penurunan harga yang berisi instruksi agen berdiri untuk jenis agen tertentu. Agen memuat pencocokan AGENTS.md di awal setiap tugas. Untuk informasi lebih lanjut tentang instruksi agen, lihatInstruksi agen.
metadataProperti yang dibutuhkan:
agent_type (string) - Jenis agen yang berlaku untuk AGENTS.md file. Nilai yang valid adalah
GENERICCHAT,INCIDENT_TRIAGE,INCIDENT_RCA,INCIDENT_MITIGATION,,PREVENTION,CHANGE_REVIEW,CHANGE_RELEASE,QUALITY_ASSURANCE_TESTING,RELEASE_SHEPHERD,RELEASE_READINESS_REVIEW, danRELEASE_TESTING.
Contohmetadata:
{ "agent_type": "INCIDENT_TRIAGE" }
Batas: Setiap Ruang Agen dapat berisi paling banyak satu AGENTS.md peragent_type. Konten file harus markdown (text/markdown) dan tidak boleh melebihi 25 KB.
lampiran
attachmentAset menyimpan file biner atau teks yang dapat dirujuk agen selama penyelidikan, misalnya, diagram arsitektur, PDF runbook, atau file log sampel.
metadataProperti yang dibutuhkan:
nama file (string) - Nama file asli, termasuk nama dasar dan ekstensi apa pun (misalnya,
topology.png).ekstensi (string) - Ekstensi file tanpa titik utama (misalnya,
png,pdf,csv).ukuran (angka) — Ukuran file dalam byte.
Contohmetadata:
{ "filename": "topology.png", "extension": "png", "size": 184320 }
Batas: Ukuran total semua lampiran di Ruang Agen tidak boleh melebihi 10 GB.
custom_agent
custom_agentAset mendefinisikan konfigurasi agen khusus dengan seperangkat alat dan keterampilan yang dikuratori. Gunakan agen khusus untuk menjangkau agen ke alur kerja atau serangkaian kemampuan tertentu.
metadataProperti yang dibutuhkan:
name (string) - Pengidentifikasi unik untuk agen kustom. Huruf kecil, angka, dan tanda hubung saja, 1-64 karakter. Tidak boleh memulai atau mengakhiri dengan tanda hubung.
metadataProperti opsional:
alat (array string) - Alat pengidentifikasi agen kustom diizinkan untuk digunakan. Default ke daftar kosong saat dihilangkan.
skill (array string) — Keterampilan mengidentifikasi beban agen kustom. Default ke daftar kosong saat dihilangkan.
Contohmetadata:
{ "name": "rds-firefighter", "tools": ["cloudwatch:GetMetricData", "rds:DescribeDBInstances"], "skills": ["rds-performance-investigation"] }
test_profil
test_profileAset menyimpan konfigurasi yang dapat digunakan kembali untuk menjalankan pengujian rilis, termasuk jenis pengujian yang akan dilakukan dan titik akhir target.
metadataProperti yang dibutuhkan:
test_agent_type (string) - Jenis pengujian yang dilakukan profil ini. Nilai yang valid adalah
releaseUiTestingdanreleaseApiTesting.target_url (string) - URL target uji coba.
metadataProperti opsional:
name (string) - Pengidentifikasi yang dapat dibaca manusia untuk profil pengujian. Huruf kecil, angka, dan tanda hubung saja, 1—128 karakter. Tidak boleh memulai atau mengakhiri dengan tanda hubung.
deskripsi (string) — Deskripsi karakter 1-1024 tentang apa yang dicakup oleh profil tes.
test_personas (array string) - Persona untuk berolahraga selama uji coba. Nilai yang valid adalah
guestdanauthenticated.api_spec (string) - Spesifikasi API untuk uji coba. Relevan untuk
releaseApiTesting.credentials_secret_arn (string) - ARN dari Secrets Manager rahasia AWS yang memegang kredensyal untuk uji coba.
Contohmetadata:
{ "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" }
Umpan Balik
feedbackAset mencatat umpan balik yang diberikan pelanggan pada eksekusi agen tunggal. Gunakan aset umpan balik untuk menangkap putusan dan catatan bahwa jalur evaluasi hilir dapat digabungkan.
metadataProperti yang dibutuhkan:
agent_types (array string) - Jenis agen yang menghasilkan eksekusi. Harus mengandung setidaknya satu nilai (misalnya,
INCIDENT_TRIAGE).
metadataProperti opsional:
execution_id (string) - Eksekusi umpan balik ini dikaitkan dengan. Aktifkan ini
CreateAsset; itu tidak dapat diubah olehUpdateAsset.
Contohmetadata:
{ "execution_id": "b2c3d4e5-6789-01ab-cdef-example22222", "agent_types": ["INCIDENT_TRIAGE"] }
Konten aset: file atau zip
Setiap CreateAsset permintaan menyertakan content objek yang menyimpan byte yang disimpan aset. Bentuk content tergantung pada apakah Anda mengunggah satu file atau bundel zip:
File teks tunggal -
content.file.body.textmembawa hingga 1,5 MB UTF-8 teks. Gunakan ini untuk keterampilan dan AGENTS.md file sederhana.
json { "content": { "file": { "path": "SKILL.md", "body": { "text": "# Skill\n\nInstructions go here." } } } }
File biner tunggal -
content.file.body.bytesmembawa hingga 6 MB konten biner yang dikodekan base64. Gunakan ini untuk lampiran seperti gambar atau PDF. Karena gumpalan bersarang di dalamcontentserikat pekerja, base64-menyandikan file sebelumnya dan mengirimkan permintaan dengan--cli-input-json(lihat Membuat keterampilan dari file biner untuk contoh yang berfungsi).
json { "content": { "file": { "path": "topology.png", "body": { "bytes": "<base64-encoded bytes>" } } } }
Zip bundle -
content.zip.zipFilemembawa arsip zip berenkode base64 hingga 6 MB. Gunakan ini untuk keterampilan yang menyertakan file tambahanSKILL.mdplus dalamassets/direktorireferences/atau.
json { "content": { "zip": { "zipFile": "<base64-encoded zip bytes>" } } }
Untuk menambah, mengganti, atau menghapus file individual di dalam aset yang ada tanpa mengunggah ulang seluruh bundel, gunakan CreateAssetFileUpdateAssetFile, dan. DeleteAssetFile
Mengelola keterampilan end-to-end
Panduan berikut ini menciptakan keterampilan tiga cara berbeda (dari satu file teks, dari file biner, dan dari bundel zip), dan kemudian menjalankan operasi baca, perbarui, dan hapus. Ganti 8f6187a7-0388-4926-8217-3a0fe32f757c dengan ID Ruang Agen Anda.
Buat keterampilan dari satu file teks
Ini adalah jalur paling sederhana: satu SKILL.md file yang diunggah sebaris. Karena unggahan berisi persis satu file teks, Anda harus menyediakan name dan description masukmetadata.
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"]
Buat keterampilan dari file biner
Gunakan unggahan biner ketika konten keterampilan bukan UTF-8 teks. Contoh di bawah ini mengunggah PDF yang telah dirender sebelumnya sebagai badan keterampilan. Karena badan permintaan berisi gumpalan berkode base64 yang bersarang di dalam content serikat pekerja, berikan permintaan dari file JSON dengan --cli-input-json dan base64 menyandikan gumpalan sebelumnya.
-w 0Bendera di bawah ini memberi tahu GNU base64 untuk memancarkan gumpalan yang dikodekan pada satu baris; tanpanya bungkus baris 76 karakter default menyisipkan baris baru yang menghasilkan JSON yang tidak valid ketika gumpalan diinterpolasi ke heredoc. Di macOS, gunakan base64 -i ops-runbook.pdf (BSD base64 tidak membungkus secara default).
Bangun badan permintaan:
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}, } }, )
Buat keterampilan dari bundel zip
Gunakan unggahan zip ketika keterampilan menyertakan lebih dari satu file, misalnya, materi referensi SKILL.md plus dan aset. Untuk unggahan zip, layanan membaca name dan description dari SKILL.md frontmatter, jadi jangan sertakan di dalamnya. metadata
Tata letak zip terlihat seperti:
rds-performance-investigation.zip ├── SKILL.md ├── references/ │ └── rds-metrics-reference.md └── assets/ └── rds-investigation-flowchart.png
SKILL.mdharus menyertakan frontmatter sehingga layanan dapat mengekstrak nama dan deskripsi:
--- 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 ...
Bangun badan permintaan:
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}}, )
Impor keterampilan dari repositori
Anda dapat membuat keterampilan dengan mengimpornya langsung dari direktori GitHub repositori. AWS DevOps Agen mengambil konten keterampilan, mengekstrak nama dan deskripsi dari SKILL.md frontmatter, dan menciptakan keterampilan di Ruang Agen Anda. Ini memungkinkan Anda mengelola keterampilan dalam kontrol versi dan mengimpor atau menyinkronkannya secara terprogram.
Prasyarat:
Ruang Agen Anda harus memiliki GitHub akun yang terkait. Lihat Menghubungkan GitHub.
Direktori repositori harus berisi SKILL.md file yang valid dengan 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"]
Layanan mengambil isi direktori, membaca SKILL.md frontmatter untuk name dandescription, dan mengimpor semua file. Jangan sertakan name atau description di metadata —mereka diekstraksi dari frontmatter secara otomatis.
Menyinkronkan keterampilan yang diimpor:
Untuk menarik perubahan terbaru dari repositori, hubungi UpdateAsset dengan: content.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" } }, )
Sinkronisasi menggantikan konten keterampilan sepenuhnya dengan status direktori repositori saat ini. Bidang yang dapat diedit (status, jenis agen) dipertahankan.
Melihat sumber impor:
GetAssetmengembalikan informasi sumber metadata.source untuk keterampilan yang diimpor repositori:
{ "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" } }
Kendala:
Hanya GitHub URL yang diterima. Anda dapat menunjuk ke direktori yang berisi SKILL.md (misalnya,
https://github.com/org/repo/tree/main/skills/my-skill), yang mengimpor seluruh direktori termasuk file referensi. Jika SKILL.md berada di root repositori, Anda juga dapat menautkan langsung ke file (misalnya,https://github.com/org/repo/blob/main/SKILL.md), yang hanya mengimpor file. SKILL.mdDirektori harus berisi SKILL.md dengan frontmatter yang valid.
Total ukuran direktori tidak boleh melebihi 6 MB dan paling banyak 100 file.
content.sourceUrlsaling eksklusif dengancontent.filedancontent.zip—Anda tidak dapat menggabungkannya dalam permintaan yang sama.Pembaruan khusus metadata (tanpa
content) mempertahankan sumber impor yang ada dan tidak mengambil ulang dari repositori.
Dapatkan, daftar, perbarui, dan hapus
Gunakan GetAsset untuk mengambil satu aset berdasarkan ID:
aws devops-agent get-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Gunakan ListAssets untuk halaman melalui setiap aset di Ruang Agen:
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>
Gunakan UpdateAsset untuk mengubah satu atau beberapa metadata bidang tanpa mengunggah ulang konten. Kunci yang Anda hilangkan mempertahankan nilai yang ada:
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "agent_types": ["INCIDENT_TRIAGE", "INCIDENT_RCA"] }'
Gunakan ListAssetVersions untuk memeriksa riwayat versi aset. Setiap yang berhasil UpdateAsset atau UpdateAssetFile panggilan memajukan nomor versi aset:
aws devops-agent list-asset-versions \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Gunakan DeleteAsset untuk menghapus aset dan semua file-nya:
aws devops-agent delete-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId>
Tambahkan satu file ke keterampilan yang ada
Jika Anda sudah membuat keterampilan dari bundel zip dan ingin menambahkan satu file referensi baru, Anda tidak perlu mengunggah ulang seluruh bundel. GunakanCreateAssetFile:
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." }'
Untuk mengganti file di tempat, gunakan update-asset-file dengan argumen yang sama. Untuk menghapusnya, gunakandelete-asset-file.
Mengaktifkan dan menonaktifkan keterampilan
Keterampilan membawa status aktivasi dimetadata.status. Keterampilan baru secara ACTIVE default dan dimuat oleh agen selama investigasi dan obrolan. Anda dapat menonaktifkan keterampilan untuk mengeluarkannya dari rotasi tanpa menghapusnya, misalnya saat Anda menyelidiki mengapa itu menghasilkan hasil yang tidak terduga, dan mengaktifkannya kembali nanti.
Tetapkan status awal saat membuat dengan memasukkan metadata.status dalam CreateAsset permintaan:
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" } } }'
Nonaktifkan keterampilan yang ada denganUpdateAsset. Karena metadata diterapkan sebagai pembaruan sebagian, pengiriman hanya status membuat setiap bidang lainnya tetap utuh:
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "status": "INACTIVE" }'
Aktifkan kembali dengan cara yang sama, dengan"status": "ACTIVE":
aws devops-agent update-asset \ --agent-space-id 8f6187a7-0388-4926-8217-3a0fe32f757c \ --asset-id <assetId> \ --metadata '{ "status": "ACTIVE" }'
GetAssetdan ListAssets selalu sertakan aset keterampilan saat inistatus, sehingga Anda dapat membaca status aktivasi langsung kapan saja. metadata
statusBidang ini peka huruf besar/kecil. Hanya ACTIVE dan INACTIVE (huruf besar) yang diterima. Nilai lainnya gagal dengan aValidationException. Aktivasi hanya berlaku untuk keterampilan; pengaturan metadata.status pada jenis aset lain tidak berpengaruh dan bidang dijatuhkan dari respons.
Contoh untuk jenis aset lainnya
Panduan keterampilan di atas berlaku untuk setiap jenis aset lainnya. Satu-satunya perbedaan adalah metadata blok dan, untuk lampiran, pilihan konten biner. CreateAssetPanggilan minimal di bawah ini menggambarkan setiap jenis.
Buat 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." } } }'
Buat lampiran (konten biner; buat permintaan dari file JSON seperti yang ditunjukkan pada Buat keterampilan dari file biner):
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
Buat agen kustom:
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." } } }'
Buat profil pengujian:
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" } } }'
Buat aset umpan balik:
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\"}" } } }'
Daftar jenis aset yang didukung:
aws devops-agent list-asset-types