이 페이지에는 Workflows에서 알려진 문제가 나와 있습니다.
공개 Issue Tracker에서도 기존 문제를 확인하거나 새로운 문제를 개설할 수 있습니다.
try
바로 뒤에 for
배치
try
바로 뒤에 for
를 배치하면 오류가 발생합니다. 예를 들어 다음과 같이 try
바로 뒤에 단일 단계를 배치할 수 있습니다.
- try: try: call: sys.log args: data: works retry: ${http.default_retry}
그러나 try
뒤에 for
를 배치하면 단계가 실패하고 워크플로를 배포할 수 없습니다. 예를 들면 다음과 같습니다.
- try: try: for: value: v range: [1,2] steps: - log: call: sys.log args: data: ${v} retry: ${http.default_retry}
오류 메시지는 다음과 같습니다.
Could not deploy workflow: failed to build: error in step try: loop step name should not be empty (Code: 3)
해결 방법은 try
뒤에 명명된 단계를 추가하는 것입니다. 예를 들면 다음과 같습니다.
- try: try: steps: - loopStep: for: value: v range: [1,2] steps: - log: call: sys.log args: data: ${v} retry: ${http.default_retry}
최대 인수 크기보다 큰 이벤트
Workflows를 Eventarc 트리거의 대상으로 사용하는 경우 최대 Workflows 인수 크기보다 큰 이벤트로 워크플로 실행이 트리거되지 않습니다. 자세한 내용은 할당량 및 한도를 참조하세요.
로그에 HTTP request lost
메시지 표시
Cloud Build를 호출하는 워크플로를 실행할 때 워크플로가 실패하고 다음과 비슷한 HTTP request lost
메시지가 로그에 표시됩니다.
[1500] HTTP request lost INTERNAL MESSAGE: HTTP request lost ... CAUSED BY: RPC::UNREACHABLE: RPC connection timed out: FDD 20s, last read 2022-10-14 16:39:04 -0700 PDT
이 오류가 발생하면 재시도 정책을 구현하거나 명시적인 예외 처리를 통해 워크플로를 수정해 보세요.
로깅 및 accessString
메서드를 호출하여 보안 비밀 데이터 가져오기
accessString
도우미 메서드를 사용해 보안 비밀 데이터를 가져올 때 호출 로깅 수준이 log-all-calls
로 설정되어 있으면 보안 비밀 값이 수정되지 않고 로그의 jsonPayload.succeeded.response
에 일반 텍스트로 출력됩니다.
Cloud Resource Manager 커넥터 사용 시 장기 실행 작업 예외
Resource Manager 커넥터 메서드 googleapis.cloudresourcemanager.v3.projects.patch
는 장기 실행 작업(LRO) 이름을 반환하지 않습니다. 요청이 성공하더라도 다음과 유사한 예외가 발생할 수 있습니다.
exception: "{"message":"Long-running operation returned unexpected response.", "operation":{"done":true,"response":{"@type":"type.googleapis.com/google.cloud.resourcemanager.v3.Project", ... "tags":["ResponseTypeError"]}"
LRO 폴링 오류를 방지하려면 초기 요청 성공 시 커넥터 호출이 차단되지 않도록 skip_polling
커넥터 매개변수를 true
로 설정합니다. 요청이 성공하면 "done":true
가 반환됩니다. 그렇지 않고 예외를 포착하려면 try/except
구조를 사용합니다.
자세한 내용은 커넥터 참조를 확인하세요.
다음 단계
문제 해결 시 유용한 전략 알아보기