JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle® ZFS Storage Appliance 관리 설명서, 릴리스 2013.1.3.0
Oracle Technology Network
라이브러리
PDF
인쇄 보기
피드백
search filter icon
search icon

문서 정보

Oracle ZFS Storage Appliance 정보

Oracle ZFS Storage Appliance 구성

서비스 작업

Oracle ZFS Storage Appliance 유지 관리

유지 관리 워크플로우 작업

워크플로우 이해

워크플로우 매개변수 이해

제한된 워크플로우 매개변수

선택적 워크플로우 매개변수

워크플로우 오류 처리

워크플로우 입력 검증

워크플로우 실행 감사 및 보고

워크플로우 버전 지정 이해

경보 조치에 워크플로우 사용

예약된 워크플로우 사용

예약된 워크플로우 사용

워크플로우 일정 코딩

지정된 드라이브 유형을 기반으로 워크시트 만들기

BUI를 사용하여 워크플로우 업로드

CLI를 사용하여 워크플로우 다운로드

CLI를 사용하여 워크플로우 나열

CLI를 사용하여 워크플로우 실행

공유 사용

Oracle ZFS Storage Appliance에 응용 프로그램 통합

워크플로우 실행 감사 및 보고

워크플로우에서 audit 함수를 호출하여 감사 레코드를 내보낼 수 있습니다. audit 함수의 유일한 인수는 감사 로그에 넣을 문자열입니다.

실행하는 데 다소 시간이 걸릴 수 있는 복잡한 워크플로우의 경우 워크플로우를 실행하는 사용자에게 명확한 진행 정보를 제공하면 유용할 수 있습니다. 워크플로우 실행이 이러한 방식으로 보고될 수 있도록 하려면 execute 멤버가 단계 배열을 반환해야 합니다. 각 배열 요소에는 다음 멤버가 포함되어야 합니다.

표 4-6  실행 보고의 필수 멤버
필수 멤버
유형
설명
step
문자열
실행 단계의 이름을 나타내는 문자열입니다.
execute
함수
워크플로우 단계를 실행하는 함수입니다.

전체 워크플로우의 execute 함수와 마찬가지로 각 단계의 execute 멤버에는 워크플로우에 대한 매개변수를 포함하는 객체가 해당 인수로 사용됩니다.

예 4-7  워크플로우 실행 보고

다음은 세 단계를 거쳐 새 프로젝트, 공유 및 감사 레코드를 만드는 워크플로우 예입니다.

var steps = [ {
	step: 'Checking for associated project',
	execute: function (params) {
		try {
			run('shares select ' + params.unit);
		} catch (err) {
			if (err.code != EAKSH_ENTITY_BADSELECT)
				throw (err);

			/*
			 * We haven't yet created a project that corresponds to
			 * this business unit; create it now.
			 */
			run('shares project ' + params.unit);
			set('mountpoint', '/export/' + params.unit);
			run('commit');
			run('shares select ' + params.unit);
		}
	}
}, {
	step: 'Creating share',
	execute: function (params) {
		run('filesystem ' + params.name);
		run('commit');
	}
}, {
	step: 'Creating audit record',
	execute: function (params) {
		audit('created "' + params.name + '" in "' + params.unit);
	}
} ];

var workflow = {
	name: 'Create share',
	description: 'Creates a new share in a business unit',
	parameters: {
		name: {
			label: 'Name of new share',
			type: 'String'
		},
		unit: {
			label: 'Business unit',
			type: 'ChooseOne',
			options: [ 'development', 'finance', 'qa', 'sales' ],
			optionlabels: [ 'Development', 'Finance',
			    'Quality Assurance', 'Sales/Administrative' ],
		}
	},
	validate: function (params) {
		try {
			run('shares select ' + params.unit);
			run('select ' + params.name);
		} catch (err) {
			if (err.code == EAKSH_ENTITY_BADSELECT)
				return;
		}

		return ({ name: 'share already exists' });
	},
	execute: function (params) { return (steps); }
};