퍼블릭 API를 통해 환경 관리
Microsoft Fabric REST API는 Fabric 항목의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업을 위한 서비스 엔드포인트를 제공합니다. 이 문서에서는 사용 가능한 환경 REST API 및 해당 사용에 대해 설명합니다.
Important
이 기능은 프리뷰로 제공됩니다.
사용 가능한 환경 API 요약
API | 설명 | 범주 |
---|---|---|
환경 만들기 | 작업 영역에서 새 환경을 만듭니다. | 일반 |
환경 가져오기 | 환경의 메타데이터를 가져옵니다. 응답에는 환경의 상태가 포함됩니다. | 일반 |
환경 업데이트 | 이름 및 설명과 같은 환경의 메타데이터를 업데이트합니다. | 일반 |
환경 삭제 | 기존 환경 삭제 | 일반 |
작업 영역의 모든 환경 나열 | 작업 영역의 환경 목록을 가져옵니다. | 일반 |
게시 환경 | 현재 보류 중인 변경 내용으로 환경 게시를 트리거합니다. | 일반 |
게시 취소 | 환경의 지속적인 게시를 취소합니다. | 일반 |
게시된 Spark 컴퓨팅 가져오기 | 효과적인 Spark 컴퓨팅 구성을 가져옵니다. | Spark 컴퓨팅 |
스테이징 Spark 컴퓨팅 가져오기 | 전체 스테이징 컴퓨팅 구성을 가져옵니다. 스테이징 구성에는 게시된 컴퓨팅 구성과 보류 중인 컴퓨팅 구성이 포함됩니다. | Spark 컴퓨팅 |
게시된 라이브러리 가져오기 | 효과적인 라이브러리 목록을 가져옵니다. | 라이브러리 |
스테이징 라이브러리 가져오기 | 전체 스테이징 라이브러리 목록을 가져옵니다. 이 목록에는 게시된 라이브러리와 보류 중인 라이브러리가 포함됩니다. | 라이브러리 |
스테이징 라이브러리 업로드 | 환경에서 하나의 사용자 지정 라이브러리 또는 하나/여러 퍼블릭 라이브러리를 추가합니다. | 라이브러리 |
스테이징 라이브러리 삭제 | 스테이징 사용자 지정 라이브러리 또는 모든 퍼블릭 라이브러리를 삭제합니다. | 라이브러리 |
항목 API - 환경의 환경 퍼블릭 API에 대해 자세히 알아보기
환경 퍼블릭 API 사용 사례
이 섹션에서는 환경을 처리할 때 몇 가지 일반적인 시나리오를 안내합니다. 다음 예제에서 {WORKSPACE_ID}
및 {ARTIFACT_ID}
는 적절한 값으로 바꿀 수 있습니다.
새 환경 만들기
다음 API를 사용하여 빈 환경을 새로 만들 수 있습니다.
샘플 요청
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments { "displayName": "Environment_1", "description": "An environment description" }
스테이징 라이브러리 관리
스테이징 라이브러리 업로드/삭제 API를 사용하여 환경에서 라이브러리 섹션을 관리할 수 있습니다.
환경에 게시된 라이브러리가 있는지 확인
라이브러리를 추가/삭제하기 전에 게시된 라이브러리 가져오기 API를 사용하여 현재 유효한 라이브러리를 확인할 수 있습니다.
샘플 요청
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/libraries
샘플 응답
{ "customLibraries": { "wheelFiles": [ "samplewheel-0.18.0-py2.py3-none-any.whl" ], "pyFiles": [ "samplepython.py" ], "jarFiles": [ "samplejar.jar" ], "rTarFiles": [ "sampleR.tar.gz" ] }, "environmentYml": "dependencies:\r\n- pip:\r\n - matplotlib==3.4.3" }
라이브러리 업로드
스테이징 라이브러리를 업로드하기 위한 API는 한 번에 파일을 하나만 허용합니다. 퍼블릭 라이브러리에 대해 지원되는 파일 형식은 .whl, .jar, .tar.gz, .py 및 environment.yml입니다. 다중 파트/form-data 콘텐츠 형식을 통해 파일을 지정할 수 있습니다.
참고 항목
- 퍼블릭 라이브러리를 보다 효율적으로 조작하려면 PyPI 및 conda의 모든 예상 라이브러리를 environment.yml 파일로 구성하는 것이 좋습니다.
- 업로드 API는 한 요청에서 최대 200MB의 파일을 허용하며, 이 크기 제한을 초과하는 라이브러리는 현재 퍼블릭 API에서 지원되지 않습니다.
샘플 요청
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries
라이브러리 삭제
형식 접미사를 사용하여 전체 라이브러리 파일 이름을 지정하면 라이브러리를 한 번에 하나씩 삭제할 수 있습니다.
참고 항목
environment.yml
을 삭제할 파일로 지정하면 모든 퍼블릭 라이브러리가 제거됩니다.- 기존 퍼블릭 라이브러리의 하위 집합을 제거하려면 업로드 라이브러리를 대신 사용하고 예상 라이브러리만 포함된 environment.yml을 업로드하세요. 업로드된 environment.yml은 기존 퍼블릭 라이브러리 섹션을 완전히 바꿉니다.
샘플 요청
DELETE https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries?libraryToDelete=fuzzywuzzy-0.18.0-py2.py3-none-any.whl
스테이징 Spark 컴퓨팅 관리
스테이징 Spark 컴퓨팅 업데이트를 사용하여 Spark 컴퓨팅을 관리할 수 있습니다.
환경에 게시된 Spark 컴퓨팅이 있는지 확인
환경에 대한 구성을 변경하기 전에 게시된 Spark 컴퓨팅 API 가져오기를 사용하여 현재 유효한 Spark 컴퓨팅 구성을 확인할 수 있습니다.
샘플 요청
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/sparkcompute
샘플 응답
{ "instancePool": { "name": "Starter Pool", "type": "Workspace" }, "driverCores": 4, "driverMemory": "56g", "executorCores": 4, "executorMemory": "56g", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": { "spark.acls.enable": "false" }, "runtimeVersion": "1.2" }
컴퓨팅 구성 업데이트
이 API의 요청 본문을 편집하여 Spark 런타임을 업데이트하고, 다른 풀로 전환하고, 컴퓨팅 구성을 구체화하고, Spark 속성을 추가/제거할 수 있습니다.
풀 이름 및 풀을 지정하여 연결된 풀을 전환할 수 있습니다. 풀 이름을 Starter Pool
로 지정하여 풀을 기본 설정으로 전환합니다. REST API를 기준으로 작업 영역의 사용 가능한 사용자 지정 풀의 전체 목록을 보려면 사용자 지정 풀 - 작업 영역 사용자 지정 풀 나열을 참조하세요.
기존 Spark 속성을 제거하려면 다음 예제와 같이 제거하려는 키와 마찬가지로 값을 null
로 지정해야 합니다.
샘플 요청
PATCH https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/sparkcompute { "instancePool": { "name": "Starter Pool", "type": "Workspace" }, "driverCores": 4, "driverMemory": "56g", "executorCores": 4, "executorMemory": "56g", "dynamicExecutorAllocation": { "enabled": false, "minExecutors": 1, "maxExecutors": 1 }, "sparkProperties": { "spark.acls.enable": null }, "runtimeVersion": "1.2" }
변경 내용 적용
다음 API 집합을 사용하여 변경 내용을 게시합니다.
게시 준비
환경은 한 번에 하나의 게시를 허용할 수 있습니다. 환경을 게시하기 전에 환경 상태의 유효성을 검사하고 스테이징 변경 내용을 최종 검토할 수 있습니다. 환경이 성공적으로 게시되면 스테이징 상태의 모든 구성이 적용됩니다.
1단계: 환경의 메타데이터 가져오기
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/
응답 본문에서 환경의 상태를 명확하게 알 수 있습니다. 다음 단계로 이동하기 전에 진행 중인 게시가 없는지 확인합니다.
2단계: 스테이징 라이브러리/Spark 컴퓨팅을 가져와 최종 검토
GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/libraries GET https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/sparkcompute
환경 게시 트리거
스테이징 라이브러리 및 Spark 컴퓨팅에 대해 수행한 변경 내용은 캐시되지만 게시를 적용해야 합니다. 다음 예제에 따라 게시를 트리거합니다.
샘플 요청
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/publish
샘플 응답
{ "publishDetails": { "state": "Running", "targetVersion": "46838a80-5450-4414-bea0-40fb6f3e0c0d", "startTime": "2024-03-29T14:17:09.0697022Z", "componentPublishInfo": { "sparkLibraries": { "state": "Running" }, "sparkSettings": { "state": "Running" } } } }
게시하는 동안 다음 API를 호출하여 취소할 수도 있습니다.
샘플 요청
POST https://api.fabric.microsoft.com/v1/workspaces/{{WORKSPACE_ID}}/environments/{{ARTIFACT_ID}}/staging/cancelPublish