2016-10-04 3 views
0

Google Cloud에 API를 배포하는 방법에 대한 안내는 https://cloud.google.com/endpoints/docs/quickstart-compute-engine입니다. 샘플 API를 배포하기 위해 "gcloud beta service-management deploy swagger.yaml"명령을 입력했습니다. 그런 다음 실수로 서비스를 삭제했습니다. 샘플 API를 다시 배포하려고하면 다음 메시지가 표시됩니다.Google API 서비스 삭제를 취소하는 방법

"ERROR : (gcloud.beta.service-management.deploy) FAILED_PRECONDITION : 서비스 exergo-143912.appspot.com이 삭제되었으며 이후에 제거됩니다. 30 일.이 서비스를 다시 사용하려면 https://cloud.google.com/service-management/create-delete 다음에 서비스의 삭제를 취소하십시오. "

다음 안내에 따라 서비스 복원을 위해 https://cloud.google.com/service-management/create-delete. 다음 명령을 사용했습니다 : "curl -d '{}'https://servicemanagement.googleapis.com/v1/services/exergo-143912.appspot.com:undelete".

{ "오류": { "코드": 403, "메시지". "이 요청은 클라이언트 프로젝트를 식별 할 수없는있는 유효한 API 키를 전달하여 주시기 바랍니다 그러나 나는 다음과 같은 오류 메시지가 요청 " "상태입니다. ":"PERMISSION_DENIED " } 은}

어떤 도움이 많이 주시면 감사하겠습니다. 감사합니다

답변

1

작성/삭제 의사는 curl 대신 gcurl을 사용하여 OAuth 토큰을 얻습니다.

gcurl을 설정 시작 설명서를 참조하십시오 : 프로젝트를 삭제도 정리 하였다 경우 https://cloud.google.com/service-management/getting-started

, 당신은 당신의 프로젝트를 복구하는 7 일이있다. 프로젝트를 복구 한 후 API의 삭제를 취소 할 수 있습니다. 7 일이 지나면 모든 것이 제거되고 다시 시작해야합니다.

+0

설치 프로그램 gcurl이 문제를 해결했습니다. 감사합니다 gccurl에 필요한 oauth2l을 설치할 때 약간의 문제가있었습니다. https://cloud.google.com/service-management/getting-started 가이드는 Oauth 클라이언트 ID를 만들고 oauth2l과 함께 사용해야한다고 말합니다. 그것은 작동하지 않았다. 오류 메시지는 키가 응용 프로그램에 연결되어야 함을 언급했습니다. 작동하는 응용 프로그램이 없기 때문에 Oauth 클라이언트 ID를 서비스 계정 키로 바꿔서 문제를 해결했습니다. –

+0

또 다른 문제는 oauth2l이 /root/.local/bin에 설치 되었기 때문에 /root/.local/bin/oauth2l 인 도구의 전체 경로를 사용해야한다는 것입니다 –