Azure, AWS, GCP 클라우드 활용 Tip과 강좌 게시판

이곳은 개발자를 위한 Azure, AWS, GCP등 클라우드 활용 Tip과 강좌 게시판 입니다. 클라우드 환경을 개발하면서 알아내신 Tip이나 강좌, 새로운 소식을 적어 주시면 다른 클라우드를 공부하는 개발자 분들에게 큰 도움이 됩니다. 감사합니다. SQLER.com은 개발자와 IT전문가의 지식 나눔을 실천하기 위해 노력하고 있습니다.

지난 시간에 이어 테이블에 엔터티를 추가, 삭제, 업데이트 처리에 해당되는 코드를 작성해

보고 살펴 보도록 하겠습니다.

 

프로젝트와 코드는 지난 시간에 살펴 본 Storage 라이브러리를 사용하여 테이블 생성 한

부분을 이어서 하도록 하겠습니다.

지난 번 테이블 생성 예제와 같이 정리하는 차원에서 전체 소스에 대해서 살펴보도록 하겠습니다.

다음 소스는 간단히 테이블 생성, 엔터티 추가, 변경, 삭제에 대한 버튼 컨트롤을 추가하는 예제 코드입니다.

 

1. [Default.aspx 소스]

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebRole1.Create" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        <asp:Button ID="BtnCreateTable" runat="server" onclick="BtnCreateTable_Click"

            Text="테이블생성" />

   

    </div>

    <p>

        <asp:Button ID="BtnCreateEntity" runat="server" onclick="BtnCreateEntity_Click"

            Text="엔터티추가" />

    </p>

    <p>

        <asp:Button ID="BtnUpdateEntity" runat="server" onclick="BtnUpdateEntity_Click"

            Text="엔터티값변경" />

    </p>

    <p>

        <asp:Button ID="BtnDeleteEntity" runat="server"

            onclick="BtnDeleteEntity_Click" Text="엔터티삭제" />

    </p>

    </form>

</body>

</html>

 

 

 

2. Default.aspx.cs 에서 Page_Load() Storage 계정과 서비스 컨텍스트를 통해 테이블 서비스의

   EndPoint 와 인증 처리를 합니다.

private StudentServiceContext ServiceContext = null;

private CloudStorageAccount StorageAccount = null;

 

protected void Page_Load(object sender, EventArgs e)

{

StorageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString"));

ServiceContext = new StudentServiceContext(StorageAccount.TableEndpoint.ToString(), StorageAccount.Credentials);

}

 

 

“DataConnectionString” 은 테이블 서비스 연결에 대한 연결 문자열 입니다.

Azure 프로젝트에서 롤 서비스의 [속성] - [설정] 에서 지정 합니다.

테이블서비스서비스롤속성.png

 

Windows Azure 저장소 에뮬레이터 사용을 클릭하고 확인을 누릅니다.

UseDevelopementStorage = true

로컬에 설치 개발 스토리지 에뮬레이터를 사용한다는 의미 입니다.

테이블서비스저장소에뮬레이터사용.png

Default.aspx.cs 엔터티 추가

protected void BtnCreateEntity_Click(object sender, EventArgs e)

{

// RowKey = 1, PartitionKey = 1 값을 가진 엔터티 추가

var newEntity = new StudentModel

{

RowKey = "1",

PartitionKey = "1",

userid = "algorizm",

name = "Stronger",

telno = "123-1234",

age = 20

};

 

ServiceContext.AddObject(StudentServiceContext.TableName, newEntity);

ServiceContext.SaveChanges();

 

Response.Write("Added Entity!");

}

 

익명 변수로 StudentModel 클래스의 인스턴스를 생성 추가할 Entity 속성을 지정합니다.

추가시 ServiceContext AddOject() 메서드 호출 SaveChanges() 메서드를 호출하면

저장소에 반영 됩니다.

 

Default.aspx.cs 엔터티 업데이트

protected void BtnUpdateEntity_Click(object sender, EventArgs e)

{

//추가한 RowKey = 1, PartitionKey = 1 해당되는 엔터티를 업데이트

var studentContext = new StudentServiceContext(StorageAccount.TableEndpoint.ToString(), StorageAccount.Credentials);

var entity = (from Item in ServiceContext.StudentTable

where Item.PartitionKey == "1" && Item.RowKey == "1"

select Item).First();

 

entity.telno = "000-0000";

entity.name = "ReName";

 

ServiceContext.UpdateObject(entity);

ServiceContext.SaveChanges();

 

Response.Write("Updated Entity!");

}

 

ServiceContext LINQ 사용해서 해당 Entity 얻은 다음 변경 속성을 지정한 다음

UpdateObject() ---> SaveChanges() 메서드를 호출하면 반영 됩니다.

 

Default.aspx.cs 엔터티 삭제

protected void BtnDeleteEntity_Click(object sender, EventArgs e)

{

//추가한 RowKey = 1, PartitionKey = 1 엔터티를 삭제

var studentContext = new StudentServiceContext(StorageAccount.TableEndpoint.ToString(), StorageAccount.Credentials);

 

var entity = (from item in studentContext.StudentTable

where item.PartitionKey == "1" && item.RowKey == "1"

select item).First();

 

studentContext.DeleteObject(entity);

studentContext.SaveChanges();

 

Response.Write("Deleted Entity!");

}

 

삭제 시에도 ServiceContext 통해 저장소에 해당 Entity 얻은 다음 삭제 Object

지정해 SaveChanges() 메서드를 호출하면 삭제 됩니다.

 

[결과화면]

엔터티추업삭화면.png

  

조회 기능은 ASP.NET Grid 이용해서 간단하게 바인딩 해서 표시해 주면 됩니다.

한번 해보세용~~

 

var studentContext = new StudentServiceContext(StorageAccount.TableEndpoint.ToString(), StorageAccount.Credentials);

this.GridView.DataSource = studentContext.StudentTable;

this.GridView.DataBind();

 

 

 

TableServiceContext 클래스 참조

http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.tableservicecontext.aspx

 

TableServiceEntity 클래스 참조

http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.tableserviceentity.aspx

 

 


Azure - 클라우드 컴퓨팅 - 시리즈 강좌 리스트
[Azure강좌] 1. 클라우드와 원도우 애저 소개
[Azure강좌] 2. SDK 설치와 Azure 무료 신청
[Azure강좌] 3. ASP.NET(Web Role) Hello World
[Azure강좌] 4. 프로젝트 패키지 Azure 배포
[Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure강좌] 7. SQL Azure 소개와 서버 구성
[Azure강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure강좌] 10. SQL Azure 방화벽 설정
[Azure강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure강좌] 14. Blob 서비스와 Container
[Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure강좌] 17. Windows Azure CDN 설정
[Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션



Azure - 클라우드 컴퓨팅 - 동영상 참고 자료

[Azure 동영상 강좌] 1. 클라우드와 원도우 애저 소개 (애저 포털 둘러보기) 

[Azure 동영상 강좌] 2. SDK 설치와 Azure 무료 신청
[Azure 동영상 강좌] 3. ASP.NET(Web Role) Hello World
[Azure 동영상 강좌] 4. 프로젝트 패키지 Azure 배포
[Azure 동영상 강좌] 5. Windows Azure Storage 서비스와 계정 설정
[Azure 동영상 강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1
[Azure 동영상 강좌] 7. SQL Azure 소개와 서버 구성
[Azure 동영상 강좌] 8. 데이터베이스 생성과 SSMS 사용
[Azure 동영상 강좌] 9. SQL Azure 마이그레이션 위자드 사용하기
[Azure 동영상 강좌] 10. SQL Azure 방화벽 설정
[Azure 동영상 강좌] 11. SQL Azure Manage 툴 사용해 보기
[Azure 동영상 강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2
[Azure 동영상 강좌] 13. SQL Azure ASP.NET GridView 바인딩
[Azure 동영상 강좌] 14. Blob 서비스와 Container
[Azure 동영상 강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제
[Azure 동영상 강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용
[Azure 동영상 강좌] 17. Windows Azure CDN 설정
[Azure 동영상 강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가
[Azure 동영상 강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제
[Azure 동영상 강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션

No. Subject Author Date Views
44 [Azure동영상강좌] 2. SDK 설치와 Azure 무료 신청 엽이(이호엽) 2011.07.15 41188
43 [Azure동영상강좌] 1. 클라우드와 원도우 애저 소개 엽이(이호엽) 2011.07.15 49661
42 [Azure강좌] 20. [Tip] SQL Azure 방화벽 룰 설정 예제 애플리케이션 엽이(이호엽) 2011.06.28 49241
41 [Azure강좌] 19. Queue 의 메시지 피킹 및 가져오기, 추가, 삭제 엽이(이호엽) 2011.06.27 52708
40 [Azure강좌] 18. Queue 서비스와 생성, 삭제, 메타데이터 추가 엽이(이호엽) 2011.06.27 59880
39 [Azure강좌] 17. Windows Azure CDN 설정 [4] 엽이(이호엽) 2011.06.26 55024
38 [Azure강좌] 16. 웹사이트 콘텐트 Blob 스토리지 이용 엽이(이호엽) 2011.06.26 62717
37 [Azure강좌] 15. Blob 리스트 조회, 업로드 다운로드 예제 [2] 엽이(이호엽) 2011.06.26 86995
36 [Azure강좌] 14. Blob 서비스와 Container [1] 엽이(이호엽) 2011.06.26 40338
35 [Azure강좌] 13. SQL Azure ASP.NET GridView 바인딩 엽이(이호엽) 2011.06.25 40257
» [Azure강좌] 12. 테이블 서비스와 StorageClient 라이브러리 #2 [2] 엽이(이호엽) 2011.06.20 66211
33 [Azure강좌] 11. SQL Azure Manage 툴 사용해 보기 엽이(이호엽) 2011.06.19 52293
32 [Azure강좌] 10. SQL Azure 방화벽 설정 [3] 엽이(이호엽) 2011.06.19 49497
31 [Azure강좌] 9. SQL Azure 마이그레이션 위자드 사용하기 엽이(이호엽) 2011.06.19 55750
30 [Azure강좌] 8. 데이터베이스 생성과 SSMS 사용 엽이(이호엽) 2011.06.19 58241
29 [Azure강좌] 7. SQL Azure 소개와 서버 구성 엽이(이호엽) 2011.06.19 54568
28 [Azure강좌] 6. 테이블 서비스와 StorageClient 라이브러리 #1 엽이(이호엽) 2011.06.19 68314
27 [Azure강좌] 5. Windows Azure Storage 서비스와 계정 설정 엽이(이호엽) 2011.06.19 58518
26 [Azure강좌] 4. 프로젝트 패키지 Azure 배포 엽이(이호엽) 2011.06.19 59500
25 [Azure강좌] 3. ASP.NET(Web Role) Hello World 엽이(이호엽) 2011.06.19 44337





XE Login