[typescript] 타입스크립트와 GCP의 Cloud Tasks와의 연동 방법

GCP(Cloud Tasks)와 타입스크립트를 연동하여 비동기 작업을 실행하는 방법을 소개합니다.

1. GCP 프로젝트 설정

GCP 콘솔에서 Cloud Tasks API를 활성화하고, 서비스 계정을 만들어서 JSON 형식의 인증 파일을 다운로드합니다.

2. 타입스크립트 프로젝트 설정

// package.json
"dependencies": {
  "@google-cloud/tasks": "^4.3.0"
}
// tsconfig.json
{
  "compilerOptions": {
    "target": "ES2018",
    "module": "commonjs",
    "lib": ["es2018"],
    "strict": true
  }
}

3. Cloud Tasks SDK를 사용하여 작업 만들기

import { CloudTasksClient } from '@google-cloud/tasks';

async function createTask(projectId: string, queueName: string, targetUrl: string) {
  const client = new CloudTasksClient();
  const parent = client.queuePath(projectId, 'us-central1', queueName);
  const task = {
    appEngineHttpRequest: {
      httpMethod: 'POST',
      relativeUri: '/worker',
    },
  };

  const [response] = await client.createTask({ parent, task });
  console.log(`Created task ${response.name}`);
}

createTask('my-project-id', 'my-queue', 'https://example.com/worker');

4. Cloud Tasks 실행

위의 코드를 실행하여 Cloud Tasks에 작업을 생성하고, GCP에서 비동기적으로 작업을 처리합니다.

참고 자료

GCP의 Cloud Tasks와 타입스크립트를 연동하여 효율적으로 비동기 작업을 관리하는 방법에 대해 알아봤습니다. 관련 자료를 참고하여 직접 프로젝트에 적용해 보세요!