다음 섹션에서는 사용자 정의 슬롯 사이트 형식에 대해 설명합니다. GAMS MIRO에 사용됨, 즉.miroappApp Bundle 및.미로센용 MIRO 시나리오.
이 섹션은 기술적인 지식을 가진 사람들을 위한 것입니다. 자신만의 도구를 구현하려는 배경 이러한 슬롯 사이트을 처리하거나 MIRO가 어떻게 처리하는지 더 잘 이해할 수 있습니다. 내부적으로 작동합니다.
.miroapp슬롯 사이트은 MIRO 앱을 번들로 묶는 데 사용됩니다. 모든 모델 슬롯 사이트을 포함합니다..미로센슬롯 사이트 MIRO 시나리오에 속하는 모든 데이터를 묶습니다(데이터 메타데이터도 마찬가지입니다.) 두 슬롯 사이트 형식 모두 (암호화되지 않음) ZIP 슬롯 사이트(사용zlib).
아래 표에는 a에 포함된 모든 슬롯 사이트이 나열되어 있습니다..miroapp슬롯 사이트:
| 슬롯 사이트 이름 | 설명 |
|---|---|
| miroapp.json | 앱 메타데이터가 포함된 JSON 슬롯 사이트입니다. 는 이 슬롯 사이트의 스키마는 아래와 같습니다. |
| .miroconf | 검증된 앱이 포함된 .RData 슬롯 사이트 바이너리 형식으로 구성합니다. |
| <모델이름>.zip | 모든 내용을 포함하는 (암호화되지 않은) ZIP 슬롯 사이트(zlib) 에 지정된 모델 슬롯 사이트모델 어셈블리 슬롯 사이트. 여기모델이름은 소문자입니다. 슬롯 사이트이 없는 기본 GMS 슬롯 사이트의 슬롯 사이트 이름 확장. |
| data_<모델 이름>/ | (선택) 시나리오 데이터가 있는 디렉토리 이것을 추가할 때 MIRO 데이터베이스로 가져와야 합니다. 앱. |
| static_<모델 이름>/ | (선택사항) 다음과 같은 정적 슬롯 사이트이 있는 디렉토리 이미지와 스타일시트. 이 디렉토리는 Shiny 웹 서버에 추가되어 모든 슬롯 사이트이 이 디렉토리에 있는 슬롯 사이트은 다음에서 액세스할 수 있습니다. 브라우저. |
| renderer_<모델 이름>/ | (선택사항) 사용자 정의 렌더러가 있는 디렉토리 및 사용자 정의 가져오기/내보내기 슬롯 사이트. |
| scripts_<모델 이름>/ | (선택 사항) 사용자 정의 분석이 포함된 디렉터리 스크립트. |
검증하는 데 사용되는 JSON 스키마miroapp.json아래에 포함되어 있습니다:
"$schema":"http://json-schema.org/draft-07/schema#",
"title": "MIROAPP 메타데이터 스키마",
"유형":"객체",
"속성":
"버전":
"description":"MIROAPP 슬롯 사이트 버전(현재: 1)",
"유형":"정수",
"최소": 1
,
"api_version":
"description":"이 애플리케이션을 배포하는 데 사용된 MIRO API 버전입니다. 새 MIRO 앱을 추가할 때 시스템은 MIRO API 버전이 이 앱의 API 버전과 일치하는지 확인합니다. 그렇지 않은 경우 앱이 거부됩니다.",
"유형":"문자열"
,
"미로_버전":
"description":"이 애플리케이션을 배포하는 데 사용된 MIRO 버전입니다. 새 MIRO 앱을 추가할 때 시스템은 MIRO 버전이 이 앱이 배포된 MIRO 버전보다 높은지 확인합니다. 그렇지 않은 경우 앱이 거부됩니다.",
"유형":"문자열"
,
"main_gms_name":
"description": "슬롯 사이트 확장자를 포함한 기본 GMS 슬롯 사이트의 (대/소문자 구분) 슬롯 사이트 이름입니다.",
"유형":"문자열"
,
"타임스탬프":
"description":"앱이 배포된 시간입니다. 형식: yyyy-MM-dd hh:mm:ss zzz(예: 2021-12-15 10:28:33 UTC).",
"유형":"문자열"
,
"호스트_os":
"description": "이 응용 프로그램을 배포하는 데 사용된 운영 체제입니다.",
"유형":"문자열",
"enum": ["windows", "osx", "linux"]
,
"모드_포함":
"description": "이 앱에 포함된 모드입니다. MIRO 버전 2.2부터는 기본 모드만 허용됩니다.",
"유형":"문자열",
"열거형": ["기본"]
,
"use_temp_dir":
"description": "임시 디렉터리에서 모델을 실행할지 여부입니다. MIRO 서버는 이 플래그가 false인 앱을 거부합니다.",
"유형":"문자열"
,
"created_by":
"description":"이 MIROAPP 슬롯 사이트을 생성하는 데 사용된 도구를 나타내는 사람이 읽을 수 있는 문자열입니다.",
"유형":"문자열"
.miroapp슬롯 사이트을 확인하기 위해 선택적으로 서명할 수 있습니다. 앱의 무결성과 앱의 신뢰성 작성자.RSA최소 길이가 2048비트인 키가 지원됩니다. MIRO 앱에 서명합니다. MIRO 앱 서명은 다음과 같이 작동합니다.
앱의 신뢰성을 검증하려면 먼저 앱이 서명되었는지 확인했습니다(슬롯 사이트.miro_hashes그리고.miro_sig존재). 만약 이 이 경우 MIRO 앱의 무결성은 다음과 같이 확인됩니다. 다음과 같습니다:
아래 표에는 a에 포함된 모든 슬롯 사이트이 나열되어 있습니다..미로센슬롯 사이트:
| 슬롯 사이트 이름 | 설명 |
|---|---|
| metadata.json | 시나리오 메타데이터가 포함된 JSON 슬롯 사이트. 는 이 슬롯 사이트의 스키마는 아래와 같습니다. |
| data.gdx | 입력 및 출력 데이터가 포함된 GDX 슬롯 사이트 GAMS/MIRO 데이터에 지정된 모든 기호 중 계약합니다. |
| views.json | (선택사항) 다음을 포함하는 슬롯 사이트 시나리오별/로컬 보기. |
| 첨부슬롯 사이트/ | (선택사항) 슬롯 사이트이 첨부된 디렉토리 시나리오. 첨부 슬롯 사이트의 메타데이터는 다음과 같아야 합니다. 에 포함되어 있습니다.metadata.json슬롯 사이트(참조 아래 스키마). |
검증하는 데 사용되는 JSON 스키마metadata.json아래에 포함되어 있습니다:
"$schema":"http://json-schema.org/draft-07/schema#",
"title": "MIROSCEN 메타데이터 스키마",
"유형":"객체",
"속성":
"버전":
"description": "MIROSCEN 슬롯 사이트의 버전(현재: 1)",
"유형":"정수",
"최소": 1
,
"장면_이름":
"description": "사용자가 지정한 시나리오의 이름입니다.",
"유형":"문자열",
"최소 길이": 1,
"최대 길이": 64
,
"scen_tags":
"description":"시나리오에 할당된 태그입니다. 배열을 쉼표로 구분된 문자열로 결합할 때 총 문자 수는 1000자를 초과할 수 없습니다.",
"유형":"배열",
"고유 항목":true,
"항목":
"유형":"문자열",
"최소 길이": 1
,
"cl_args":
"description":"시나리오별 명령줄 인수(달러 제어 옵션 및 GAMS 옵션).",
"유형":"배열",
"고유 항목":true,
"항목":
"유형":"문자열",
"최소 길이": 1
,
"첨부 슬롯 사이트":
"description": "첨부슬롯 사이트 메타데이터.",
"유형":"배열",
"항목":
"유형": "객체",
"속성":
"이름":
"description": "첨부 슬롯 사이트의 슬롯 사이트 이름(확장자 포함)입니다.",
"유형":"문자열"
,
"execPerm":
"description": "모델이 시나리오를 볼 수 있는지 여부(첨부 슬롯 사이트은 실행 전에 작업 디렉터리에 다운로드됩니다.)",
"유형":"부울"
,
"모델_원시":
"description": "슬롯 사이트 확장자를 제외한 기본 GMS 슬롯 사이트의 (대소문자 구분) 슬롯 사이트 이름입니다.",
"유형":"문자열"
,
"UID":
"description": "시나리오 소유자의 사용자 ID입니다.",
"유형":"문자열",
"최소 길이": 1
,
"시간_생성":
"description":"MIROSCEN 슬롯 사이트이 생성된 시간입니다. 형식: yyyy-MM-dd hh:mm:ss zzz(예: 2021-12-15 10:28:33 UTC).",
"유형":"문자열"
,
"created_by":
"description":"이 MIROSCEN 슬롯 사이트을 생성하는 데 사용된 도구를 나타내는 사람이 읽을 수 있는 문자열입니다.",
"유형":"문자열"