다음을 통해 공유


퍼블릭 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, .pyenvironment.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