GS2-Datastore SDK API Reference
Model
Namespace
Namespace
A Namespace allows multiple independent instances of the same service within a single project by separating data spaces and usage contexts. Each GS2 service is managed on a per-namespace basis. Even when using the same service, if the namespace differs, the data is treated as a completely independent data space.
Therefore, you must create a namespace before you can start using each service.
Details
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceId | string | * | ~ 1024 chars | Namespace GRN * Set automatically by the server | ||
| name | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| description | string | ~ 1024 chars | Description | |||
| transactionSetting | TransactionSetting | Transaction Setting Configuration for controlling how distributed transactions are executed when processing datastore operations. Supports auto-run, atomic commit, and async processing options. | ||||
| doneUploadScript | ScriptSetting | Script setting executed on upload completion (doneUpload event) Script Trigger Reference - doneUpload | ||||
| logSetting | LogSetting | Log Output Setting Configuration for outputting log data of datastore operations to GS2-Log. By specifying a GS2-Log namespace, API request and response logs for data object uploads, downloads, and access control changes can be collected. | ||||
| createdAt | long | * | Now | Datetime of creation Unix time, milliseconds * Set automatically by the server | ||
| updatedAt | long | * | Now | Datetime of last update Unix time, milliseconds * Set automatically by the server | ||
| revision | long | 0 | 0 ~ 9223372036854775805 | Revision |
TransactionSetting
Transaction Setting
Transaction Setting controls how transactions are executed, including their consistency, asynchronous processing, and conflict avoidance mechanisms. Combining features like AutoRun, AtomicCommit, asynchronous execution using GS2-Distributor, batch application of script results, and asynchronous Acquire Actions via GS2-JobQueue enables robust transaction management tailored to game logic.
Details
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| enableAutoRun | bool | false | Whether to automatically execute issued transactions on the server side | |||
| enableAtomicCommit | bool | {enableAutoRun} == true | false | Whether to commit the execution of transactions atomically * Applicable only if enableAutoRun is true | ||
| transactionUseDistributor | bool | {enableAtomicCommit} == true | false | Whether to execute transactions asynchronously * Applicable only if enableAtomicCommit is true | ||
| commitScriptResultInUseDistributor | bool | {transactionUseDistributor} == true | false | Whether to execute the commit processing of the script result asynchronously * Applicable only if transactionUseDistributor is true | ||
| acquireActionUseJobQueue | bool | {enableAtomicCommit} == true | false | Whether to use GS2-JobQueue to execute the acquire action * Applicable only if enableAtomicCommit is true | ||
| distributorNamespaceId | string | “grn:gs2:{region}:{ownerId}:distributor:default” | ~ 1024 chars | GS2-Distributor Namespace GRN used to execute transactions | ||
| queueNamespaceId | string | “grn:gs2:{region}:{ownerId}:queue:default” | ~ 1024 chars | GS2-JobQueue Namespace GRN used to execute transactions |
ScriptSetting
Script Setting
In GS2, you can associate custom scripts with microservice events and execute them. This model holds the settings for triggering script execution.
There are two main ways to execute a script: synchronous execution and asynchronous execution. Because synchronous execution blocks processing until the script finishes executing, you can use the script result to stop the API execution or control the API response.
In contrast, asynchronous execution does not block processing until the script has finished executing. However, because the script result cannot be used to stop the API execution or modify the API response, Because asynchronous execution does not affect the API response flow, it is generally recommended.
There are two types of asynchronous execution methods: GS2-Script and Amazon EventBridge. By using Amazon EventBridge, you can write processing in languages other than Lua.
Details
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| triggerScriptId | string | ~ 1024 chars | GS2-Script script GRN
executed synchronously when the API is executed Must be specified in GRN format starting with “grn:gs2:”. | |||||||||||
| doneTriggerTargetType | String Enum enum { “none”, “gs2_script”, “aws” } | “none” | How to execute asynchronous scripts Specifies the type of script to use for asynchronous execution. You can choose from “Do not use asynchronous execution (none)”, “Use GS2-Script (gs2_script)”, and “Use Amazon EventBridge (aws)”.
| |||||||||||
| doneTriggerScriptId | string | {doneTriggerTargetType} == “gs2_script” | ~ 1024 chars | GS2-Script script GRN
for asynchronous execution Must be specified in GRN format starting with “grn:gs2:”. * Applicable only if doneTriggerTargetType is “gs2_script” | ||||||||||
| doneTriggerQueueNamespaceId | string | {doneTriggerTargetType} == “gs2_script” | ~ 1024 chars | GS2-JobQueue namespace GRN
to execute asynchronous execution scripts If you want to execute asynchronous execution scripts via GS2-JobQueue instead of executing them directly, specify the GS2-JobQueue namespace GRN. There are not many cases where GS2-JobQueue is required, so you generally do not need to specify it unless you have a specific reason. * Applicable only if doneTriggerTargetType is “gs2_script” |
LogSetting
Log Output Setting
Manages log output setting. This type holds the identifier of the log namespace used to output log data. The log namespace ID specifies the GS2-Log namespace to aggregate and store the log data. Through this setting, API request and response log data under this namespace will be output to the target GS2-Log. GS2-Log provides logs in real time, which can be used for system monitoring, analysis, debugging, etc.
Details
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| loggingNamespaceId | string | ✓ | ~ 1024 chars | GS2-Log namespace GRN
to output logs Must be specified in GRN format starting with “grn:gs2:”. |
DataObject
Data Object
Data objects are data uploaded by game players. Data is generation managed, with 30 days of historical data stored.
Access permissions can be set for the data. There are three types of scopes:
public: Accessible to anyoneprotected: Accessible only to game players with specified user IDsprivate: Accessible only to yourself
Details
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| dataObjectId | string | * | ~ 1024 chars | Data object GRN * Set automatically by the server | ||||||||||
| name | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |||||||||
| userId | string | ✓ | ~ 128 chars | User ID | ||||||||||
| scope | String Enum enum { “public”, “protected”, “private” } | “private” | File access permission Controls who can access this data object. public allows anyone to access, protected restricts access to specified user IDs listed in allowUserIds, and private limits access to the owner only.
| |||||||||||
| allowUserIds | List<string> | {scope} == “protected” | [] | 0 ~ 100 items | List of user IDs to be published Specifies which users can access this data object when the scope is set to protected. Only users whose IDs are included in this list will be granted read access.* Applicable only if scope is “protected” | |||||||||
| status | String Enum enum { “ACTIVE”, “UPLOADING”, “DELETED” } | ✓ | Status The current lifecycle state of the data object. ACTIVE indicates the data is available for access, UPLOADING indicates a new version is being uploaded, and DELETED indicates the object has been marked for deletion (actual removal occurs 30 days later).
| |||||||||||
| generation | string | ~ 128 chars | Data Generation An identifier representing the current version of the uploaded data. Each time data is re-uploaded, a new generation ID is assigned. | |||||||||||
| previousGeneration | string | ~ 128 chars | Generation of previously valid data The generation ID of the data version that was active before the current upload. During an upload (UPLOADING status), the previous generation remains accessible to ensure continuous data availability until the new upload completes. | |||||||||||
| createdAt | long | * | Now | Datetime of creation Unix time, milliseconds * Set automatically by the server | ||||||||||
| updatedAt | long | * | Now | Datetime of last update Unix time, milliseconds * Set automatically by the server | ||||||||||
| revision | long | 0 | 0 ~ 9223372036854775805 | Revision |
DataObjectHistory
Data Object History
You can check the update history of Data Objects. Each time a data object is re-uploaded, a history record is created containing the generation ID and file size. Historical data is retained for 30 days, allowing rollback and audit of previous versions.
Details
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| dataObjectHistoryId | string | * | ~ 1024 chars | Data Object History GRN * Set automatically by the server | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| generation | string | ✓ | ~ 128 chars | Generation ID A unique identifier for the specific version of the data object at the time of upload. Corresponds to the generation field in the DataObject and can be used with PrepareDownloadByGeneration to download this specific version. | ||
| contentLength | long | ✓ | 0 ~ 10485760 | File size The size of the uploaded data in bytes for this generation. Maximum file size is 10 MB (10,485,760 bytes). | ||
| createdAt | long | * | Now | Datetime of creation Unix time, milliseconds * Set automatically by the server | ||
| revision | long | 0 | 0 ~ 9223372036854775805 | Revision |
Methods
describeNamespaces
Get a list of Namespaces
Retrieves a list of namespaces that have been created on a per-service basis within the project. You can use the optional page token to start acquiring data from a specific location in the list. You can also limit the number of namespaces to be acquired.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namePrefix | string | ~ 64 chars | Filter by Namespace name prefix | |||
| pageToken | string | ~ 1024 chars | Token specifying the position from which to start acquiring data | |||
| limit | int | 30 | 1 ~ 1000 | Number of data items to retrieve |
Result
| Type | Description | |
|---|---|---|
| items | List<Namespace> | List of Namespaces |
| nextPageToken | string | Page token to retrieve the rest of the listing |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DescribeNamespaces(
&datastore.DescribeNamespacesRequest {
NamePrefix: nil,
PageToken: nil,
Limit: nil,
}
)
if err != nil {
panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageTokenuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DescribeNamespacesRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->describeNamespaces(
(new DescribeNamespacesRequest())
->withNamePrefix(null)
->withPageToken(null)
->withLimit(null)
);
$items = $result->getItems();
$nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DescribeNamespacesRequest;
import io.gs2.datastore.result.DescribeNamespacesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DescribeNamespacesResult result = client.describeNamespaces(
new DescribeNamespacesRequest()
.withNamePrefix(null)
.withPageToken(null)
.withLimit(null)
);
List<Namespace> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DescribeNamespacesResult> asyncResult = null;
yield return client.DescribeNamespaces(
new Gs2.Gs2Datastore.Request.DescribeNamespacesRequest()
.WithNamePrefix(null)
.WithPageToken(null)
.WithLimit(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.describeNamespaces(
new Gs2Datastore.DescribeNamespacesRequest()
.withNamePrefix(null)
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.describe_namespaces(
datastore.DescribeNamespacesRequest()
.with_name_prefix(None)
.with_page_token(None)
.with_limit(None)
)
items = result.items
next_page_token = result.next_page_token
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.describe_namespaces({
namePrefix=nil,
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;client = gs2('datastore')
api_result_handler = client.describe_namespaces_async({
namePrefix=nil,
pageToken=nil,
limit=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;createNamespace
Create a new Namespace
You must specify detailed information including the name, description, and various settings of the namespace.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| name | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| description | string | ~ 1024 chars | Description | |||
| transactionSetting | TransactionSetting | Transaction Setting Configuration for controlling how distributed transactions are executed when processing datastore operations. Supports auto-run, atomic commit, and async processing options. | ||||
| logSetting | LogSetting | Log Output Setting Configuration for outputting log data of datastore operations to GS2-Log. By specifying a GS2-Log namespace, API request and response logs for data object uploads, downloads, and access control changes can be collected. | ||||
| doneUploadScript | ScriptSetting | Script setting executed on upload completion (doneUpload event) Script Trigger Reference - doneUpload |
Result
| Type | Description | |
|---|---|---|
| item | Namespace | Namespace created |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.CreateNamespace(
&datastore.CreateNamespaceRequest {
Name: pointy.String("namespace-0001"),
Description: nil,
TransactionSetting: nil,
LogSetting: &datastore.LogSetting{
LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
},
DoneUploadScript: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\CreateNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->createNamespace(
(new CreateNamespaceRequest())
->withName("namespace-0001")
->withDescription(null)
->withTransactionSetting(null)
->withLogSetting((new \Gs2\Datastore\Model\LogSetting())
->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
->withDoneUploadScript(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.CreateNamespaceRequest;
import io.gs2.datastore.result.CreateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
CreateNamespaceResult result = client.createNamespace(
new CreateNamespaceRequest()
.withName("namespace-0001")
.withDescription(null)
.withTransactionSetting(null)
.withLogSetting(new io.gs2.datastore.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.withDoneUploadScript(null)
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.CreateNamespaceResult> asyncResult = null;
yield return client.CreateNamespace(
new Gs2.Gs2Datastore.Request.CreateNamespaceRequest()
.WithName("namespace-0001")
.WithDescription(null)
.WithTransactionSetting(null)
.WithLogSetting(new Gs2.Gs2Datastore.Model.LogSetting()
.WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.WithDoneUploadScript(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.createNamespace(
new Gs2Datastore.CreateNamespaceRequest()
.withName("namespace-0001")
.withDescription(null)
.withTransactionSetting(null)
.withLogSetting(new Gs2Datastore.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.withDoneUploadScript(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.create_namespace(
datastore.CreateNamespaceRequest()
.with_name('namespace-0001')
.with_description(None)
.with_transaction_setting(None)
.with_log_setting(
datastore.LogSetting()
.with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
.with_done_upload_script(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.create_namespace({
name="namespace-0001",
description=nil,
transactionSetting=nil,
logSetting={
loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
},
doneUploadScript=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.create_namespace_async({
name="namespace-0001",
description=nil,
transactionSetting=nil,
logSetting={
loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
},
doneUploadScript=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;getNamespaceStatus
Get Namespace status
Get the current status of the specified namespace. This includes whether the Namespace is active, pending, or in some other state.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
Result
| Type | Description | |
|---|---|---|
| status | string |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.GetNamespaceStatus(
&datastore.GetNamespaceStatusRequest {
NamespaceName: pointy.String("namespace-0001"),
}
)
if err != nil {
panic("error occurred")
}
status := result.Statususe Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\GetNamespaceStatusRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->getNamespaceStatus(
(new GetNamespaceStatusRequest())
->withNamespaceName("namespace-0001")
);
$status = $result->getStatus();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.GetNamespaceStatusRequest;
import io.gs2.datastore.result.GetNamespaceStatusResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
GetNamespaceStatusResult result = client.getNamespaceStatus(
new GetNamespaceStatusRequest()
.withNamespaceName("namespace-0001")
);
String status = result.getStatus();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.GetNamespaceStatusResult> asyncResult = null;
yield return client.GetNamespaceStatus(
new Gs2.Gs2Datastore.Request.GetNamespaceStatusRequest()
.WithNamespaceName("namespace-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var status = result.Status;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.getNamespaceStatus(
new Gs2Datastore.GetNamespaceStatusRequest()
.withNamespaceName("namespace-0001")
);
const status = result.getStatus();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.get_namespace_status(
datastore.GetNamespaceStatusRequest()
.with_namespace_name('namespace-0001')
)
status = result.status
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.get_namespace_status({
namespaceName="namespace-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
status = result.status;client = gs2('datastore')
api_result_handler = client.get_namespace_status_async({
namespaceName="namespace-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
status = result.status;getNamespace
Get namespace
Get detailed information about the specified namespace. This includes the name, description, and other settings of the namespace.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
Result
| Type | Description | |
|---|---|---|
| item | Namespace | Namespace |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.GetNamespace(
&datastore.GetNamespaceRequest {
NamespaceName: pointy.String("namespace-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\GetNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->getNamespace(
(new GetNamespaceRequest())
->withNamespaceName("namespace-0001")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.GetNamespaceRequest;
import io.gs2.datastore.result.GetNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
GetNamespaceResult result = client.getNamespace(
new GetNamespaceRequest()
.withNamespaceName("namespace-0001")
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.GetNamespaceResult> asyncResult = null;
yield return client.GetNamespace(
new Gs2.Gs2Datastore.Request.GetNamespaceRequest()
.WithNamespaceName("namespace-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.getNamespace(
new Gs2Datastore.GetNamespaceRequest()
.withNamespaceName("namespace-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.get_namespace(
datastore.GetNamespaceRequest()
.with_namespace_name('namespace-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.get_namespace({
namespaceName="namespace-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.get_namespace_async({
namespaceName="namespace-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;updateNamespace
Update Namespace
Update the settings of the specified namespace. You can change the description of the Namespace and specific settings.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| description | string | ~ 1024 chars | Description | |||
| transactionSetting | TransactionSetting | Transaction Setting Configuration for controlling how distributed transactions are executed when processing datastore operations. Supports auto-run, atomic commit, and async processing options. | ||||
| logSetting | LogSetting | Log Output Setting Configuration for outputting log data of datastore operations to GS2-Log. By specifying a GS2-Log namespace, API request and response logs for data object uploads, downloads, and access control changes can be collected. | ||||
| doneUploadScript | ScriptSetting | Script setting executed on upload completion (doneUpload event) Script Trigger Reference - doneUpload |
Result
| Type | Description | |
|---|---|---|
| item | Namespace | Namespace updated |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.UpdateNamespace(
&datastore.UpdateNamespaceRequest {
NamespaceName: pointy.String("namespace-0001"),
Description: pointy.String("description1"),
TransactionSetting: nil,
LogSetting: &datastore.LogSetting{
LoggingNamespaceId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"),
},
DoneUploadScript: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\UpdateNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->updateNamespace(
(new UpdateNamespaceRequest())
->withNamespaceName("namespace-0001")
->withDescription("description1")
->withTransactionSetting(null)
->withLogSetting((new \Gs2\Datastore\Model\LogSetting())
->withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
->withDoneUploadScript(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.UpdateNamespaceRequest;
import io.gs2.datastore.result.UpdateNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
UpdateNamespaceResult result = client.updateNamespace(
new UpdateNamespaceRequest()
.withNamespaceName("namespace-0001")
.withDescription("description1")
.withTransactionSetting(null)
.withLogSetting(new io.gs2.datastore.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.withDoneUploadScript(null)
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.UpdateNamespaceResult> asyncResult = null;
yield return client.UpdateNamespace(
new Gs2.Gs2Datastore.Request.UpdateNamespaceRequest()
.WithNamespaceName("namespace-0001")
.WithDescription("description1")
.WithTransactionSetting(null)
.WithLogSetting(new Gs2.Gs2Datastore.Model.LogSetting()
.WithLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.WithDoneUploadScript(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.updateNamespace(
new Gs2Datastore.UpdateNamespaceRequest()
.withNamespaceName("namespace-0001")
.withDescription("description1")
.withTransactionSetting(null)
.withLogSetting(new Gs2Datastore.model.LogSetting()
.withLoggingNamespaceId("grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001"))
.withDoneUploadScript(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.update_namespace(
datastore.UpdateNamespaceRequest()
.with_namespace_name('namespace-0001')
.with_description('description1')
.with_transaction_setting(None)
.with_log_setting(
datastore.LogSetting()
.with_logging_namespace_id('grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001'))
.with_done_upload_script(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.update_namespace({
namespaceName="namespace-0001",
description="description1",
transactionSetting=nil,
logSetting={
loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
},
doneUploadScript=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.update_namespace_async({
namespaceName="namespace-0001",
description="description1",
transactionSetting=nil,
logSetting={
loggingNamespaceId="grn:gs2:ap-northeast-1:YourOwnerId:log:namespace-0001",
},
doneUploadScript=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;deleteNamespace
Delete Namespace
Delete the specified namespace. This operation is irreversible and all data associated with the deleted Namespace will be lost.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). |
Result
| Type | Description | |
|---|---|---|
| item | Namespace | The deleted Namespace |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DeleteNamespace(
&datastore.DeleteNamespaceRequest {
NamespaceName: pointy.String("namespace-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DeleteNamespaceRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->deleteNamespace(
(new DeleteNamespaceRequest())
->withNamespaceName("namespace-0001")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DeleteNamespaceRequest;
import io.gs2.datastore.result.DeleteNamespaceResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DeleteNamespaceResult result = client.deleteNamespace(
new DeleteNamespaceRequest()
.withNamespaceName("namespace-0001")
);
Namespace item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DeleteNamespaceResult> asyncResult = null;
yield return client.DeleteNamespace(
new Gs2.Gs2Datastore.Request.DeleteNamespaceRequest()
.WithNamespaceName("namespace-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.deleteNamespace(
new Gs2Datastore.DeleteNamespaceRequest()
.withNamespaceName("namespace-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.delete_namespace(
datastore.DeleteNamespaceRequest()
.with_namespace_name('namespace-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.delete_namespace({
namespaceName="namespace-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.delete_namespace_async({
namespaceName="namespace-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;getServiceVersion
Get the microservice version
Details
Request
Request parameters: None
Result
| Type | Description | |
|---|---|---|
| item | string | Version |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.GetServiceVersion(
&datastore.GetServiceVersionRequest {
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\GetServiceVersionRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->getServiceVersion(
(new GetServiceVersionRequest())
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.GetServiceVersionRequest;
import io.gs2.datastore.result.GetServiceVersionResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
GetServiceVersionResult result = client.getServiceVersion(
new GetServiceVersionRequest()
);
String item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.GetServiceVersionResult> asyncResult = null;
yield return client.GetServiceVersion(
new Gs2.Gs2Datastore.Request.GetServiceVersionRequest(),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.getServiceVersion(
new Gs2Datastore.GetServiceVersionRequest()
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.get_service_version(
datastore.GetServiceVersionRequest()
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.get_service_version({
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.get_service_version_async({
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;dumpUserDataByUserId
Dump data associated with the specified user ID
Can be used to meet legal requirements for the protection of personal information, or to back up or migrate data.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description |
|---|
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DumpUserDataByUserId(
&datastore.DumpUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DumpUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->dumpUserDataByUserId(
(new DumpUserDataByUserIdRequest())
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DumpUserDataByUserIdRequest;
import io.gs2.datastore.result.DumpUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DumpUserDataByUserIdResult result = client.dumpUserDataByUserId(
new DumpUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DumpUserDataByUserIdResult> asyncResult = null;
yield return client.DumpUserDataByUserId(
new Gs2.Gs2Datastore.Request.DumpUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.dumpUserDataByUserId(
new Gs2Datastore.DumpUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.dump_user_data_by_user_id(
datastore.DumpUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_time_offset_token(None)
)
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.dump_user_data_by_user_id({
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultclient = gs2('datastore')
api_result_handler = client.dump_user_data_by_user_id_async({
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultcheckDumpUserDataByUserId
Check if the dump of the data associated with the specified user ID is complete
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| url | string | URL of output data |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.CheckDumpUserDataByUserId(
&datastore.CheckDumpUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
url := result.Urluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\CheckDumpUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->checkDumpUserDataByUserId(
(new CheckDumpUserDataByUserIdRequest())
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
$url = $result->getUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.CheckDumpUserDataByUserIdRequest;
import io.gs2.datastore.result.CheckDumpUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
CheckDumpUserDataByUserIdResult result = client.checkDumpUserDataByUserId(
new CheckDumpUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
String url = result.getUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.CheckDumpUserDataByUserIdResult> asyncResult = null;
yield return client.CheckDumpUserDataByUserId(
new Gs2.Gs2Datastore.Request.CheckDumpUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.checkDumpUserDataByUserId(
new Gs2Datastore.CheckDumpUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
const url = result.getUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.check_dump_user_data_by_user_id(
datastore.CheckDumpUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_time_offset_token(None)
)
url = result.url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.check_dump_user_data_by_user_id({
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
url = result.url;client = gs2('datastore')
api_result_handler = client.check_dump_user_data_by_user_id_async({
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
url = result.url;cleanUserDataByUserId
Delete user data
Execute cleaning of data associated with the specified user ID This allows you to safely delete specific user data from the project.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description |
|---|
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.CleanUserDataByUserId(
&datastore.CleanUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\CleanUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->cleanUserDataByUserId(
(new CleanUserDataByUserIdRequest())
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.CleanUserDataByUserIdRequest;
import io.gs2.datastore.result.CleanUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
CleanUserDataByUserIdResult result = client.cleanUserDataByUserId(
new CleanUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.CleanUserDataByUserIdResult> asyncResult = null;
yield return client.CleanUserDataByUserId(
new Gs2.Gs2Datastore.Request.CleanUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.cleanUserDataByUserId(
new Gs2Datastore.CleanUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.clean_user_data_by_user_id(
datastore.CleanUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_time_offset_token(None)
)
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.clean_user_data_by_user_id({
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultclient = gs2('datastore')
api_result_handler = client.clean_user_data_by_user_id_async({
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultcheckCleanUserDataByUserId
Check if the cleaning of the data associated with the specified user ID is complete
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description |
|---|
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.CheckCleanUserDataByUserId(
&datastore.CheckCleanUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\CheckCleanUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->checkCleanUserDataByUserId(
(new CheckCleanUserDataByUserIdRequest())
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.CheckCleanUserDataByUserIdRequest;
import io.gs2.datastore.result.CheckCleanUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
CheckCleanUserDataByUserIdResult result = client.checkCleanUserDataByUserId(
new CheckCleanUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.CheckCleanUserDataByUserIdResult> asyncResult = null;
yield return client.CheckCleanUserDataByUserId(
new Gs2.Gs2Datastore.Request.CheckCleanUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.checkCleanUserDataByUserId(
new Gs2Datastore.CheckCleanUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.check_clean_user_data_by_user_id(
datastore.CheckCleanUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_time_offset_token(None)
)
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.check_clean_user_data_by_user_id({
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultclient = gs2('datastore')
api_result_handler = client.check_clean_user_data_by_user_id_async({
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultprepareImportUserDataByUserId
Execute import of data associated with the specified user ID
The data that can be used for import is limited to the data exported by GS2, and old data may fail to import. You can import data with a user ID different from the one you exported, but if the user ID is included in the payload of the user data, this may not be the case.
You can start the actual import process by uploading the exported zip file to the URL returned in the return value of this API and calling importUserDataByUserId.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| uploadToken | string | Token used to reflect results after upload |
| uploadUrl | string | URL used to upload user data |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareImportUserDataByUserId(
&datastore.PrepareImportUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
uploadToken := result.UploadToken
uploadUrl := result.UploadUrluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareImportUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareImportUserDataByUserId(
(new PrepareImportUserDataByUserIdRequest())
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
$uploadToken = $result->getUploadToken();
$uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareImportUserDataByUserIdRequest;
import io.gs2.datastore.result.PrepareImportUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareImportUserDataByUserIdResult result = client.prepareImportUserDataByUserId(
new PrepareImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
String uploadToken = result.getUploadToken();
String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareImportUserDataByUserIdResult> asyncResult = null;
yield return client.PrepareImportUserDataByUserId(
new Gs2.Gs2Datastore.Request.PrepareImportUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var uploadToken = result.UploadToken;
var uploadUrl = result.UploadUrl;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareImportUserDataByUserId(
new Gs2Datastore.PrepareImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
const uploadToken = result.getUploadToken();
const uploadUrl = result.getUploadUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_import_user_data_by_user_id(
datastore.PrepareImportUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_time_offset_token(None)
)
upload_token = result.upload_token
upload_url = result.upload_url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_import_user_data_by_user_id({
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;client = gs2('datastore')
api_result_handler = client.prepare_import_user_data_by_user_id_async({
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
uploadToken = result.uploadToken;
uploadUrl = result.uploadUrl;importUserDataByUserId
Execute import of data associated with the specified user ID
The data that can be used for import is limited to the data exported by GS2, and old data may fail to import. You can import data with a user ID different from the one you exported, but if the user ID is included in the payload of the user data, this may not be the case.
Before calling this API, you must call prepareImportUserDataByUserId to complete the upload preparation.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| uploadToken | string | ✓ | ~ 1024 chars | Token received in preparation for upload | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description |
|---|
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.ImportUserDataByUserId(
&datastore.ImportUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
UploadToken: pointy.String("upload-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}use Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\ImportUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->importUserDataByUserId(
(new ImportUserDataByUserIdRequest())
->withUserId("user-0001")
->withUploadToken("upload-0001")
->withTimeOffsetToken(null)
);
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.ImportUserDataByUserIdRequest;
import io.gs2.datastore.result.ImportUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
ImportUserDataByUserIdResult result = client.importUserDataByUserId(
new ImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withUploadToken("upload-0001")
.withTimeOffsetToken(null)
);
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.ImportUserDataByUserIdResult> asyncResult = null;
yield return client.ImportUserDataByUserId(
new Gs2.Gs2Datastore.Request.ImportUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithUploadToken("upload-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.importUserDataByUserId(
new Gs2Datastore.ImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withUploadToken("upload-0001")
.withTimeOffsetToken(null)
);
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.import_user_data_by_user_id(
datastore.ImportUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_upload_token('upload-0001')
.with_time_offset_token(None)
)
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.import_user_data_by_user_id({
userId="user-0001",
uploadToken="upload-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultclient = gs2('datastore')
api_result_handler = client.import_user_data_by_user_id_async({
userId="user-0001",
uploadToken="upload-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.resultcheckImportUserDataByUserId
Check if the import of the data associated with the specified user ID is complete
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| userId | string | ✓ | ~ 128 chars | User ID | ||
| uploadToken | string | ✓ | ~ 1024 chars | Token received in preparation for upload | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| url | string | URL of log data |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.CheckImportUserDataByUserId(
&datastore.CheckImportUserDataByUserIdRequest {
UserId: pointy.String("user-0001"),
UploadToken: pointy.String("upload-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
url := result.Urluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\CheckImportUserDataByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->checkImportUserDataByUserId(
(new CheckImportUserDataByUserIdRequest())
->withUserId("user-0001")
->withUploadToken("upload-0001")
->withTimeOffsetToken(null)
);
$url = $result->getUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.CheckImportUserDataByUserIdRequest;
import io.gs2.datastore.result.CheckImportUserDataByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
CheckImportUserDataByUserIdResult result = client.checkImportUserDataByUserId(
new CheckImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withUploadToken("upload-0001")
.withTimeOffsetToken(null)
);
String url = result.getUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.CheckImportUserDataByUserIdResult> asyncResult = null;
yield return client.CheckImportUserDataByUserId(
new Gs2.Gs2Datastore.Request.CheckImportUserDataByUserIdRequest()
.WithUserId("user-0001")
.WithUploadToken("upload-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var url = result.Url;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.checkImportUserDataByUserId(
new Gs2Datastore.CheckImportUserDataByUserIdRequest()
.withUserId("user-0001")
.withUploadToken("upload-0001")
.withTimeOffsetToken(null)
);
const url = result.getUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.check_import_user_data_by_user_id(
datastore.CheckImportUserDataByUserIdRequest()
.with_user_id('user-0001')
.with_upload_token('upload-0001')
.with_time_offset_token(None)
)
url = result.url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.check_import_user_data_by_user_id({
userId="user-0001",
uploadToken="upload-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
url = result.url;client = gs2('datastore')
api_result_handler = client.check_import_user_data_by_user_id_async({
userId="user-0001",
uploadToken="upload-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
url = result.url;describeDataObjects
Get a list of Data Objects
Retrieves a paginated list of data objects owned by the currently logged-in user in the specified namespace. You can optionally filter by status (ACTIVE, UPLOADING, DELETED) to retrieve only objects in a specific state. If no status filter is specified, all data objects regardless of status are returned.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||||||||||
| status | String Enum enum { “ACTIVE”, “UPLOADING”, “DELETED” } | Status
| ||||||||||||
| pageToken | string | ~ 1024 chars | Token specifying the position from which to start acquiring data | |||||||||||
| limit | int | 30 | 1 ~ 1000 | Number of data items to retrieve |
Result
| Type | Description | |
|---|---|---|
| items | List<DataObject> | List of Data object |
| nextPageToken | string | Page token to retrieve the rest of the listing |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DescribeDataObjects(
&datastore.DescribeDataObjectsRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
Status: pointy.String("ACTIVE"),
PageToken: nil,
Limit: nil,
}
)
if err != nil {
panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageTokenuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DescribeDataObjectsRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->describeDataObjects(
(new DescribeDataObjectsRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withStatus("ACTIVE")
->withPageToken(null)
->withLimit(null)
);
$items = $result->getItems();
$nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DescribeDataObjectsRequest;
import io.gs2.datastore.result.DescribeDataObjectsResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DescribeDataObjectsResult result = client.describeDataObjects(
new DescribeDataObjectsRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withStatus("ACTIVE")
.withPageToken(null)
.withLimit(null)
);
List<DataObject> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DescribeDataObjectsResult> asyncResult = null;
yield return client.DescribeDataObjects(
new Gs2.Gs2Datastore.Request.DescribeDataObjectsRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithStatus("ACTIVE")
.WithPageToken(null)
.WithLimit(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.describeDataObjects(
new Gs2Datastore.DescribeDataObjectsRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withStatus("ACTIVE")
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.describe_data_objects(
datastore.DescribeDataObjectsRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_status('ACTIVE')
.with_page_token(None)
.with_limit(None)
)
items = result.items
next_page_token = result.next_page_token
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.describe_data_objects({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
status="ACTIVE",
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;client = gs2('datastore')
api_result_handler = client.describe_data_objects_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
status="ACTIVE",
pageToken=nil,
limit=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;describeDataObjectsByUserId
Get a list of Data Objects by specifying a user ID
Retrieves a paginated list of data objects owned by the specified user in the specified namespace. You can optionally filter by status (ACTIVE, UPLOADING, DELETED) to retrieve only objects in a specific state. If no status filter is specified, all data objects regardless of status are returned.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| userId | string | ✓ | ~ 128 chars | User ID | ||||||||||
| status | String Enum enum { “ACTIVE”, “UPLOADING”, “DELETED” } | Status
| ||||||||||||
| pageToken | string | ~ 1024 chars | Token specifying the position from which to start acquiring data | |||||||||||
| limit | int | 30 | 1 ~ 1000 | Number of data items to retrieve | ||||||||||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| items | List<DataObject> | List of Data object |
| nextPageToken | string | Page token to retrieve the rest of the listing |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DescribeDataObjectsByUserId(
&datastore.DescribeDataObjectsByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
Status: pointy.String("ACTIVE"),
PageToken: nil,
Limit: nil,
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageTokenuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DescribeDataObjectsByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->describeDataObjectsByUserId(
(new DescribeDataObjectsByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withStatus("ACTIVE")
->withPageToken(null)
->withLimit(null)
->withTimeOffsetToken(null)
);
$items = $result->getItems();
$nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DescribeDataObjectsByUserIdRequest;
import io.gs2.datastore.result.DescribeDataObjectsByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DescribeDataObjectsByUserIdResult result = client.describeDataObjectsByUserId(
new DescribeDataObjectsByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withStatus("ACTIVE")
.withPageToken(null)
.withLimit(null)
.withTimeOffsetToken(null)
);
List<DataObject> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DescribeDataObjectsByUserIdResult> asyncResult = null;
yield return client.DescribeDataObjectsByUserId(
new Gs2.Gs2Datastore.Request.DescribeDataObjectsByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithStatus("ACTIVE")
.WithPageToken(null)
.WithLimit(null)
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.describeDataObjectsByUserId(
new Gs2Datastore.DescribeDataObjectsByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withStatus("ACTIVE")
.withPageToken(null)
.withLimit(null)
.withTimeOffsetToken(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.describe_data_objects_by_user_id(
datastore.DescribeDataObjectsByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_status('ACTIVE')
.with_page_token(None)
.with_limit(None)
.with_time_offset_token(None)
)
items = result.items
next_page_token = result.next_page_token
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.describe_data_objects_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
status="ACTIVE",
pageToken=nil,
limit=nil,
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;client = gs2('datastore')
api_result_handler = client.describe_data_objects_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
status="ACTIVE",
pageToken=nil,
limit=nil,
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;prepareUpload
Prepare to upload data objects
Creates a new data object and generates a presigned cloud storage URL for uploading the file. The data object name is optional; if omitted, a UUID is automatically assigned. You can configure the access scope (public/private) and specify a list of user IDs allowed to access the object. If updateIfExists is true and an object with the same name already exists, the existing object’s scope and permissions are updated and a re-upload URL is generated instead of returning an error. The returned presigned URL should be used to PUT the file data directly. After uploading, call DoneUpload to finalize the data object.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||||||||||
| name | string | ~ 128 chars | Data Object Name If not specified, a UUID is automatically assigned. | |||||||||||
| contentType | string | “application/octet-stream” | ~ 256 chars | MIME-Type of the data to be uploaded | ||||||||||
| scope | String Enum enum { “public”, “protected”, “private” } | “private” | File access permission Controls who can access this data object. public allows anyone to access, protected restricts access to specified user IDs listed in allowUserIds, and private limits access to the owner only.
| |||||||||||
| allowUserIds | List<string> | {scope} == “protected” | [] | 0 ~ 100 items | List of user IDs to be published Specifies which users can access this data object when the scope is set to protected. Only users whose IDs are included in this list will be granted read access.* Applicable only if scope is “protected” | |||||||||
| updateIfExists | bool | false | Whether to raise an error if data already exists or to update the data |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| uploadUrl | string | URL used to execute the upload process |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareUpload(
&datastore.PrepareUploadRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
Name: pointy.String("dataObject-0001"),
ContentType: pointy.String("application/octet-stream"),
Scope: pointy.String("public"),
AllowUserIds: nil,
UpdateIfExists: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
uploadUrl := result.UploadUrluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareUploadRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareUpload(
(new PrepareUploadRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withName("dataObject-0001")
->withContentType("application/octet-stream")
->withScope("public")
->withAllowUserIds(null)
->withUpdateIfExists(null)
);
$item = $result->getItem();
$uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareUploadRequest;
import io.gs2.datastore.result.PrepareUploadResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareUploadResult result = client.prepareUpload(
new PrepareUploadRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withName("dataObject-0001")
.withContentType("application/octet-stream")
.withScope("public")
.withAllowUserIds(null)
.withUpdateIfExists(null)
);
DataObject item = result.getItem();
String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareUploadResult> asyncResult = null;
yield return client.PrepareUpload(
new Gs2.Gs2Datastore.Request.PrepareUploadRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithName("dataObject-0001")
.WithContentType("application/octet-stream")
.WithScope("public")
.WithAllowUserIds(null)
.WithUpdateIfExists(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var uploadUrl = result.UploadUrl;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareUpload(
new Gs2Datastore.PrepareUploadRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withName("dataObject-0001")
.withContentType("application/octet-stream")
.withScope("public")
.withAllowUserIds(null)
.withUpdateIfExists(null)
);
const item = result.getItem();
const uploadUrl = result.getUploadUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_upload(
datastore.PrepareUploadRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_name('dataObject-0001')
.with_content_type('application/octet-stream')
.with_scope('public')
.with_allow_user_ids(None)
.with_update_if_exists(None)
)
item = result.item
upload_url = result.upload_url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_upload({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
name="dataObject-0001",
contentType="application/octet-stream",
scope="public",
allowUserIds=nil,
updateIfExists=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;client = gs2('datastore')
api_result_handler = client.prepare_upload_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
name="dataObject-0001",
contentType="application/octet-stream",
scope="public",
allowUserIds=nil,
updateIfExists=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;prepareUploadByUserId
Prepare to upload a data object by specifying a user ID
Creates a new data object for the specified user and generates a presigned cloud storage URL for uploading the file. The data object name is optional; if omitted, a UUID is automatically assigned. You can configure the access scope (public/private) and specify a list of user IDs allowed to access the object. If updateIfExists is true and an object with the same name already exists, the existing object’s scope and permissions are updated and a re-upload URL is generated instead of returning an error. The returned presigned URL should be used to PUT the file data directly. After uploading, call DoneUpload to finalize the data object.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| userId | string | ✓ | ~ 128 chars | User ID | ||||||||||
| name | string | ~ 128 chars | Data Object Name If not specified, a UUID is automatically assigned. | |||||||||||
| contentType | string | “application/octet-stream” | ~ 256 chars | MIME-Type of the data to be uploaded | ||||||||||
| scope | String Enum enum { “public”, “protected”, “private” } | “private” | File access permission Controls who can access this data object. public allows anyone to access, protected restricts access to specified user IDs listed in allowUserIds, and private limits access to the owner only.
| |||||||||||
| allowUserIds | List<string> | {scope} == “protected” | [] | 0 ~ 100 items | List of user IDs to be published Specifies which users can access this data object when the scope is set to protected. Only users whose IDs are included in this list will be granted read access.* Applicable only if scope is “protected” | |||||||||
| updateIfExists | bool | false | Whether to raise an error if data already exists or to update the data | |||||||||||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| uploadUrl | string | URL used to execute the upload process |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareUploadByUserId(
&datastore.PrepareUploadByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
Name: pointy.String("dataObject-0001"),
ContentType: pointy.String("application/octet-stream"),
Scope: pointy.String("public"),
AllowUserIds: nil,
UpdateIfExists: nil,
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
uploadUrl := result.UploadUrluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareUploadByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareUploadByUserId(
(new PrepareUploadByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withName("dataObject-0001")
->withContentType("application/octet-stream")
->withScope("public")
->withAllowUserIds(null)
->withUpdateIfExists(null)
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareUploadByUserIdRequest;
import io.gs2.datastore.result.PrepareUploadByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareUploadByUserIdResult result = client.prepareUploadByUserId(
new PrepareUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withName("dataObject-0001")
.withContentType("application/octet-stream")
.withScope("public")
.withAllowUserIds(null)
.withUpdateIfExists(null)
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareUploadByUserIdResult> asyncResult = null;
yield return client.PrepareUploadByUserId(
new Gs2.Gs2Datastore.Request.PrepareUploadByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithName("dataObject-0001")
.WithContentType("application/octet-stream")
.WithScope("public")
.WithAllowUserIds(null)
.WithUpdateIfExists(null)
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var uploadUrl = result.UploadUrl;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareUploadByUserId(
new Gs2Datastore.PrepareUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withName("dataObject-0001")
.withContentType("application/octet-stream")
.withScope("public")
.withAllowUserIds(null)
.withUpdateIfExists(null)
.withTimeOffsetToken(null)
);
const item = result.getItem();
const uploadUrl = result.getUploadUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_upload_by_user_id(
datastore.PrepareUploadByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_name('dataObject-0001')
.with_content_type('application/octet-stream')
.with_scope('public')
.with_allow_user_ids(None)
.with_update_if_exists(None)
.with_time_offset_token(None)
)
item = result.item
upload_url = result.upload_url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_upload_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
name="dataObject-0001",
contentType="application/octet-stream",
scope="public",
allowUserIds=nil,
updateIfExists=nil,
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;client = gs2('datastore')
api_result_handler = client.prepare_upload_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
name="dataObject-0001",
contentType="application/octet-stream",
scope="public",
allowUserIds=nil,
updateIfExists=nil,
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;updateDataObject
Update data objects
Updates the metadata of an existing data object owned by the currently logged-in user. You can change the access scope (public/private) and the list of user IDs allowed to access the object. This operation only updates the access control settings; the file content itself is not modified. To update the file content, use PrepareReUpload instead.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |||||||||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||||||||||
| scope | String Enum enum { “public”, “protected”, “private” } | “private” | File access permission Controls who can access this data object. public allows anyone to access, protected restricts access to specified user IDs listed in allowUserIds, and private limits access to the owner only.
| |||||||||||
| allowUserIds | List<string> | {scope} == “protected” | [] | 0 ~ 100 items | List of user IDs to be published Specifies which users can access this data object when the scope is set to protected. Only users whose IDs are included in this list will be granted read access.* Applicable only if scope is “protected” |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.UpdateDataObject(
&datastore.UpdateDataObjectRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
AccessToken: pointy.String("accessToken-0001"),
Scope: pointy.String("public"),
AllowUserIds: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\UpdateDataObjectRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->updateDataObject(
(new UpdateDataObjectRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withAccessToken("accessToken-0001")
->withScope("public")
->withAllowUserIds(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.UpdateDataObjectRequest;
import io.gs2.datastore.result.UpdateDataObjectResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
UpdateDataObjectResult result = client.updateDataObject(
new UpdateDataObjectRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
.withScope("public")
.withAllowUserIds(null)
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.UpdateDataObjectResult> asyncResult = null;
yield return client.UpdateDataObject(
new Gs2.Gs2Datastore.Request.UpdateDataObjectRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithAccessToken("accessToken-0001")
.WithScope("public")
.WithAllowUserIds(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.updateDataObject(
new Gs2Datastore.UpdateDataObjectRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
.withScope("public")
.withAllowUserIds(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.update_data_object(
datastore.UpdateDataObjectRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_access_token('accessToken-0001')
.with_scope('public')
.with_allow_user_ids(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.update_data_object({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
scope="public",
allowUserIds=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.update_data_object_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
scope="public",
allowUserIds=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;updateDataObjectByUserId
Update Data Object by specifying a user ID
Updates the metadata of an existing data object owned by the specified user. You can change the access scope (public/private) and the list of user IDs allowed to access the object. This operation only updates the access control settings; the file content itself is not modified. To update the file content, use PrepareReUpload instead.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||||||||||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |||||||||
| userId | string | ✓ | ~ 128 chars | User ID | ||||||||||
| scope | String Enum enum { “public”, “protected”, “private” } | “private” | File access permission Controls who can access this data object. public allows anyone to access, protected restricts access to specified user IDs listed in allowUserIds, and private limits access to the owner only.
| |||||||||||
| allowUserIds | List<string> | {scope} == “protected” | [] | 0 ~ 100 items | List of user IDs to be published Specifies which users can access this data object when the scope is set to protected. Only users whose IDs are included in this list will be granted read access.* Applicable only if scope is “protected” | |||||||||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.UpdateDataObjectByUserId(
&datastore.UpdateDataObjectByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
UserId: pointy.String("user-0001"),
Scope: pointy.String("public"),
AllowUserIds: nil,
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\UpdateDataObjectByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->updateDataObjectByUserId(
(new UpdateDataObjectByUserIdRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withUserId("user-0001")
->withScope("public")
->withAllowUserIds(null)
->withTimeOffsetToken(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.UpdateDataObjectByUserIdRequest;
import io.gs2.datastore.result.UpdateDataObjectByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
UpdateDataObjectByUserIdResult result = client.updateDataObjectByUserId(
new UpdateDataObjectByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withScope("public")
.withAllowUserIds(null)
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.UpdateDataObjectByUserIdResult> asyncResult = null;
yield return client.UpdateDataObjectByUserId(
new Gs2.Gs2Datastore.Request.UpdateDataObjectByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithUserId("user-0001")
.WithScope("public")
.WithAllowUserIds(null)
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.updateDataObjectByUserId(
new Gs2Datastore.UpdateDataObjectByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withScope("public")
.withAllowUserIds(null)
.withTimeOffsetToken(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.update_data_object_by_user_id(
datastore.UpdateDataObjectByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_user_id('user-0001')
.with_scope('public')
.with_allow_user_ids(None)
.with_time_offset_token(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.update_data_object_by_user_id({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
scope="public",
allowUserIds=nil,
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.update_data_object_by_user_id_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
scope="public",
allowUserIds=nil,
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;prepareReUpload
Prepare to re-upload data object
Generates a new presigned cloud storage URL for re-uploading file content to an existing data object. The data object’s status is changed to UPLOADING and a new generation number is assigned. The previous version of the file is retained in the data object history, allowing you to download older versions by generation number. After uploading the new file to the returned URL, call DoneUpload to finalize the update.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| contentType | string | “application/octet-stream” | ~ 256 chars | MIME-Type of the data object to be uploaded |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| uploadUrl | string | URL used to execute the upload process |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareReUpload(
&datastore.PrepareReUploadRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
AccessToken: pointy.String("accessToken-0001"),
ContentType: pointy.String("application/octet-stream"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
uploadUrl := result.UploadUrluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareReUploadRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareReUpload(
(new PrepareReUploadRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withAccessToken("accessToken-0001")
->withContentType("application/octet-stream")
);
$item = $result->getItem();
$uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareReUploadRequest;
import io.gs2.datastore.result.PrepareReUploadResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareReUploadResult result = client.prepareReUpload(
new PrepareReUploadRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
.withContentType("application/octet-stream")
);
DataObject item = result.getItem();
String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareReUploadResult> asyncResult = null;
yield return client.PrepareReUpload(
new Gs2.Gs2Datastore.Request.PrepareReUploadRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithAccessToken("accessToken-0001")
.WithContentType("application/octet-stream"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var uploadUrl = result.UploadUrl;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareReUpload(
new Gs2Datastore.PrepareReUploadRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
.withContentType("application/octet-stream")
);
const item = result.getItem();
const uploadUrl = result.getUploadUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_re_upload(
datastore.PrepareReUploadRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_access_token('accessToken-0001')
.with_content_type('application/octet-stream')
)
item = result.item
upload_url = result.upload_url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_re_upload({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
contentType="application/octet-stream",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;client = gs2('datastore')
api_result_handler = client.prepare_re_upload_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
contentType="application/octet-stream",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;prepareReUploadByUserId
Prepare to re-upload data object by specifying a user ID
Generates a new presigned cloud storage URL for re-uploading file content to an existing data object owned by the specified user. The data object’s status is changed to UPLOADING and a new generation number is assigned. The previous version of the file is retained in the data object history. After uploading the new file to the returned URL, call DoneUpload to finalize the update.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| userId | string | ✓ | ~ 128 chars | User ID | ||
| contentType | string | “application/octet-stream” | ~ 256 chars | MIME-Type of the data object to be uploaded | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| uploadUrl | string | URL used to execute the upload process |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareReUploadByUserId(
&datastore.PrepareReUploadByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
UserId: pointy.String("user-0001"),
ContentType: pointy.String("application/octet-stream"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
uploadUrl := result.UploadUrluse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareReUploadByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareReUploadByUserId(
(new PrepareReUploadByUserIdRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withUserId("user-0001")
->withContentType("application/octet-stream")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$uploadUrl = $result->getUploadUrl();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareReUploadByUserIdRequest;
import io.gs2.datastore.result.PrepareReUploadByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareReUploadByUserIdResult result = client.prepareReUploadByUserId(
new PrepareReUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withContentType("application/octet-stream")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String uploadUrl = result.getUploadUrl();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareReUploadByUserIdResult> asyncResult = null;
yield return client.PrepareReUploadByUserId(
new Gs2.Gs2Datastore.Request.PrepareReUploadByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithUserId("user-0001")
.WithContentType("application/octet-stream")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var uploadUrl = result.UploadUrl;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareReUploadByUserId(
new Gs2Datastore.PrepareReUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withContentType("application/octet-stream")
.withTimeOffsetToken(null)
);
const item = result.getItem();
const uploadUrl = result.getUploadUrl();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_re_upload_by_user_id(
datastore.PrepareReUploadByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_user_id('user-0001')
.with_content_type('application/octet-stream')
.with_time_offset_token(None)
)
item = result.item
upload_url = result.upload_url
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_re_upload_by_user_id({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
contentType="application/octet-stream",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;client = gs2('datastore')
api_result_handler = client.prepare_re_upload_by_user_id_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
contentType="application/octet-stream",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
uploadUrl = result.uploadUrl;doneUpload
Report completion of data object upload
Finalizes the data object after the file has been uploaded to the presigned URL obtained from PrepareUpload or PrepareReUpload. The data object’s status is changed from UPLOADING to ACTIVE, and the file metadata (size, generation) is recorded. If a doneUploadScript is configured in the namespace settings, the script is executed as a hook after the upload is confirmed. An error is returned if the data object is not in the UPLOADING state or if the uploaded file was not found.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| accessToken | string | ✓ | ~ 128 chars | Access token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DoneUpload(
&datastore.DoneUploadRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
AccessToken: pointy.String("accessToken-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DoneUploadRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->doneUpload(
(new DoneUploadRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withAccessToken("accessToken-0001")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DoneUploadRequest;
import io.gs2.datastore.result.DoneUploadResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DoneUploadResult result = client.doneUpload(
new DoneUploadRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DoneUploadResult> asyncResult = null;
yield return client.DoneUpload(
new Gs2.Gs2Datastore.Request.DoneUploadRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithAccessToken("accessToken-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.doneUpload(
new Gs2Datastore.DoneUploadRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withAccessToken("accessToken-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.done_upload(
datastore.DoneUploadRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_access_token('accessToken-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.done_upload({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.done_upload_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
accessToken="accessToken-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;doneUploadByUserId
Report completion of data object upload by specifying a user ID
Finalizes the data object after the file has been uploaded to the presigned URL obtained from PrepareUpload or PrepareReUpload. The data object’s status is changed from UPLOADING to ACTIVE, and the file metadata (size, generation) is recorded. If a doneUploadScript is configured in the namespace settings, the script is executed as a hook after the upload is confirmed. An error is returned if the data object is not in the UPLOADING state or if the uploaded file was not found.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| userId | string | ✓ | ~ 128 chars | User ID | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DoneUploadByUserId(
&datastore.DoneUploadByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectName: pointy.String("dataObject-0001"),
UserId: pointy.String("user-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DoneUploadByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->doneUploadByUserId(
(new DoneUploadByUserIdRequest())
->withNamespaceName("namespace-0001")
->withDataObjectName("dataObject-0001")
->withUserId("user-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DoneUploadByUserIdRequest;
import io.gs2.datastore.result.DoneUploadByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DoneUploadByUserIdResult result = client.doneUploadByUserId(
new DoneUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DoneUploadByUserIdResult> asyncResult = null;
yield return client.DoneUploadByUserId(
new Gs2.Gs2Datastore.Request.DoneUploadByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectName("dataObject-0001")
.WithUserId("user-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.doneUploadByUserId(
new Gs2Datastore.DoneUploadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withDataObjectName("dataObject-0001")
.withUserId("user-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.done_upload_by_user_id(
datastore.DoneUploadByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_data_object_name('dataObject-0001')
.with_user_id('user-0001')
.with_time_offset_token(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.done_upload_by_user_id({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.done_upload_by_user_id_async({
namespaceName="namespace-0001",
dataObjectName="dataObject-0001",
userId="user-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;deleteDataObject
Delete data object
Marks the specified data object for deletion. The data object owned by the currently logged-in user is targeted. The actual file data is deleted after 30 days. An error is returned if the data object is not in a deletable state (e.g., currently uploading).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DeleteDataObject(
&datastore.DeleteDataObjectRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectName: pointy.String("dataObject-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DeleteDataObjectRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->deleteDataObject(
(new DeleteDataObjectRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectName("dataObject-0001")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DeleteDataObjectRequest;
import io.gs2.datastore.result.DeleteDataObjectResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DeleteDataObjectResult result = client.deleteDataObject(
new DeleteDataObjectRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DeleteDataObjectResult> asyncResult = null;
yield return client.DeleteDataObject(
new Gs2.Gs2Datastore.Request.DeleteDataObjectRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectName("dataObject-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.deleteDataObject(
new Gs2Datastore.DeleteDataObjectRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.delete_data_object(
datastore.DeleteDataObjectRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_name('dataObject-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.delete_data_object({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.delete_data_object_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;deleteDataObjectByUserId
Delete a data object by specifying a user ID
Marks the specified data object owned by the specified user for deletion. The actual file data is deleted after 30 days. An error is returned if the data object is not in a deletable state (e.g., currently uploading).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DeleteDataObjectByUserId(
&datastore.DeleteDataObjectByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectName: pointy.String("dataObject-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DeleteDataObjectByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->deleteDataObjectByUserId(
(new DeleteDataObjectByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectName("dataObject-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DeleteDataObjectByUserIdRequest;
import io.gs2.datastore.result.DeleteDataObjectByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DeleteDataObjectByUserIdResult result = client.deleteDataObjectByUserId(
new DeleteDataObjectByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DeleteDataObjectByUserIdResult> asyncResult = null;
yield return client.DeleteDataObjectByUserId(
new Gs2.Gs2Datastore.Request.DeleteDataObjectByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectName("dataObject-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.deleteDataObjectByUserId(
new Gs2Datastore.DeleteDataObjectByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.delete_data_object_by_user_id(
datastore.DeleteDataObjectByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_name('dataObject-0001')
.with_time_offset_token(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.delete_data_object_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.delete_data_object_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;prepareDownload
Prepare data object for download
Generates a presigned cloud storage URL for downloading the latest version of the specified data object. The data object is specified by its GRN (dataObjectId). Access control is enforced: only the data owner or users listed in allowUserIds can download. Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectId | string | ✓ | ~ 1024 chars | Data object GRN |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownload(
&datastore.PrepareDownloadRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownload(
(new PrepareDownloadRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadRequest;
import io.gs2.datastore.result.PrepareDownloadResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadResult result = client.prepareDownload(
new PrepareDownloadRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadResult> asyncResult = null;
yield return client.PrepareDownload(
new Gs2.Gs2Datastore.Request.PrepareDownloadRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownload(
new Gs2Datastore.PrepareDownloadRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download(
datastore.PrepareDownloadRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_id('grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001')
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadByUserId
Prepare data object for download by specifying a user ID
Generates a presigned cloud storage URL for downloading the latest version of the specified data object. The data object is specified by its GRN (dataObjectId). Access control is enforced: only the data owner or users listed in allowUserIds can download. Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectId | string | ✓ | ~ 1024 chars | Data object GRN | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadByUserId(
&datastore.PrepareDownloadByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadByUserId(
(new PrepareDownloadByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadByUserIdRequest;
import io.gs2.datastore.result.PrepareDownloadByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadByUserIdResult result = client.prepareDownloadByUserId(
new PrepareDownloadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadByUserIdResult> asyncResult = null;
yield return client.PrepareDownloadByUserId(
new Gs2.Gs2Datastore.Request.PrepareDownloadByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadByUserId(
new Gs2Datastore.PrepareDownloadByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_by_user_id(
datastore.PrepareDownloadByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_id('grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001')
.with_time_offset_token(None)
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadByGeneration
Prepare data object for download by specifying the generation
Generates a presigned cloud storage URL for downloading a specific version (generation) of the data object. This allows you to access previous versions of a file that were retained when the data was re-uploaded. Access control is enforced: only the data owner or users listed in allowUserIds can download.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectId | string | ✓ | ~ 1024 chars | Data object GRN | ||
| generation | string | ✓ | ~ 128 chars | Data Generation |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadByGeneration(
&datastore.PrepareDownloadByGenerationRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
Generation: pointy.String("generation-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadByGenerationRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadByGeneration(
(new PrepareDownloadByGenerationRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
->withGeneration("generation-0001")
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadByGenerationRequest;
import io.gs2.datastore.result.PrepareDownloadByGenerationResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadByGenerationResult result = client.prepareDownloadByGeneration(
new PrepareDownloadByGenerationRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withGeneration("generation-0001")
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadByGenerationResult> asyncResult = null;
yield return client.PrepareDownloadByGeneration(
new Gs2.Gs2Datastore.Request.PrepareDownloadByGenerationRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.WithGeneration("generation-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadByGeneration(
new Gs2Datastore.PrepareDownloadByGenerationRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withGeneration("generation-0001")
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_by_generation(
datastore.PrepareDownloadByGenerationRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_id('grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001')
.with_generation('generation-0001')
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_by_generation({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
generation="generation-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_by_generation_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
generation="generation-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadByGenerationAndUserId
Prepare data object for download by specifying user ID and generation
Generates a presigned cloud storage URL for downloading a specific version (generation) of the data object. This allows you to access previous versions of a file that were retained when the data was re-uploaded. Access control is enforced: only the data owner or users listed in allowUserIds can download.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectId | string | ✓ | ~ 1024 chars | Data object GRN | ||
| generation | string | ✓ | ~ 128 chars | Data Generation | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadByGenerationAndUserId(
&datastore.PrepareDownloadByGenerationAndUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
Generation: pointy.String("generation-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadByGenerationAndUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadByGenerationAndUserId(
(new PrepareDownloadByGenerationAndUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
->withGeneration("generation-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadByGenerationAndUserIdRequest;
import io.gs2.datastore.result.PrepareDownloadByGenerationAndUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadByGenerationAndUserIdResult result = client.prepareDownloadByGenerationAndUserId(
new PrepareDownloadByGenerationAndUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadByGenerationAndUserIdResult> asyncResult = null;
yield return client.PrepareDownloadByGenerationAndUserId(
new Gs2.Gs2Datastore.Request.PrepareDownloadByGenerationAndUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.WithGeneration("generation-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadByGenerationAndUserId(
new Gs2Datastore.PrepareDownloadByGenerationAndUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_by_generation_and_user_id(
datastore.PrepareDownloadByGenerationAndUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_id('grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001')
.with_generation('generation-0001')
.with_time_offset_token(None)
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_by_generation_and_user_id({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_by_generation_and_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadOwnData
Prepare own data object for download by name
A convenience API for downloading the currently logged-in user’s own data object by specifying its name instead of its GRN (dataObjectId). Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadOwnData(
&datastore.PrepareDownloadOwnDataRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectName: pointy.String("dataObject-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadOwnDataRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadOwnData(
(new PrepareDownloadOwnDataRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectName("dataObject-0001")
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadOwnDataRequest;
import io.gs2.datastore.result.PrepareDownloadOwnDataResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadOwnDataResult result = client.prepareDownloadOwnData(
new PrepareDownloadOwnDataRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadOwnDataResult> asyncResult = null;
yield return client.PrepareDownloadOwnData(
new Gs2.Gs2Datastore.Request.PrepareDownloadOwnDataRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectName("dataObject-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadOwnData(
new Gs2Datastore.PrepareDownloadOwnDataRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_own_data(
datastore.PrepareDownloadOwnDataRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_name('dataObject-0001')
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_own_data({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_own_data_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadByUserIdAndDataObjectName
Prepare data object for download by specifying user ID and object name
A convenience API for downloading a user’s data object by specifying the user ID and object name instead of the GRN (dataObjectId). Access control is enforced: only the data owner or users listed in allowUserIds can download. Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadByUserIdAndDataObjectName(
&datastore.PrepareDownloadByUserIdAndDataObjectNameRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectName: pointy.String("dataObject-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadByUserIdAndDataObjectNameRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadByUserIdAndDataObjectName(
(new PrepareDownloadByUserIdAndDataObjectNameRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectName("dataObject-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadByUserIdAndDataObjectNameRequest;
import io.gs2.datastore.result.PrepareDownloadByUserIdAndDataObjectNameResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadByUserIdAndDataObjectNameResult result = client.prepareDownloadByUserIdAndDataObjectName(
new PrepareDownloadByUserIdAndDataObjectNameRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadByUserIdAndDataObjectNameResult> asyncResult = null;
yield return client.PrepareDownloadByUserIdAndDataObjectName(
new Gs2.Gs2Datastore.Request.PrepareDownloadByUserIdAndDataObjectNameRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectName("dataObject-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadByUserIdAndDataObjectName(
new Gs2Datastore.PrepareDownloadByUserIdAndDataObjectNameRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_by_user_id_and_data_object_name(
datastore.PrepareDownloadByUserIdAndDataObjectNameRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_name('dataObject-0001')
.with_time_offset_token(None)
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_by_user_id_and_data_object_name({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_by_user_id_and_data_object_name_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadOwnDataByGeneration
Prepare own data object for download by specifying the generation
A convenience API for downloading a specific version (generation) of the currently logged-in user’s own data object by specifying its name instead of its GRN. This allows you to access previous versions of a file that were retained when the data was re-uploaded. Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| generation | string | ✓ | ~ 128 chars | Data Generation |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadOwnDataByGeneration(
&datastore.PrepareDownloadOwnDataByGenerationRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectName: pointy.String("dataObject-0001"),
Generation: pointy.String("generation-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadOwnDataByGenerationRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadOwnDataByGeneration(
(new PrepareDownloadOwnDataByGenerationRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectName("dataObject-0001")
->withGeneration("generation-0001")
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadOwnDataByGenerationRequest;
import io.gs2.datastore.result.PrepareDownloadOwnDataByGenerationResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadOwnDataByGenerationResult result = client.prepareDownloadOwnDataByGeneration(
new PrepareDownloadOwnDataByGenerationRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadOwnDataByGenerationResult> asyncResult = null;
yield return client.PrepareDownloadOwnDataByGeneration(
new Gs2.Gs2Datastore.Request.PrepareDownloadOwnDataByGenerationRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectName("dataObject-0001")
.WithGeneration("generation-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadOwnDataByGeneration(
new Gs2Datastore.PrepareDownloadOwnDataByGenerationRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_own_data_by_generation(
datastore.PrepareDownloadOwnDataByGenerationRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_name('dataObject-0001')
.with_generation('generation-0001')
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_own_data_by_generation({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_own_data_by_generation_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;prepareDownloadByUserIdAndDataObjectNameAndGeneration
Prepare data object for download by specifying user ID, object name, and generation
A convenience API for downloading a specific version (generation) of a user’s data object by specifying the user ID and object name instead of the GRN. This allows you to access previous versions of a file that were retained when the data was re-uploaded. Access control is enforced: only the data owner or users listed in allowUserIds can download. Returns the presigned download URL and the file size (content length).
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| generation | string | ✓ | ~ 128 chars | Data Generation | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
| fileUrl | string | URL to download the file |
| contentLength | long | File size |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.PrepareDownloadByUserIdAndDataObjectNameAndGeneration(
&datastore.PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectName: pointy.String("dataObject-0001"),
Generation: pointy.String("generation-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Item
fileUrl := result.FileUrl
contentLength := result.ContentLengthuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->prepareDownloadByUserIdAndDataObjectNameAndGeneration(
(new PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectName("dataObject-0001")
->withGeneration("generation-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
$fileUrl = $result->getFileUrl();
$contentLength = $result->getContentLength();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest;
import io.gs2.datastore.result.PrepareDownloadByUserIdAndDataObjectNameAndGenerationResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
PrepareDownloadByUserIdAndDataObjectNameAndGenerationResult result = client.prepareDownloadByUserIdAndDataObjectNameAndGeneration(
new PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
DataObject item = result.getItem();
String fileUrl = result.getFileUrl();
long contentLength = result.getContentLength();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.PrepareDownloadByUserIdAndDataObjectNameAndGenerationResult> asyncResult = null;
yield return client.PrepareDownloadByUserIdAndDataObjectNameAndGeneration(
new Gs2.Gs2Datastore.Request.PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectName("dataObject-0001")
.WithGeneration("generation-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;
var fileUrl = result.FileUrl;
var contentLength = result.ContentLength;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.prepareDownloadByUserIdAndDataObjectNameAndGeneration(
new Gs2Datastore.PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
const fileUrl = result.getFileUrl();
const contentLength = result.getContentLength();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.prepare_download_by_user_id_and_data_object_name_and_generation(
datastore.PrepareDownloadByUserIdAndDataObjectNameAndGenerationRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_name('dataObject-0001')
.with_generation('generation-0001')
.with_time_offset_token(None)
)
item = result.item
file_url = result.file_url
content_length = result.content_length
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.prepare_download_by_user_id_and_data_object_name_and_generation({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;client = gs2('datastore')
api_result_handler = client.prepare_download_by_user_id_and_data_object_name_and_generation_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;
fileUrl = result.fileUrl;
contentLength = result.contentLength;restoreDataObject
Repair management information on data objects
Reconciles the stored metadata of a data object with the actual file state. If the recorded generation number or content length differs from the actual file, the metadata is updated to match. This is useful for recovering from inconsistencies that may occur due to partial failures during upload. Only data objects with ACTIVE status can be restored; an error is returned for other statuses.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| dataObjectId | string | ✓ | ~ 1024 chars | Data object GRN |
Result
| Type | Description | |
|---|---|---|
| item | DataObject | Data object |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.RestoreDataObject(
&datastore.RestoreDataObjectRequest {
NamespaceName: pointy.String("namespace-0001"),
DataObjectId: pointy.String("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\RestoreDataObjectRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->restoreDataObject(
(new RestoreDataObjectRequest())
->withNamespaceName("namespace-0001")
->withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.RestoreDataObjectRequest;
import io.gs2.datastore.result.RestoreDataObjectResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
RestoreDataObjectResult result = client.restoreDataObject(
new RestoreDataObjectRequest()
.withNamespaceName("namespace-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
DataObject item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.RestoreDataObjectResult> asyncResult = null;
yield return client.RestoreDataObject(
new Gs2.Gs2Datastore.Request.RestoreDataObjectRequest()
.WithNamespaceName("namespace-0001")
.WithDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.restoreDataObject(
new Gs2Datastore.RestoreDataObjectRequest()
.withNamespaceName("namespace-0001")
.withDataObjectId("grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.restore_data_object(
datastore.RestoreDataObjectRequest()
.with_namespace_name('namespace-0001')
.with_data_object_id('grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.restore_data_object({
namespaceName="namespace-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.restore_data_object_async({
namespaceName="namespace-0001",
dataObjectId="grn:gs2:ap-northeast-1:YourOwnerId:datastore:namespace-0001:user:user-0001:data:dataObject-0001",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;describeDataObjectHistories
Get a list of Data Object Histories
Lists all version histories (generations) of a specific data object owned by the currently logged-in user. Each time a data object’s file content is re-uploaded via PrepareReUpload and DoneUpload, a new generation is created and the previous version is recorded in the history. The history entries contain metadata about each generation, such as the content length and creation timestamp. Results can be paginated using a page token and limit.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| pageToken | string | ~ 1024 chars | Token specifying the position from which to start acquiring data | |||
| limit | int | 30 | 1 ~ 1000 | Number of data items to retrieve |
Result
| Type | Description | |
|---|---|---|
| items | List<DataObjectHistory> | List of Data Object Histories |
| nextPageToken | string | Page token to retrieve the rest of the listing |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DescribeDataObjectHistories(
&datastore.DescribeDataObjectHistoriesRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectName: pointy.String("dataObject-0001"),
PageToken: nil,
Limit: nil,
}
)
if err != nil {
panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageTokenuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DescribeDataObjectHistoriesRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->describeDataObjectHistories(
(new DescribeDataObjectHistoriesRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectName("dataObject-0001")
->withPageToken(null)
->withLimit(null)
);
$items = $result->getItems();
$nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DescribeDataObjectHistoriesRequest;
import io.gs2.datastore.result.DescribeDataObjectHistoriesResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DescribeDataObjectHistoriesResult result = client.describeDataObjectHistories(
new DescribeDataObjectHistoriesRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withPageToken(null)
.withLimit(null)
);
List<DataObjectHistory> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DescribeDataObjectHistoriesResult> asyncResult = null;
yield return client.DescribeDataObjectHistories(
new Gs2.Gs2Datastore.Request.DescribeDataObjectHistoriesRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectName("dataObject-0001")
.WithPageToken(null)
.WithLimit(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.describeDataObjectHistories(
new Gs2Datastore.DescribeDataObjectHistoriesRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withPageToken(null)
.withLimit(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.describe_data_object_histories(
datastore.DescribeDataObjectHistoriesRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_name('dataObject-0001')
.with_page_token(None)
.with_limit(None)
)
items = result.items
next_page_token = result.next_page_token
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.describe_data_object_histories({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
pageToken=nil,
limit=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;client = gs2('datastore')
api_result_handler = client.describe_data_object_histories_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
pageToken=nil,
limit=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;describeDataObjectHistoriesByUserId
Get a list of Data Object Histories by specifying a user ID
Lists all version histories (generations) of a specific data object owned by the specified user. Each time a data object’s file content is re-uploaded via PrepareReUpload and DoneUpload, a new generation is created and the previous version is recorded in the history. The history entries contain metadata about each generation, such as the content length and creation timestamp. Results can be paginated using a page token and limit.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| pageToken | string | ~ 1024 chars | Token specifying the position from which to start acquiring data | |||
| limit | int | 30 | 1 ~ 1000 | Number of data items to retrieve | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| items | List<DataObjectHistory> | List of Data Object Histories |
| nextPageToken | string | Page token to retrieve the rest of the listing |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.DescribeDataObjectHistoriesByUserId(
&datastore.DescribeDataObjectHistoriesByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectName: pointy.String("dataObject-0001"),
PageToken: nil,
Limit: nil,
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
items := result.Items
nextPageToken := result.NextPageTokenuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\DescribeDataObjectHistoriesByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->describeDataObjectHistoriesByUserId(
(new DescribeDataObjectHistoriesByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectName("dataObject-0001")
->withPageToken(null)
->withLimit(null)
->withTimeOffsetToken(null)
);
$items = $result->getItems();
$nextPageToken = $result->getNextPageToken();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.DescribeDataObjectHistoriesByUserIdRequest;
import io.gs2.datastore.result.DescribeDataObjectHistoriesByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
DescribeDataObjectHistoriesByUserIdResult result = client.describeDataObjectHistoriesByUserId(
new DescribeDataObjectHistoriesByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withPageToken(null)
.withLimit(null)
.withTimeOffsetToken(null)
);
List<DataObjectHistory> items = result.getItems();
String nextPageToken = result.getNextPageToken();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.DescribeDataObjectHistoriesByUserIdResult> asyncResult = null;
yield return client.DescribeDataObjectHistoriesByUserId(
new Gs2.Gs2Datastore.Request.DescribeDataObjectHistoriesByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectName("dataObject-0001")
.WithPageToken(null)
.WithLimit(null)
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var items = result.Items;
var nextPageToken = result.NextPageToken;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.describeDataObjectHistoriesByUserId(
new Gs2Datastore.DescribeDataObjectHistoriesByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withPageToken(null)
.withLimit(null)
.withTimeOffsetToken(null)
);
const items = result.getItems();
const nextPageToken = result.getNextPageToken();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.describe_data_object_histories_by_user_id(
datastore.DescribeDataObjectHistoriesByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_name('dataObject-0001')
.with_page_token(None)
.with_limit(None)
.with_time_offset_token(None)
)
items = result.items
next_page_token = result.next_page_token
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.describe_data_object_histories_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
pageToken=nil,
limit=nil,
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;client = gs2('datastore')
api_result_handler = client.describe_data_object_histories_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
pageToken=nil,
limit=nil,
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
items = result.items;
nextPageToken = result.nextPageToken;getDataObjectHistory
Get Data Object History
Retrieves the history entry for a specific generation of a data object owned by the currently logged-in user. By specifying the generation number, you can access metadata about a particular version of the data object, including its content length and creation timestamp. This is useful for inspecting past versions of the data object before downloading them via PrepareDownloadByGeneration.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| accessToken | string | ✓ | ~ 128 chars | Access token | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| generation | string | ✓ | ~ 128 chars | Generation ID A unique identifier for the specific version of the data object at the time of upload. Corresponds to the generation field in the DataObject and can be used with PrepareDownloadByGeneration to download this specific version. |
Result
| Type | Description | |
|---|---|---|
| item | DataObjectHistory | Data Object History |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.GetDataObjectHistory(
&datastore.GetDataObjectHistoryRequest {
NamespaceName: pointy.String("namespace-0001"),
AccessToken: pointy.String("accessToken-0001"),
DataObjectName: pointy.String("dataObject-0001"),
Generation: pointy.String("1"),
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\GetDataObjectHistoryRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->getDataObjectHistory(
(new GetDataObjectHistoryRequest())
->withNamespaceName("namespace-0001")
->withAccessToken("accessToken-0001")
->withDataObjectName("dataObject-0001")
->withGeneration("1")
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.GetDataObjectHistoryRequest;
import io.gs2.datastore.result.GetDataObjectHistoryResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
GetDataObjectHistoryResult result = client.getDataObjectHistory(
new GetDataObjectHistoryRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("1")
);
DataObjectHistory item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.GetDataObjectHistoryResult> asyncResult = null;
yield return client.GetDataObjectHistory(
new Gs2.Gs2Datastore.Request.GetDataObjectHistoryRequest()
.WithNamespaceName("namespace-0001")
.WithAccessToken("accessToken-0001")
.WithDataObjectName("dataObject-0001")
.WithGeneration("1"),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.getDataObjectHistory(
new Gs2Datastore.GetDataObjectHistoryRequest()
.withNamespaceName("namespace-0001")
.withAccessToken("accessToken-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("1")
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.get_data_object_history(
datastore.GetDataObjectHistoryRequest()
.with_namespace_name('namespace-0001')
.with_access_token('accessToken-0001')
.with_data_object_name('dataObject-0001')
.with_generation('1')
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.get_data_object_history({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
generation="1",
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.get_data_object_history_async({
namespaceName="namespace-0001",
accessToken="accessToken-0001",
dataObjectName="dataObject-0001",
generation="1",
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;getDataObjectHistoryByUserId
Get Data Object History by specifying a user ID
Retrieves the history entry for a specific generation of a data object owned by the specified user. By specifying the generation number, you can access metadata about a particular version of the data object, including its content length and creation timestamp. This is useful for inspecting past versions of the data object before downloading them via PrepareDownloadByGeneration.
Details
Request
| Type | Condition | Required | Default | Value Limits | Description | |
|---|---|---|---|---|---|---|
| namespaceName | string | ✓ | ~ 128 chars | Namespace name Namespace-specific name. Specified using alphanumeric characters, hyphens (-), underscores (_), and periods (.). | ||
| userId | string | ✓ | ~ 128 chars | User ID | ||
| dataObjectName | string | ✓ | UUID | ~ 128 chars | Data Object Name A unique name identifying the data object. Automatically generated in UUID format by default. Used to reference and manage the uploaded data within the namespace. | |
| generation | string | ✓ | ~ 128 chars | Generation ID A unique identifier for the specific version of the data object at the time of upload. Corresponds to the generation field in the DataObject and can be used with PrepareDownloadByGeneration to download this specific version. | ||
| timeOffsetToken | string | ~ 1024 chars | Time offset token |
Result
| Type | Description | |
|---|---|---|
| item | DataObjectHistory | Data Object History |
Implementation Example
import "github.com/gs2io/gs2-golang-sdk/core"
import "github.com/gs2io/gs2-golang-sdk/datastore"
import "github.com/openlyinc/pointy"
session := core.Gs2RestSession{
Credential: &core.BasicGs2Credential{
ClientId: "your client id",
ClientSecret: "your client secret",
},
Region: core.ApNortheast1,
}
if err := session.Connect(); err != nil {
panic("error occurred")
}
client := datastore.Gs2DatastoreRestClient{
Session: &session,
}
result, err := client.GetDataObjectHistoryByUserId(
&datastore.GetDataObjectHistoryByUserIdRequest {
NamespaceName: pointy.String("namespace-0001"),
UserId: pointy.String("user-0001"),
DataObjectName: pointy.String("dataObject-0001"),
Generation: pointy.String("generation-0001"),
TimeOffsetToken: nil,
}
)
if err != nil {
panic("error occurred")
}
item := result.Itemuse Gs2\Core\Model\BasicGs2Credential;
use Gs2\Core\Model\Region;
use Gs2\Core\Net\Gs2RestSession;
use Gs2\Core\Exception\Gs2Exception;
use Gs2\Datastore\Gs2DatastoreRestClient;
use Gs2\Datastore\Request\GetDataObjectHistoryByUserIdRequest;
$session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region::AP_NORTHEAST_1
);
$session->open();
$client = new Gs2DatastoreRestClient(
$session
);
try {
$result = $client->getDataObjectHistoryByUserId(
(new GetDataObjectHistoryByUserIdRequest())
->withNamespaceName("namespace-0001")
->withUserId("user-0001")
->withDataObjectName("dataObject-0001")
->withGeneration("generation-0001")
->withTimeOffsetToken(null)
);
$item = $result->getItem();
} catch (Gs2Exception $e) {
exit("error occurred")
}import io.gs2.core.model.Region;
import io.gs2.core.model.BasicGs2Credential;
import io.gs2.core.rest.Gs2RestSession;
import io.gs2.core.exception.Gs2Exception;
import io.gs2.datastore.rest.Gs2DatastoreRestClient;
import io.gs2.datastore.request.GetDataObjectHistoryByUserIdRequest;
import io.gs2.datastore.result.GetDataObjectHistoryByUserIdResult;
Gs2RestSession session = new Gs2RestSession(
Region.AP_NORTHEAST_1,
new BasicGs2Credential(
"your client id",
"your client secret"
)
);
session.connect();
Gs2DatastoreRestClient client = new Gs2DatastoreRestClient(session);
try {
GetDataObjectHistoryByUserIdResult result = client.getDataObjectHistoryByUserId(
new GetDataObjectHistoryByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
DataObjectHistory item = result.getItem();
} catch (Gs2Exception e) {
System.exit(1);
}using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Core.Exception;
var session = new Gs2RestSession(
new BasicGs2Credential(
"your client id",
"your client secret"
),
Region.ApNortheast1
);
yield return session.OpenAsync(r => { });
var client = new Gs2DatastoreRestClient(session);
AsyncResult<Gs2.Gs2Datastore.Result.GetDataObjectHistoryByUserIdResult> asyncResult = null;
yield return client.GetDataObjectHistoryByUserId(
new Gs2.Gs2Datastore.Request.GetDataObjectHistoryByUserIdRequest()
.WithNamespaceName("namespace-0001")
.WithUserId("user-0001")
.WithDataObjectName("dataObject-0001")
.WithGeneration("generation-0001")
.WithTimeOffsetToken(null),
r => asyncResult = r
);
if (asyncResult.Error != null) {
throw asyncResult.Error;
}
var result = asyncResult.Result;
var item = result.Item;import Gs2Core from '@/gs2/core';
import * as Gs2Datastore from '@/gs2/datastore';
const session = new Gs2Core.Gs2RestSession(
"ap-northeast-1",
new Gs2Core.BasicGs2Credential(
'your client id',
'your client secret'
)
);
await session.connect();
const client = new Gs2Datastore.Gs2DatastoreRestClient(session);
try {
const result = await client.getDataObjectHistoryByUserId(
new Gs2Datastore.GetDataObjectHistoryByUserIdRequest()
.withNamespaceName("namespace-0001")
.withUserId("user-0001")
.withDataObjectName("dataObject-0001")
.withGeneration("generation-0001")
.withTimeOffsetToken(null)
);
const item = result.getItem();
} catch (e) {
process.exit(1);
}from gs2 import core
from gs2 import datastore
session = core.Gs2RestSession(
core.BasicGs2Credential(
'your client id',
'your client secret'
),
"ap-northeast-1",
)
session.connect()
client = datastore.Gs2DatastoreRestClient(session)
try:
result = client.get_data_object_history_by_user_id(
datastore.GetDataObjectHistoryByUserIdRequest()
.with_namespace_name('namespace-0001')
.with_user_id('user-0001')
.with_data_object_name('dataObject-0001')
.with_generation('generation-0001')
.with_time_offset_token(None)
)
item = result.item
except core.Gs2Exception as e:
exit(1)client = gs2('datastore')
api_result = client.get_data_object_history_by_user_id({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;client = gs2('datastore')
api_result_handler = client.get_data_object_history_by_user_id_async({
namespaceName="namespace-0001",
userId="user-0001",
dataObjectName="dataObject-0001",
generation="generation-0001",
timeOffsetToken=nil,
})
api_result = api_result_handler() -- Call the handler to get the result
if(api_result.isError) then
-- When error occurs
fail(api_result['statusCode'], api_result['errorMessage'])
end
result = api_result.result
item = result.item;