다음을 통해 공유


.NET을 사용하여 Azure Cosmos DB for Table에서 항목 읽기

적용 대상: 테이블

Azure Cosmos DB의 항목은 테이블 내에 저장된 특정 엔터티를 나타냅니다. API for Table에서 항목은 행 및 파티션 키의 복합으로 고유하게 식별되는 키-값 쌍 세트로 구성됩니다.

복합 키를 사용하여 항목 읽기

Azure Cosmos DB for Table의 모든 항목에는 파티션 키의 조합으로 지정된 고유 식별자가 있습니다. 이러한 복합 키는 각각 RowKeyPartitionKey 속성으로 저장됩니다. 테이블 범위 내에서 두 항목은 동일한 고유 식별자 조합을 공유할 수 없습니다.

Azure Cosmos DB에서 항목 읽기를 수행하려면 항목의 고유 식별자와 파티션 키 값이 모두 필요합니다. 특히 복합 키를 제공하면 RU(요청 단위)에서 예측 가능한 비용으로 해당 항목의 빠른 지점 읽기를 수행합니다.

항목 읽기

항목의 지점 읽기를 수행하려면 다음 전략 중 하나를 사용합니다.

기본 제공 클래스를 사용하여 항목 읽기

다음 예제 지점은 단일 항목을 비동기적으로 읽고 기본 제공 TableEntity 형식을 사용하여 사전에 역직렬화된 결과를 반환합니다.

// Read existing item from server-side table
TableEntity readItem = await tableClient.GetEntityAsync<TableEntity>(
    partitionKey: "68719518388",
    rowKey: "gear-surf-surfboards"
);

TableClient.GetEntityAsync<TableEntity> 메서드는 항목을 읽고 Response<TableEntity> 형식의 개체를 반환합니다. 응답<> 형식에는 개체를 **TableEntity' 개체로 변환하는 암시적 변환 연산자가 포함되어 있습니다.

사용자 고유의 형식을 사용하여 항목 읽기

참고 항목

이 섹션의 예제에서는 Product라는 데이터를 나타내는 C# 형식을 이미 정의했다고 가정합니다.

// C# record type for items in the table
public record Product : ITableEntity
{
    public string RowKey { get; set; } = default!;

    public string PartitionKey { get; set; } = default!;

    public string Name { get; init; } = default!;

    public int Quantity { get; init; }

    public bool Sale { get; init; }

    public ETag ETag { get; set; } = default!;

    public DateTimeOffset? Timestamp { get; set; } = default!;
}

다음 예제에서는 단일 항목에 대해 비동기적으로 지점 읽기를 수행하고 제공된 제네릭 형식을 사용하여 역직렬화된 항목을 반환합니다.

// Read existing item from server-side table
Product readItem = await tableClient.GetEntityAsync<Product>(
    partitionKey: "68719518388",
    rowKey: "gear-surf-surfboards"
);

Important

TableClient.GetEntityAsync<> 메서드에서 사용하는 제네릭 형식은 ITableEntity인터페이스를 구현해야 합니다.

TableClient.GetEntityAsync<> 메서드는 항목을 읽고 Response<> 형식의 개체를 반환합니다. 응답<> 형식에는 개체를 제네릭 형식으로 변환하는 암시적 변환 연산자가 포함되어 있습니다. 암시적 연산자에 대한 자세한 내용은 사용자 정의 변환 연산자를 참조하세요.

다음 단계

이제 다양한 항목을 읽었으므로 Azure Cosmos DB for Table 데이터 쿼리에 대한 자습서 중 하나를 시도해 보세요.