색인 엔드포인트 관리

Vision Warehouse 색인 엔드포인트는 Vision Warehouse 색인을 제공하는 관리형 환경입니다. 색인 엔드포인트는 검색 요청을 전송하기 위한 단일 액세스 포인트를 제공합니다. Vision Warehouse 코퍼스를 검색하려면 먼저 indexEndpoint 리소스를 만들고 색인을 배포해야 합니다.

색인 엔드포인트 만들기

REST

색인 엔드포인트를 만들려면 projects.locations.indexEndpoints.create 메서드를 사용하여 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: (선택사항) 색인 엔드포인트 ID에 대해 사용자가 제공한 값입니다. 이 요청에서 값은 다음과 같은 형식으로 요청 URL에 추가됩니다.
    • https://REGIONALIZED_ENDPOINT/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints?index_endpoint_id=INDEX_ENDPOINT_ID

HTTP 메서드 및 URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

JSON 요청 본문:

{
  "display_name": "DISPLAY_NAME",
  "description": "DESCRIPTION",
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.CreateIndexEndpointMetadata"
  }
}

색인 엔드포인트 업데이트

UpdateIndexEndpoint API를 사용하면 display_name, description과 같은 색인 엔드포인트의 메타데이터 필드를 업데이트할 수 있습니다. 색인 엔드포인트의 labels 필드는 업데이트할 수 없습니다.

요청의 update_mask 필드(필드 마스크라고도 함)는 업데이트로 indexEndpoint 리소스에서 덮어쓸 필드를 지정하는 데 사용됩니다. update_mask 필드에 지정된 필드는 전체 요청이 아닌 해당 리소스를 기준으로 합니다. 마스크에 있으면 리소스의 필드를 덮어씁니다. 빈 필드 마스크는 허용되지 않습니다. 마스크가 '*'이면 색인 엔드포인트의 전체 업데이트가 트리거됩니다.

REST

색인 엔드포인트를 업데이트하려면 projects.locations.indexEndpoints.patch 메서드를 사용하여 PATCH 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
  • ?update_mask=fieldToUpdate: 업데이트를 적용할 수 있는 필드의 목록입니다. 요청 본문에서 새 필드의 해당 값을 지정합니다. 이 새 값은 기존 필드 값을 대체합니다. 쉼표로 구분된 값으로 여러 필드를 지정할 수 있습니다. 사용 가능한 필드:
    • 표시 이름: ?update_mask=display_name
    • 설명: ?update_mask=description
    • 모든 필드 업데이트: ?update_mask=*

HTTP 메서드 및 URL:

PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name

JSON 요청 본문:

{
  "display_name": "DISPLAY_NAME"
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID?update_mask=display_name" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UpdateIndexEndpointMetadata"
  }
}

색인 엔드포인트 나열

REST

Vision Warehouse 프로젝트의 색인 엔드포인트를 나열하려면 projects.locations.indexEndpoints.list 메서드를 사용하여 GET 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.

HTTP 메서드 및 URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "indexEndpoints": [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_1",
      "displayName": "DISPLAY_NAME_1",
      "description": "DESCRIPTION_1",
      "state": "CREATED"
    },
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID_2",
      "displayName": "DISPLAY_NAME_2",
      "description": "DESCRIPTION_2",
      "state": "CREATED"
    }
  ]
}

색인 엔드포인트 가져오기

REST

색인 엔드포인트에 대한 세부정보를 가져오려면 projects.locations.indexEndpoints.get 메서드를 사용하여 GET 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.

HTTP 메서드 및 URL:

GET https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID",
  "displayName": "DISPLAY_NAME",
  "description": "DESCRIPTION",
  "state": "CREATED"
}

색인 배포

REST

인덱스를 인덱스 엔드포인트에 배포하려면 projects.locations.indexEndpoints.deployIndex 메서드를 사용하여 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.
  • CORPUS_ID: 타겟 코퍼스의 ID입니다.
  • INDEX_ID: 타겟 색인의 ID입니다.

HTTP 메서드 및 URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex

JSON 요청 본문:

{
  "deployedIndex": {
    "index": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:deployIndex" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.DeployIndexMetadata",
    "deployedIndex": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/indexes/INDEX_ID"
  }
}

색인 배포 취소

REST

색인 엔드포인트에서 색인을 배포 해제하려면 projects.locations.indexEndpoints.undeployIndex 메서드를 사용하여 POST 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.

HTTP 메서드 및 URL:

POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID:undeployIndex" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.visionai.v1.UndeployIndexMetadata"
  }
}

색인 엔드포인트 삭제

색인 엔드포인트는 배포된 index이 없는 경우에만 삭제할 수 있습니다. 색인이 배포된 엔드포인트를 삭제하기 전에 색인을 배포 취소하세요.

REST

색인 리소스를 삭제하려면 projects.locations.indexEndpoints.delete 메서드를 사용하여 DELETE 요청을 전송합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • REGIONALIZED_ENDPOINT: 엔드포인트에 LOCATION_ID와 일치하는 접두사가 포함될 수 있습니다(예: europe-west4-). 리전화된 엔드포인트에 대해 자세히 알아보세요.
  • PROJECT_NUMBER: Google Cloud 프로젝트 번호
  • LOCATION_ID: Vertex AI Vision을 사용하는 리전입니다. 예를 들면 us-central1, europe-west4입니다. 사용 가능한 리전을 참고하세요.
  • INDEX_ENDPOINT_ID: 타겟 색인 엔드포인트의 ID입니다.

HTTP 메서드 및 URL:

DELETE https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

다음 명령어를 실행합니다.

curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID"

PowerShell

다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID" | Select-Object -Expand Content

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/indexEndpoints/INDEX_ENDPOINT_ID/operations/OPERATION_ID"
}