Lưu, liệt kê và mở lại kết quả XLS cục bộ
Chạy một yêu cầu XLS gốc vào kho kết quả của dự án, liệt kê các kết quả đã lưu và mở lại một kết quả theo ID nội dung của nó.
Dùng Altifigence CLI 0.1.9 trên Linux để giữ các kết quả XLS gốc trong một dự án cục bộ. Mỗi kết quả đã lưu được kiểm tra bằng cách phát lại yêu cầu nhúng bên trong nó trên CPU khi nó được lưu, liệt kê và mở lại.
Lưu một kết quả
Dùng đường dẫn tuyệt đối tới dự án cục bộ. Ví dụ này dùng $HOME/alti-projects/demo-project. Lưu một yêu cầu thao tác gốc:
set -euo pipefail
PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
WORK="$(mktemp -d)"
cat > "$WORK/eval.json" <<'JSON'
{
"schema": "altifigence.xls.operation-request.v1",
"operation": "eval",
"input_kind": "dslx",
"source": "fn compute(x: u8, y: u8) -> u8 { x + y }",
"top": "compute",
"backend": "cpu",
"vectors": [["1", "2"]]
}
JSON
alti xls artifact store --project "$PROJECT" --request "$WORK/eval.json" > "$WORK/ref.json"
jq '{schema, result_schema, replay_verified}' "$WORK/ref.json"
ID="$(jq -r .id "$WORK/ref.json")"store chạy thao tác được nêu trong yêu cầu, phát lại kết quả và lưu nó. Xác nhận trạng thái thoát là 0. Các trường tham chiếu được chọn là:
{
"schema": "altifigence.xls.artifact-ref.v1",
"result_schema": "altifigence.xls.operation-result.v1",
"replay_verified": true
}id và sha256 giữ cùng một giá trị: SHA-256 của kết quả đã lưu, gồm 64 ký tự thập lục phân viết thường. Kết quả được lưu thành .altifigence/xls/artifacts/<id>.json bên trong thư mục do --project chỉ định. Khi không có --project, thư mục hiện tại được dùng. Các yêu cầu optimize và codegen lưu các kết quả altifigence.xls.operation-result.v2 có bao gồm compilation. Lưu lại cùng yêu cầu sẽ trả về cùng id.
Liệt kê các kết quả đã lưu
alti xls artifact list --project "$PROJECT" > "$WORK/list.json"
jq '{schema, limit, replay_verified, ids}' "$WORK/list.json"ids chứa các ID đã lưu theo thứ tự đã sắp xếp. Trước khi liệt kê, mọi kết quả đã lưu được đối chiếu với ID của nó và được phát lại. Danh sách bao gồm tối đa 256 mục. Một dự án không có kết quả đã lưu trả về mảng ids rỗng. Các kết quả được alti xls run công bố được giữ trong cùng kho và xuất hiện trong cùng danh sách.
Mở lại một kết quả
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/result.json"
jq '{schema, status, outputs}' "$WORK/result.json"Sau khi trạng thái thoát là 0, các trường được chọn là:
{
"schema": "altifigence.xls.operation-result.v1",
"status": "succeeded",
"outputs": [
"bits[8]:0x3"
]
}show trả về toàn bộ kết quả đã lưu, gồm request, source_sha256, request_sha256 và parameters. Trước hết nó kiểm tra rằng SHA-256 của tệp bằng ID và tệp nằm trong giới hạn 65536 byte, rồi phát lại yêu cầu nhúng bên trong và so sánh từng trường.
Xử lý lỗi
Khi engine XLS từ chối một thao tác store, lệnh thoát với trạng thái 2 và ghi một đối tượng altifigence.xls.error.v1 ra đầu ra chuẩn. Đọc mã và thông báo của nó:
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/show.json" || true
jq -r '.error.code + ": " + .error.message' "$WORK/show.json"CLI báo XLS artifact id must be 64 lowercase hexadecimal characters trên lỗi chuẩn với tiền tố error: và thoát với trạng thái 1 trước khi chạy engine. Đọc thông báo này trên lỗi chuẩn. Hãy sao chép id từ store hoặc từ ids trong list nguyên vẹn.
Với artifact-not-found: XLS store does not exist, hãy truyền cùng --project mà bạn đã dùng với store.
Với artifact-io: cannot access local XLS artifact store từ show, hãy chạy list với cùng --project và dùng một ID từ ids.
Với resource-limit: store listing exceeds 256 entries; use artifact-show with a known id, hãy mở lại kết quả bằng show và các ID đã lưu từ store.