Service
List services¶
GET/api/v2/databases/{database}/schemas/{schema}/services
Lists the services under the database and schema.
Path Parameters¶
Parameter | Type | Description |
---|---|---|
database | Identifier (i.e. name) for the database to which the resource belongs. You can use the /api/v2/databases GET request to get a list of available databases. | |
schema | Identifier (i.e. name) for the schema to which the resource belongs. You can use the /api/v2/databases/{database}/schemas GET request to get a list of available schemas for the specified database. |
Query Parameters¶
Parameter | Type | Description |
---|---|---|
like | string | Query parameter to filter the command output by resource name. Uses case-insensitive pattern matching, with support for SQL wildcard characters. |
startsWith | string | Query parameter to filter the command output based on the string of characters that appear at the beginning of the object name. Uses case-sensitive pattern matching. |
showLimit | integer | Query parameter to limit the maximum number of rows returned by a command. |
fromName | string | Query parameter to enable fetching rows only following the first row whose object name matches the specified string. Case-sensitive and does not have to be the full name. |
Response¶
Code | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
200 | successful [
{
"name": "service_name",
"compute_pool": "compute_pool_name",
"spec": {
"spec_type": "from_file",
"stage": "@stage_name",
"spec_file": "spec_file.yaml"
},
"min_instances": 2,
"max_instances": 5,
"database_name": "testdb",
"schema_name": "testschema",
"owner": "SYSADMIN",
"is_job": false
}
]
| |||||||||
202 | Successfully accepted the request, but it is not completed yet. {
"code": "392604",
"message": "Request execution in progress. Use the provided location header or result handler ID to perform query monitoring and management."
}
|
400 | Bad Request. The request payload is invalid or malformed. This happens if the application didn't send the correct request payload. The response body may include the error code and message indicating the actual cause. The application must reconstruct the request body for retry. |
401 | Unauthorized. The request is not authorized. This happens if the attached access token is invalid or missing. The response body may include the error code and message indicating the actual cause, e.g., expired, invalid token. The application must obtain a new access token for retry. |
403 | Forbidden. The request is forbidden. This can also happen if the request is made even if the API is not enabled. |
404 | Not Found. The request endpoint is not valid. This happens if the API endpoint does not exist, or if the API is not enabled. |
405 | Method Not Allowed. The request method doesn't match the supported API. This happens, for example, if the application calls the API with GET method but the endpoint accepts only POST. |
429 | Limit Exceeded. The number of requests hit the rate limit. The application must slow down the frequency of hitting the API endpoints. |
500 | Internal Server Error. The server hit an unrecoverable system error. The response body may include the error code and message for further guidance. The application owner may need to reach out the customer support. |
503 | Service Unavailable. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended. |
504 | Gateway Timeout. The request was not processed due to server side timeouts. The application may retry with backoff. The jittered backoff is recommended. |
Parameter | Type | Description |
---|
Create a service¶
POST/api/v2/databases/{database}/schemas/{schema}/services
Create a service, with standard create modifiers as query parameters. See the Service component definition for what is required to be provided in the request body.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
createMode | string | Query parameter allowing support for different modes of resource creation. Possible values include:
|
Parameter | Type | Description |
---|
{
"name": "service_name",
"compute_pool": "compute_pool_name",
"spec": {
"spec_type": "from_file",
"stage": "@stage_name",
"spec_file": "spec_file.yaml"
},
"min_instances": 2,
"max_instances": 5,
"database_name": "testdb",
"schema_name": "testschema",
"owner": "SYSADMIN",
"is_job": false
}
Response¶
Code | Description | ||||
---|---|---|---|---|---|
200 | Successful request. {
"status": "Request successfully completed"
}
| ||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
408 | Request Timeout. This indicates that the request from the client timed out and was not completed by the server. |
409 | Conflict. The requested operation could not be performed due to a conflicting state that could not be resolved. This usually happens when a CREATE request was performed when there is a pre-existing resource with the same name, and also without one of the options orReplace/ifNotExists. |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
Execute a job service¶
POST/api/v2/databases/{database}/schemas/{schema}/services:execute-job
Create and execute a job service. See the JobService component definition for what is required to be provided in the request body.
Parameter | Type | Description |
---|
{
"name": "service_name",
"compute_pool": "compute_pool_name",
"spec": {
"spec_type": "from_file",
"stage": "@stage_name",
"spec_file": "spec_file.yaml"
}
}
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
409 | |
429 | |
500 | |
503 | |
504 |
Fetch a service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}
Fetch a service.
Path Parameters¶
Parameter | Type | Description |
---|---|---|
name | Identifier (i.e. name) for the resource. |
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful {
"name": "service_name",
"compute_pool": "compute_pool_name",
"spec": {
"spec_type": "from_file",
"stage": "@stage_name",
"spec_file": "spec_file.yaml"
},
"min_instances": 2,
"max_instances": 5,
"database_name": "testdb",
"schema_name": "testschema",
"owner": "SYSADMIN",
"is_job": false
}
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
Create a (or alter an existing) service¶
PUT/api/v2/databases/{database}/schemas/{schema}/services/{name}
Create a (or alter an existing) service. Even if the operation is just an alter, the full property set must be provided.
Parameter | Type | Description |
---|
{
"name": "service_name",
"compute_pool": "compute_pool_name",
"spec": {
"spec_type": "from_file",
"stage": "@stage_name",
"spec_file": "spec_file.yaml"
},
"min_instances": 2,
"max_instances": 5,
"database_name": "testdb",
"schema_name": "testschema",
"owner": "SYSADMIN",
"is_job": false
}
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | Successful request {
"status": "Request successfully completed"
}
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|---|---|
status | string | Message returned by the server. |
Delete a service¶
DELETE/api/v2/databases/{database}/schemas/{schema}/services/{name}
Delete a service with the given name. If ifExists is used, the operation will succeed even if the object does not exist. Otherwise, there will be a failure if the drop is unsuccessful.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
ifExists | boolean | Query parameter that specifies how to handle the request for a resource that does not exist:
|
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Fetch the logs for a given service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/logs
Fetch the logs for a given service.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
instanceId | integer | ID of the service instance, starting with 0. |
containerName | string | Container name as specified in the service specification file. |
numLines | integer | Number of trailing log lines to retrieve. |
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful {
"system$get_service_logs": "string"
}
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|---|---|
system$get_service_logs | string |
Fetch the status for a given service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/status
Fetch the status for a given service.
Query Parameters¶
Parameter | Type | Description |
---|---|---|
timeout | integer | Number of seconds to wait for the service to reach a steady state (for example, READY) before returning the status. If the service does not reach a steady state within the specified time, Snowflake returns the current state. |
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful {
"system$get_service_status": "string"
}
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|---|---|
system$get_service_status | string |
List all the containers of the service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/containers
List all the containers of the service
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"database_name": "testdb",
"schema_name": "testschema",
"service_name": "myservice",
"instance_id": "0",
"container_name": "main",
"status": "PENDING",
"message": "Pending scheduling.",
"image_name": "/db/schema/repo/image:1.0",
"image_digest": "abcdefd",
"restart_count": 0,
"start_time": "2023-01-01T00:00:00Z"
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
List all the instances of the service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/instances
List all the instances of the service
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"database_name": "testdb",
"schema_name": "testschema",
"service_name": "myservice",
"instance_id": "0",
"status": "PENDING",
"spec_digest": "abcdefg",
"creation_time": "2023-01-01T00:00:00Z",
"start_time": "2023-01-01T00:00:00Z"
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
List all the service roles of the service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/roles
List all the service roles of the service
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"created_on": "2023-01-01T00:00:00Z",
"name": "testrole",
"comment": "This is a service role."
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
List all the grants of the service role¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{service}/roles/{name}/grants-of
List all the grants of the service role
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"created_on": "2023-01-01T00:00:00Z",
"role": "db.schema.service.svc_role",
"granted_to": "role",
"grantee_name": "test_role",
"granted_by": "sysadmin"
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
List all the grants given to the service role¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{service}/roles/{name}/grants
List all the grants given to the service role
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"created_on": "2023-01-01T00:00:00Z",
"privilege": "usage",
"granted_on": "service_endpoint",
"name": "db.schema.service!svc_role",
"granted_to": "service role",
"grantee_name": "all_endpoints_usage"
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|
Resume a service¶
POST/api/v2/databases/{database}/schemas/{schema}/services/{name}:resume
Resume a service.
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Suspend a service¶
POST/api/v2/databases/{database}/schemas/{schema}/services/{name}:suspend
Suspend a service.
Response¶
Code | Description |
---|---|
200 | |
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
List the endpoints in a service¶
GET/api/v2/databases/{database}/schemas/{schema}/services/{name}/endpoints
Lists the endpoints in a Snowpark Container Services service (or a job service).
Response¶
Code | Description | ||||||
---|---|---|---|---|---|---|---|
200 | successful [
{
"name": "endpoint",
"port": 8080,
"protocol": "HTTPS",
"is_public": true,
"ingress_url": "abcd-org-acc.snowflakecomputing.app"
}
]
| ||||||
202 |
400 | |
401 | |
403 | |
404 | |
405 | |
429 | |
500 | |
503 | |
504 |
Parameter | Type | Description |
---|