Queue Service

Overview

SCP에서 제공하는 IaaS/PaaS 상품을 프로그램적으로 이용할 수 있도록 지원하는 응용 프로그램 인터페이스(Application Programming Interface, API)를 제공합니다.

본 가이드는 Queue Service 서비스에 대한 간략한 설명 및 API를 호출하는 방법을 제공합니다. API는 RESTful API 방식으로 제공되며, JSON 형식으로 응답합니다.

Version

VersionStatusSupported Until
1.0CURRENT-

OpenAPI URL

https://queueservice.{region}.{environment}.samsungsdscloud.com

Environment and Region List

environmentregion
skr-west1
skr-east1
gkr-south1
gkr-south2
gkr-south3
ekr-west1
ekr-east1

1 - APIs

1.1 - Check Queue Name Duplication

1.1.1 - 1.0

get /v1/queues/check-duplication

Description

Queue명 중복 체크

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
queryname
required
Queue명
Example : test-queue.fifo
stringNone

Responses

HTTP CodeDescriptionSchema
200OKCheckDuplicationResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/queues/check-duplication?name={name}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Example HTTP response

Response 200

{
    "result": true
}

1.2 - Create Queue

1.2.1 - 1.0

post /v1/queues

Description

Queue 생성

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
bodybody
required

QueueCreateRequest

Responses

HTTP CodeDescriptionSchema
201CreatedQueueCreateResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/queues

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Request body

{
    "data_key_reuse_period": 40,
    "data_key_reuse_period_unit": "minute",
    "description": "Queue description",
    "encryption": {
        "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
        "name": "test-kms"
    },
    "message_retention_period": 40,
    "message_retention_period_unit": "minute",
    "message_size": 256,
    "name": "test-queue.fifo",
    "tags": [
        {
            "key": "key1",
            "value": "value1"
        }
    ]
}

Example HTTP response

Response 201

{
    "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
    "messages": "Create Queue",
    "state": "ACTIVE"
}

1.3 - Delete Acl

1.3.1 - 1.0

delete /v1/queues/{queue_id}/acl

Description

접근 허용 IP 삭제

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone
bodybody
required

AclRequest

Responses

HTTP CodeDescriptionSchema
200OKAclResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}/acl

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Request body

{
    "ip_address": [
        "0.0.0.0",
        "192.168.0.0"
    ]
}

Example HTTP response

Response 200

{
    "id": "8c9f6c1c928a45b4bbd1e4da5531d656"
}

1.4 - Delete Queue

1.4.1 - 1.0

delete /v1/queues/{queue_id}

Description

Queue 삭제

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone

Responses

HTTP CodeDescriptionSchema
204No ContentNone
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Example HTTP response

Response 204

1.5 - List Queue

1.5.1 - 1.0

get /v1/queues

Description

Queue 조회

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
querysize
optional
size
Example : 20
any of [integer, null]20
querypage
optional
page
Example : 0
any of [integer, null]0
querysort
optional
sort
Example : created_at:desc
any of [string, null]None
queryname
optional
Queue명
Example : test-queue.fifo
any of [string, null]None

Responses

HTTP CodeDescriptionSchema
200OKQueueListResponse
400Bad RequestNone
403ForbiddenNone

Example HTTP request

Request path

/v1/queues

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Example HTTP response

Response 200

{
    "count": 20,
    "page": 0,
    "queues": [
        {
            "account_id": "8c9f6c1c928a45b4bbd1e4da5531d656",
            "created_at": "2024-05-17T00:23:17Z",
            "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "encryption": {
                "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
                "name": "test-kms"
            },
            "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
            "modified_at": "2024-05-17T00:23:17Z",
            "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
            "name": "test-queue.fifo",
            "number_wait_messages": 10,
            "state": "ACTIVE",
            "type": "FIFO"
        }
    ],
    "size": 20,
    "sort": [
        "created_at:asc"
    ]
}

1.6 - Set Acl

1.6.1 - 1.0

post /v1/queues/{queue_id}/acl

Description

접근 허용 IP 추가

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone
bodybody
required

AclRequest

Responses

HTTP CodeDescriptionSchema
200OKAclResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}/acl

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Request body

{
    "ip_address": [
        "0.0.0.0",
        "192.168.0.0"
    ]
}

Example HTTP response

Response 200

{
    "id": "8c9f6c1c928a45b4bbd1e4da5531d656"
}

1.7 - Show Queue

1.7.1 - 1.0

get /v1/queues/{queue_id}

Description

Queue 상세 조회

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone

Responses

HTTP CodeDescriptionSchema
200OKQueueShowResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Example HTTP response

Response 200

{
    "account_id": "8c9f6c1c928a45b4bbd1e4da5531d656",
    "allow_ip_access": [
        "0.0.0.0",
        "192.168.0.0"
    ],
    "console_polling_count": 10,
    "created_at": "2024-05-17T00:23:17Z",
    "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
    "data_key_reuse_period": 40,
    "data_key_reuse_period_unit": "minute",
    "description": "Queue description",
    "encryption": {
        "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
        "name": "test-kms"
    },
    "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
    "message_retention_period": 40,
    "message_retention_period_unit": "minute",
    "message_size": 256,
    "modified_at": "2024-05-17T00:23:17Z",
    "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
    "name": "test-queue.fifo",
    "number_wait_messages": 10,
    "state": "ACTIVE",
    "type": "FIFO"
}

1.8 - Update Queue Config

1.8.1 - 1.0

put /v1/queues/{queue_id}/config

Description

Queue 구성 설정 수정

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone
bodybody
required

ConfigSetRequest

Responses

HTTP CodeDescriptionSchema
200OKQueueShowResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}/config

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Request body

{
    "data_key_reuse_period": 40,
    "data_key_reuse_period_unit": "minute",
    "encryption": {
        "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
        "name": "test-kms"
    },
    "message_retention_period": 40,
    "message_retention_period_unit": "minute",
    "message_size": 256
}

Example HTTP response

Response 200

{
    "account_id": "8c9f6c1c928a45b4bbd1e4da5531d656",
    "allow_ip_access": [
        "0.0.0.0",
        "192.168.0.0"
    ],
    "console_polling_count": 10,
    "created_at": "2024-05-17T00:23:17Z",
    "created_by": "90dddfc2b1e04edba54ba2b41539a9ac",
    "data_key_reuse_period": 40,
    "data_key_reuse_period_unit": "minute",
    "description": "Queue description",
    "encryption": {
        "id": "8c9f6c1c928a45b4bbd1e4da5531d656",
        "name": "test-kms"
    },
    "id": "0fdd87aab8cb46f59b7c1f81ed03fb3e",
    "message_retention_period": 40,
    "message_retention_period_unit": "minute",
    "message_size": 256,
    "modified_at": "2024-05-17T00:23:17Z",
    "modified_by": "90dddfc2b1e04edba54ba2b41539a9ac",
    "name": "test-queue.fifo",
    "number_wait_messages": 10,
    "state": "ACTIVE",
    "type": "FIFO"
}

1.9 - Update Queue Description

1.9.1 - 1.0

put /v1/queues/{queue_id}/description

Description

Queue 설명 수정

상태 ACTIVE (CURRENT)

버전최소 지원 보장일
1.0-

Parameters

TypeNameDescriptionSchemaDefault
pathqueue_id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
stringNone
bodybody
required

DescriptionSetRequest

Responses

HTTP CodeDescriptionSchema
200OKDescriptionSetResponse
400Bad RequestNone
403ForbiddenNone
404Not FoundNone

Example HTTP request

Request path

/v1/queues/{queue_id}/description

Request header

"Scp-Accesskey = 2sd2gg=2agbdSD26svcD",
"Scp-Signature = fsfsdf235f9U35sdgf35Xsf/qgsdgsdg326=sfsdr23rsef=",
"Scp-Timestamp = 1605290625682",
"Scp-ClientType = Openapi",
"Accept-Language = ko-KR",
"Scp-Api-Version = queueservice 1.0"

Request body

{
    "description": "Queue description"
}

Example HTTP response

Response 200

{
    "id": "8c9f6c1c928a45b4bbd1e4da5531d656"
}

2 - Models

2.1 - Acl

NameDescriptionSchemaDefault
ip_address
required
IP 주소
Example : 192.168.0.0
string

2.2 - AclRequest

NameDescriptionSchemaDefault
ip_address
required
접근 허용 IP 목록
Example : ['0.0.0.0', '192.168.0.0']
array[string]

2.3 - AclResponse

NameDescriptionSchemaDefault
id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string

2.4 - CheckDuplicationResponse

NameDescriptionSchemaDefault
result
required
결과
Example : True
boolean

2.5 - ConfigSetRequest

NameDescriptionSchemaDefault
data_key_reuse_period
optional
데이터 키 재사용 기간
Example : 40
any of [integer, null]
data_key_reuse_period_unit
optional
기간 단위
Example : minute
any of [enum (minute, hour), null]
encryption
optional
암호화
any of [Encryption, null]
message_retention_period
required
메시지 보존 기간
Example : 40
Minimum : 1
Maximum : 1209600
integer
message_retention_period_unit
required
기간 단위
Example : minute
enum (second, minute, hour, day)
message_size
required
메시지 크기
Example : 256
Minimum : 1
Maximum : 256
integer

2.6 - DescriptionSetRequest

NameDescriptionSchemaDefault
description
required
설명
Example : Queue description
Maximum length : 100
string

2.7 - DescriptionSetResponse

NameDescriptionSchemaDefault
id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string

2.8 - Encryption

NameDescriptionSchemaDefault
id
required
KMS ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
any of [string, null]
name
required
KMS명
Example : test-kms
any of [string, null]

2.9 - Queue

NameDescriptionSchemaDefault
account_id
required
Account ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
encryption
optional
암호화
any of [Encryption, null]
id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
Queue명
Example : test-queue.fifo
string
number_wait_messages
required
대기 메시지 수
Example : 10
integer
state
required
Queue 상태
Example : ACTIVE
string
type
required
Queue 유형
Example : FIFO
string

2.10 - QueueCreateRequest

NameDescriptionSchemaDefault
data_key_reuse_period
optional
데이터 키 재사용 기간
Example : 40
any of [integer, null]
data_key_reuse_period_unit
optional
기간 단위
Example : minute
any of [enum (minute, hour), null]
description
optional
설명
Example : Queue description
any of [string, null]
encryption
optional
암호화
any of [Encryption, null]
message_retention_period
required
메시지 보존 기간
Example : 40
Minimum : 1
Maximum : 1209600
integer
message_retention_period_unit
required
기간 단위
Example : minute
enum (second, minute, hour, day)
message_size
required
메시지 크기
Example : 256
Minimum : 1
Maximum : 256
integer
name
required
Queue명
Example : test-queue.fifo
Pattern : ^[a-z][a-z0-9-]*$|^[a-z][a-z0-9-]*\.fifo$
Minimum length : 3
Maximum length : 64
string
tags
optional
태그 목록
any of [array[Tag], null]

2.11 - QueueCreateResponse

NameDescriptionSchemaDefault
id
required
Queue ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string
messages
required
설명
Example : Create Queue
string
state
required
Queue 상태
Example : ACTIVE
string

2.12 - QueueListResponse

NameDescriptionSchemaDefault
count
required
count
Example : 20
integer
page
required
page
Example : 0
integer
queues
required
Queue 목록
array[Queue]
size
required
size
Example : 20
integer
sort
optional
sort
Example : ['created_at:asc']
any of [array[string], null]

2.13 - QueueShowResponse

NameDescriptionSchemaDefault
account_id
required
Account ID
Example : 8c9f6c1c928a45b4bbd1e4da5531d656
string
allow_ip_access
optional
접근 허용 IP 목록
Example : ['0.0.0.0', '192.168.0.0']
any of [array[Acl], null]
console_polling_count
required
폴링 개수
Example : 10
integer
created_at
required
생성 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
created_by
required
생성자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
data_key_reuse_period
optional
데이터 키 재사용 기간
Example : 40
any of [integer, null]
data_key_reuse_period_unit
optional
기간 단위
Example : minute
any of [enum (minute, hour), null]
description
optional
설명
Example : Queue description
any of [string, null]
encryption
optional
암호화
any of [Encryption, null]
id
required
ID
Example : 0fdd87aab8cb46f59b7c1f81ed03fb3e
string
message_retention_period
required
메시지 보존 기간
Example : 40
integer
message_retention_period_unit
required
기간 단위
Example : minute
enum (second, minute, hour, day)
message_size
required
메시지 크기
Example : 256
integer
modified_at
required
수정 시간
Example : 2024-05-17T00:23:17Z
string (date-time)
modified_by
required
수정자
Example : 90dddfc2b1e04edba54ba2b41539a9ac
string
name
required
Queue명
Example : test-queue.fifo
string
number_wait_messages
required
대기 메시지 수
Example : 10
integer
state
required
Queue 상태
Example : ACTIVE
string
type
required
Queue 유형
Example : FIFO
string

2.14 - Tag

NameDescriptionSchemaDefault
key
required
태그키
Example : key1
string
value
required
태그값
Example : value1
any of [string, null]