2012-09-14 5 views
1

일부 객체를 S3 버킷에 넣었으며 클라이언트가 객체 중 하나에 요청할 때마다 기록하려고합니다.Amazon S3 객체에 대한 ASP.NET 로그 요청

나는 커스텀 코드를 실행하면서 나의 백엔드로 Umbraco 4.8을 사용하고있다.

용액 내가 함께 왔어요 :

  1. S3에서 개체를 끌어와 다시 응답으로 보냅니다 ASP 페이지에 대한 링크를 설정합니다. 내가 볼 수있는 문제는 클라이언트가 파일 다운로드를 시작하기 전에 ASP가 파일을로드 할 때까지 기다려야한다는 것입니다.

  2. 요청을 기록한 ASP 페이지에 대한 링크를 설정하고 Response.Redirect를 S3 개체에 반환합니다. 나에게 이것은 불필요한 리디렉션처럼 보이고 클라이언트는 리다이렉트를 캐시하고 다음 번에 해당 객체에 액세스 할 때 내 서버에 충돌하지 않을 것입니다.

다른 사람의 해결책이나 생각을 가진 사람이 있습니까? 어떤 도움을 주시면 감사하겠습니다.

답변

0

정확한 정확성에 따라 클라이언트 쪽에서도이 작업을 수행 할 수 있습니다. jQuery 등을 사용하여 컨트롤러에 ajax 요청을하고 활동을 기록하는 a href 태그에 클릭 핸들러를 추가합니다.

+0

내가 그 생각, 그리고 그 가능성이지만, 일부 링크가 잘못 될 수도 있습니다 내 통제. – HJ05

1

저는 jquery와 google analytics를 사용할 것입니다.

<a href="[link]" onclick="__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);">link text</a> 

적절하게 ('S3 버킷-요청'세 가지 변수를 교체, 'S3-된 실제 : 당신이 뭔가에 onclick 이벤트를 조작하는 추적하고 jQuery를 사용하려는 각 링크에 클래스 추가 버킷 이름 ','현재 페이지 '). jquery를 각 페이지의 머리에 놓으면 재사용 할 수있는 기능이 있습니다.

시작 :

<a href="[link]" class="ga">link text</a> 

JQuery와 :

$('.ga').attr("onclick", "__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);"); 

끝 :

<a href="[link]" class="ga" onclick="__gaq.push(['_trackEvent', 's3-Bucket-Request', 's3-actual-bucket-name', 'current-page']);">link text</a> 
+0

링크가 S3의 비디오에 연결될 때 문제가 될 수 있습니다.

+0

@ HJ05 세 변수를 적절히 바꿔야합니다 ('s3-Bucket-Request', ' s3-actual-bucket-name ','current-page ') - Google 웹 로그 분석에서 추적중인 항목에 따라 – amelvin