2016-06-02 3 views
1

Cloudemix VCAP_SERVICES (또는 로컬 복사본)를 통해 제공된 자격 증명으로 Node.JS 모듈을 통해 Cloudant 서비스를 사용하고 있습니다. 인스턴스가 생성되었습니다Cloudant NodeJS에서 예기치 않은 'server_admin required` 오류가 발생했습니다.

var Cloudant = require('cloudant'); 
// var cloudantCreds obtained from process.env.VCAP_SERVICES 
var username = cloudantCreds.username; 
var password = cloudantCreds.password; 
var cloudant = Cloudant({ 
    account:username, 
    password:password 
}); 

사용자가 요청하여 성공적으로 데이터베이스를 만들거나 삭제하는 기능을 작성했습니다.

'server_admin access is required for this request' 

난 단지 자격 증명 한 세트와 하나 개의 계정을 사용하고이 내부적으로 최근에 내가 오류가 발생, 그러나

cloudant.db.create(databaseName, function(err, res){ 
    // Handle 
}); 

을 사용했다. curl 명령 줄에서이 자격 증명을 사용하면 데이터베이스를 성공적으로 만들거나 삭제할 수 있지만 node.js 모듈을 통해이 작업을 수행 할 수없는 것 같습니다.

내가 기억할 수있는 한, Node.js 서버의이 기능과 관련된 코드는 변경하지 않았습니다.

지금 server_admin 액세스가 필요한 이유는 무엇입니까? 오류 메시지의 본질에서 나는 아마도 인증 받았지만 승인되지 않았습니까?

+0

난 그냥 내 관리자 계정/암호를 사용하여 코드를 실행하고 나는 Node.js를 응용 프로그램에서 새 데이터베이스를 만들 수 있었다. 관리자가 아닌 apikey/password에 대한 자격 증명을 바꿀 때 '이 요청에 server_admin 액세스가 필요합니다.' 는 즉 'DEBUG' 환경 변수'nano' 설정 app.js' 'DEBUG = 나노 노드 : 실제로 수행하여 이루어지고 요청을 디버깅 할 수있다. –

+0

DEBUG에 대한 의견을 보내 주셔서 감사합니다. 위에서 설명한 기능이 문제가 아니지만 배포시 예상대로 작동합니다. 위의 기능을 트리거하는 익스프레스 오브젝트에 대해 모카 테스트를 실행할 때 오류가 발생하므로 모카 세트 어딘가에 오류가있는 것으로 추정됩니다. – Jake

답변

1

클라우드 트가 특히 유익하지는 않지만 그것은 내 실수로 나왔다.

나는 밑줄로 시작하거나 대문자를 포함하는 것과 같이 허용되지 않는 이름으로 데이터베이스를 만들려고했습니다. 데이터베이스 이름을 변경하면 제대로 작동합니다.

0

데이터베이스가 밑줄로 시작되는 경우 오류가 발생합니다 ...

+0

정확하게 동일한 정보를 제공하는 기존 답변과 귀하의 답변을 구별 할 수 있습니까? – Avery