Azure Cosmos DB 작업을 통해 워크플로우에서 직접 Azure Cosmos DB의 문서 및 데이터베이스를 읽고, 쓰고, 관리할 수 있습니다. 모든 작업은 Azure AD 서비스 주체를 사용하여 인증하고 Cosmos DB 데이터 평면과 통신합니다.
항목 가져오기
이 작업은 Azure Cosmos DB - Get Document REST API를 사용하여 Azure Cosmos DB 컨테이너에서 ID로 단일 문서를 읽습니다.
입력 | 유형 | 설명 |
|---|---|---|
| 문자열 | 필수 항목입니다. Azure AD 앱(클라이언트) ID. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 클라이언트 암호입니다. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 테넌트 식별자입니다. 비밀로 전달할 수 있습니다. |
| 문자열 | 필수 항목입니다. Cosmos DB 계정명. 예:
. |
| 문자열 | 필수 항목입니다. 데이터베이스 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 컨테이너(컬렉션) 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 읽을 문서
입니다. 예를 들어,
. |
| 문자열 | 필수 항목입니다. 문서의 파티션 핵심 가치입니다. 예:
. |
| 목록 | 선택 사항. 응답에서 특정 값을 추출하는 데 사용되는 선택자 목록입니다. 예:
. |
산출 | 유형 | 설명 |
|---|---|---|
| 부울 |
성공 시, 오류가 발생하거나 문서를 찾을 수 없는 경우
입니다. |
| 문자열 | 메시지 형태의 실패 이유입니다. |
| 물체 | 문서 본문입니다. 보다 자세한 내용은 Azure Cosmos DB - Get Document REST API를 참조하십시오. |
| 문자열 | 반환된 문서의 ETag로, 낙관적 동시성 제어에 사용됩니다. |
| 문자열 | 작업에서 소비한 요청 단위(RU)입니다. |
name: cosmosGetItemWorkflowdescription: ''steps: - name: get_item type: action action: azure.cosmos.getItem version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} accountName: my-cosmos-account databaseId: TestDb collectionId: Items itemId: "121" partitionKey: beta selectors: - name: item expression: ".response" next: log_result - name: log_result type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'azure.cosmos.getItem result: ${{ .steps.get_item.outputs | tostring }}' next: end항목 생성
이 작업은 Azure Cosmos DB - Create Document REST API를 사용하여 Azure Cosmos DB 컨테이너에 새 문서를 만듭니다.
입력 | 유형 | 설명 |
|---|---|---|
| 문자열 | 필수 항목입니다. Azure AD 앱(클라이언트) ID. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 클라이언트 암호입니다. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 테넌트 식별자입니다. 비밀로 전달할 수 있습니다. |
| 문자열 | 필수 항목입니다. Cosmos DB 계정명. 예:
. |
| 문자열 | 필수 항목입니다. 데이터베이스 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 컨테이너(컬렉션) 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 새 문서의 파티션 키 값. 문서의 파티션 키 속성 값과 일치해야 합니다. 예:
. |
| 지도 | 필수 항목입니다. 생성할 문서입니다.
과(와) 동일한 값으로 설정된 파티션 키 속성(예:
)을 포함해야 하며, 일반적으로
을(를) 포함해야 합니다. |
| 목록 | 선택 사항. 응답에서 특정 값을 추출하는 데 사용되는 선택자 목록입니다. 예:
. |
산출 | 유형 | 설명 |
|---|---|---|
| 부울 |
201 Created 시, 오류 발생 시
. |
| 문자열 | 메시지 형태의 실패 이유입니다. |
| 물체 | 시스템 필드를 포함하여 저장된 상태의 생성된 문서입니다. 보다 자세한 내용은 Azure Cosmos DB - Create Document REST API를 참조하십시오. |
| 문자열 | 낙관적 동시성 제어에 사용되는 생성된 문서의 ETag입니다. |
| 문자열 | 작업에서 소비한 요청 단위(RU)입니다. |
name: cosmosCreateItemWorkflowdescription: ''steps: - name: create_item type: action action: azure.cosmos.createItem version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} accountName: my-cosmos-account databaseId: TestDb collectionId: Items partitionKey: beta item: id: "423" pk: beta name: created-by-workflow category: demo value: 42 selectors: - name: newId expression: .response.id next: log_result - name: log_result type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'azure.cosmos.createItem succeeded=${{ .steps.create_item.outputs.success }} newId=${{ .steps.create_item.outputs.newId }}' next: end항목 업데이트
이 작업은 Azure Cosmos DB - Replace Document REST API를 사용하여 Azure Cosmos DB 컨테이너의 문서를 바꾸거나 업서트합니다. 기본적으로(upsert: false) 문서가 이미 존재해야 합니다. 문서가 존재하지 않는 경우 문서를 생성하려면 upsert: true을(를) 설정하십시오.
입력 | 유형 | 설명 |
|---|---|---|
| 문자열 | 필수 항목입니다. Azure AD 앱(클라이언트) ID. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 클라이언트 암호입니다. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 테넌트 식별자입니다. 비밀로 전달할 수 있습니다. |
| 문자열 | 필수 항목입니다. Cosmos DB 계정명. 예:
. |
| 문자열 | 필수 항목입니다. 데이터베이스 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 컨테이너(컬렉션) 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 바꿀 문서
입니다. 예를 들어,
. |
| 문자열 | 필수 항목입니다. 문서의 파티션 핵심 가치입니다. 예:
. |
| 지도 | 필수 항목입니다. 전체 대체 문서입니다. 기존 문서와 동일한
및 파티션 핵심 가치를 포함해야 합니다. |
| 부울 | 선택 항목입니다.
(기본값)인 경우 문서를 교체하며, 문서가 존재하지 않으면 오류를 반환합니다.
인 경우 문서가 존재하지 않으면 문서를 생성합니다.
또는
을(를) 허용합니다. |
| 목록 | 선택 사항. 응답에서 특정 값을 추출하는 데 사용되는 선택자 목록입니다. 예:
. |
산출 | 유형 | 설명 |
|---|---|---|
| 부울 |
성공 시, 오류 시
입니다. |
| 문자열 | 메시지 형태의 실패 이유입니다. |
| 물체 | 쓰기 작업 후 저장된 문서입니다. 보다 자세한 내용은 Azure Cosmos DB - Replace Document REST API를 참조하십시오. |
| 문자열 | 낙관적 동시성 제어에 사용되는 쓰기 후 저장된 문서의 ETag입니다. |
| 문자열 | 작업에서 소비한 요청 단위(RU)입니다. |
name: cosmosUpdateItemWorkflowdescription: ''steps: - name: update_item type: action action: azure.cosmos.updateItem version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} accountName: my-cosmos-account databaseId: TestDb collectionId: Items itemId: "323" partitionKey: beta upsert: false item: id: "323" pk: beta name: updated-by-workflow category: demo value: 43 selectors: - name: updatedId expression: .response.id - name: eTag expression: .response._etag next: log_result - name: log_result type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'azure.cosmos.updateItem succeeded=${{ .steps.update_item.outputs.success }} updatedId=${{ .steps.update_item.outputs.updatedId }} eTag=${{ .steps.update_item.outputs.eTag }}' next: end항목 삭제
이 작업은 Azure Cosmos DB - Delete Document REST API를 사용하여 Azure Cosmos DB 컨테이너에서 문서를 삭제합니다.
입력 | 유형 | 설명 |
|---|---|---|
| 문자열 | 필수 항목입니다. Azure AD 앱(클라이언트) ID. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 클라이언트 암호입니다. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 테넌트 식별자입니다. 비밀로 전달할 수 있습니다. |
| 문자열 | 필수 항목입니다. Cosmos DB 계정명. 예:
. |
| 문자열 | 필수 항목입니다. 데이터베이스 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 컨테이너(컬렉션) 식별자입니다. 예:
. |
| 문자열 | 필수 항목입니다. 삭제할 문서
입니다. 예를 들어,
. |
| 문자열 | 필수 항목입니다. 문서의 파티션 핵심 가치입니다. 문서의 파티션 키 속성 값과 일치해야 합니다. 예:
. |
| 목록 | 선택 사항. 응답에서 특정 값을 추출하는 데 사용되는 선택자 목록입니다. 예:
. |
산출 | 유형 | 설명 |
|---|---|---|
| 부울 |
204 No Content 시, 오류 발생 시
. |
| 문자열 | 메시지 형태의 실패 이유입니다. |
| 물체 | 삭제 응답입니다. 성공 시 일반적으로 비어 있습니다. 상태를 확인하려면
과(와) 같은 선택기를 사용하십시오. 보다 자세한 내용은 REST API를 참조하십시오. |
| 문자열 | 작업에서 소비한 요청 단위(RU)입니다. |
name: cosmosDeleteItemWorkflowdescription: ''steps: - name: delete_item type: action action: azure.cosmos.deleteItem version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} accountName: my-cosmos-account databaseId: TestDb collectionId: Items itemId: "121" partitionKey: beta selectors: - name: statusCode expression: ".response.status_code" next: log_result - name: log_result type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'azure.cosmos.deleteItem result: ${{ .steps.delete_item.outputs | tostring }}' next: end데이터베이스 설명
이 작업은 Azure Cosmos DB - Get Database REST API를 사용하여 Azure Cosmos DB 데이터베이스의 메타데이터를 검색합니다.
입력 | 유형 | 설명 |
|---|---|---|
| 문자열 | 필수 항목입니다. Azure AD 앱(클라이언트) ID. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 클라이언트 암호입니다. 비밀로 전달되어야 합니다. 하는 방법을 확인하십시오. |
| 문자열 | 필수 항목입니다. Azure AD 테넌트 식별자입니다. 비밀로 전달할 수 있습니다. |
| 문자열 | 필수 항목입니다. Cosmos DB 계정명. 예:
. |
| 문자열 | 필수 항목입니다. 설명할 데이터베이스입니다. 예:
. |
| 목록 | 선택 사항. 응답에서 특정 값을 추출하는 데 사용되는 선택자 목록입니다. 예:
. |
산출 | 유형 | 설명 |
|---|---|---|
| 부울 |
성공 시, 오류 또는 데이터베이스를 찾을 수 없는 경우
입니다. |
| 문자열 | 메시지 형태의 실패 이유입니다. |
| 물체 |
,
,
,
,
및
와 같은 필드를 포함하는 데이터베이스 리소스입니다. 보다 자세한 내용은 REST API를 참조하십시오. |
| 문자열 | 데이터베이스 리소스의 ETag입니다. |
name: cosmosDescribeDatabaseWorkflowdescription: ''steps: - name: describeDatabase type: action action: azure.cosmos.describeDatabase version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-client-tenant }} accountName: my-cosmos-account databaseId: TestDb selectors: - name: database expression: ".response" - name: id expression: ".response.id" - name: eTag expression: ".eTag" - name: logResult type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'azure.cosmos.describeDatabase database: ${{ .steps.describeDatabase.outputs.database | tostring }}' attributes: success: ${{ .steps.describeDatabase.outputs.success }} id: ${{ .steps.describeDatabase.outputs.id }} eTag: ${{ .steps.describeDatabase.outputs.eTag }} next: end