Azure Functions 2.x 이상의 Azure Cosmos DB 트리거 및 바인딩 개요

이 문서 세트에서는 Azure Functions 2.x 이상에서 Azure Cosmos DB 바인딩을 사용하는 방법을 설명합니다. Azure Functions는 Azure Cosmos DB에 대한 트리거, 입력 및 출력 바인딩을 지원합니다.

작업 형식
Azure Cosmos DB 문서를 만들거나 수정할 때 함수 실행 트리거
Azure Cosmos DB 문서 읽기 입력 바인딩
Azure Cosmos DB 문서에 변경 내용 저장 출력 바인딩

참고

이 참조는 Azure Functions 버전 2.x 이상에 대한 것입니다. Functions 1.x에서 이러한 바인딩을 사용하는 방법에 대한 내용은 Azure Functions 1.x에 대한 Azure Cosmos DB 바인딩을 참조하세요.

이 바인딩의 원래 이름은 DocumentDB입니다. Azure Functions 버전 2.x 이상에서 트리거, 바인딩 및 패키지의 이름은 모두 Azure Cosmos DB입니다.

지원되는 API

Azure Cosmos DB 바인딩은 NoSQL용 Azure Cosmos DB에서만 사용할 수 있습니다. Table용 Azure Cosmos DB에 대한 지원은 확장 5.x부터 Table Storage 바인딩을 사용하여 제공됩니다. 다른 모든 Azure Cosmos DB API의 경우 Azure Cosmos DB for MongoDB, Cassandra용 Azure Cosmos DBApache Gremlin용 Azure Cosmos DB를 포함하여 API에 대한 정적 클라이언트를 사용하여 함수에서 데이터베이스에 액세스해야 합니다.

확장 설치

설치하는 확장 NuGet 패키지는 함수 앱에서 사용 중인 C# 모드에 따라 다릅니다.

Functions는 Functions 호스트와 동일한 프로세스에서 실행됩니다. 자세한 내용은 Azure Functions를 사용하여 C# 클래스 라이브러리 함수 개발을 참조하세요.

확장 설치 프로세스는 확장 버전에 따라 다릅니다.

트리거 및 바인딩을 사용하려면 적절한 NuGet 패키지를 참조해야 합니다. NuGet 패키지 버전 3.x를 설치합니다.

번들 설치

Azure Cosmos DB 바인딩 확장은 host.json 프로젝트 파일에 지정된 확장 번들의 일부입니다. 바인딩 버전을 변경하거나 번들이 아직 설치되지 않은 경우 이 번들을 수정해야 할 수 있습니다. 자세한 내용은 확장 번들을 참조하세요.

확장 번들, 버전 2.x 또는 3.x를 등록하여 함수 앱에 이 버전의 확장을 설치할 수 있습니다.

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[3.3.0, 4.0.0)"
    }
}

Azure Cosmos DB SDK의 스키마 변경으로 인해 Azure Cosmos DB 확장 버전 4.x는 현재 Java 함수에 대해 지원되지 않습니다.

host.json 파일에서 다음 코드를 추가하거나 교체하여 미리 보기 확장 번들 v4에서 이 버전의 확장을 추가할 수 있습니다.

{
  "version": "2.0",
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
    "version": "[4.0.0, 5.0.0)"
  }
}

자세한 내용은 확장 업데이트를 참조하세요.


예외 및 반환 코드

바인딩 참고
Azure Cosmos DB Azure Cosmos DB에 대한 HTTP 상태 코드

host.json 설정

이 섹션에서는 버전 2.x 이상에서 이 바인딩에 사용할 수 있는 구성 설정에 대해 설명합니다. host.json 파일의 설정은 함수 앱 인스턴스의 모든 함수에 적용됩니다. 아래 예제 host.json 파일에는 이 바인딩에 대한 버전 2.x+ 설정만 포함되어 있습니다. 버전 2.x 이상 버전의 함수 앱 구성 설정에 대한 자세한 내용은 Azure Functions용 host.json 참조를 참조하세요.

{
    "version": "2.0",
    "extensions": {
        "cosmosDB": {
            "connectionMode": "Gateway",
            "protocol": "Https",
            "leaseOptions": {
                "leasePrefix": "prefix1"
            }
        }
    }
}
속성 기본값 Description
connectionMode Gateway Azure Cosmos DB 서비스에 연결할 때 해당 함수에 의해 사용되는 연결 모드입니다. 옵션은 DirectGateway입니다.
protocol Https Azure Cosmos DB 서비스에 연결할 때 해당 함수에 의해 사용되는 연결 프로토콜입니다. 두 모드에 대한 설명은 여기를 참조하세요.
leasePrefix 해당 없음 앱의 모든 함수에서 사용할 접두사를 임대합니다.

다음 단계