1

사용자 정의 Easy API가 정의되어 있고 몇 개의 Easy Tables가있는 Azure 웹 응용 프로그램이 있습니다. 나는이 Azure Web App과 SQL 테이블을 연결하여 지난 몇 년 동안 자바 스크립트 기반의 LOB Windows Store 앱을 운영 해왔고 정말 잘 돌아갔습니다.외부 노드 프로세스에서 Azure Web App/SQL 데이터베이스에 연결

하지만 이제 Node.js 프로세스를 위해이 리소스에 액세스해야하므로 로컬로 실행됩니다. 나는 내 Windows 스토어 앱에 액세스 거의 같은 방식으로 접근하고 싶습니다 :

var client = new window.WindowsAzure.MobileServiceClient(
     "https://my-mobileservice.azure-mobile.net/", 
     "MOBILESERVICEKEY" 
); 

노드 내에서 위의 규정 나도 같은 API를 사용하여 웹 응용 프로그램에 액세스 할 수없는 경우, SQL 테이블에 수동으로 행을 읽고 쓸 수 있다면 충분할 것입니다.

어떻게하면됩니까?

+0

모바일 서비스 API 또는 모든 웹 API는 인터넷을 통해 액세스 할 수 있어야합니다. 그래서 당신은 당신이 구내에있는 노드 js 애플 리케이션에서 그들을 소비 할 수 있어야합니다. 동일한 SQL Azure 테이블에 적용됩니다. 물론 노드 코드를 실행하는 상자에서 트래픽을 허용하는 방화벽 규칙을 추가해야합니다. – Aravind

+0

@Aravind 나는 그런 식으로 그것을 어떻게 사용할 지 모르겠습니다. 그 방법에 접근하는 것은, 내가 아는 한, 서류 미비입니다. 아니면 최소한 나는 그 문서를 보지 못했다. – TKoL

+0

@ TKoL - * * * 문서화되지 않았습니까? 쉬운 테이블은 단지 테이블 일뿐입니다. –

답변

1

제공하신 코드 스 니펫은 장치 또는 브라우저 용 Azure 모바일 애플리케이션 클라이언트 SDK를 사용했습니다.

다른 node.js 응용 프로그램에서 Easy Tables 및 Easy API 스크립트에 대해 HTTP 요청을 구현하는 것을 고려할 수 있습니다. Azure 모바일 앱 서비스가 RESTful API로 노출 시켰습니다. 자세한 내용은 https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-node-backend-how-to-use-server-sdk/#TableOperations을 참조하십시오.

그리고 다음 코드 스 니펫을 참조하십시오.

var request = require("request"); 
request({ 
    method:'GET', 
    url:'https://<your_mobile_app>.azurewebsites.net/tables/TodoItem', 
    headers:{ 
     'ZUMO-API-VERSION':'2.0.0' 
    } 
},(err,res,body)=>{ 
    console.log(body); 
}) 
+0

감사합니다. 게리, 저도 시도해 본 첫 번째 오류 : "서버의이 버전 (1.0.0) 요청에서 zumo-api 버전의 사용을 지원하지 않습니다. 자세한 정보 및 지원되는 클라이언트 참조하십시오 : http : //go.microsoft.com/fwlink/? LinkID = 690568 # 1.0.0 " 그래서 나는 그 URL로 갔고 실제로 그걸로해야 할 일의 머리 나 꼬리를 만들 수는 없었지만 ZUMO 헤더를 제거해야한다는 암시가 있다고 생각하여 전체 '헤더'섹션을 제거한 다음이 오류가 발생했습니다. "{"code ": 401,"error ":"Error : Unauthorized "}" 나는 지금 당황 스럽다. – TKoL

+0

이것은 모바일 앱이 인증 공급자에 의해 보호된다는 것을 의미합니다. https://azure.microsoft.com/en-us/documentation/articles/app-service-authentication-overview/#documentation-and-additional-resources 중 하나입니다. 따라서 node.js 응용 프로그램에서 인증하고 토큰을 얻은 다음 헤더에 토큰을 설정해야합니다. E.G. AAD를 사용하여 모바일 앱을 보호하는 경우 https://github.com/AzureAD/passport-azure-ad를 사용하여 토큰을 적용 할 수 있습니다. –

+0

@ gary-liu-msft 유감스럽게 생각합니다. 나는 너무 밀집되어있어, 어디서부터 시작해야할지 몰라요. 나는 유니버설 윈도우 스토어 (Universal Windows Store) 앱을 만들 때 Azure를 사용하는 것이 너무 쉽다는 느낌이 들었다. Azure Portal을보고 App Service를 찾으면 Authentication/Authorization으로 이동하고 App Service Authentication 설정은 ** off **입니다. 어쩌면 나는 이것을 복잡하게 만들었으므로 궁극적 인 목표를 설명해 드리겠습니다 : 30 분마다 노드 앱을 실행시켜야합니다.이 앱은 Dynamics NAV 소스에서 얻은 새로운 정보를 기반으로 내 앱 서비스에 연결된 SQL 테이블을 업데이트합니다. – TKoL

관련 문제