Getting data store properties
Use the GetDatastore action to retrieve AWS HealthImaging data store properties. The following menus provide a
procedure for the AWS Management Console and code examples for the AWS CLI and AWS SDKs. For more
information, see GetDatastore in the AWS HealthImaging API
Reference.
Below is the example response for a JPEG 2000 Lossless enabled datastore:
{
"datastoreProperties": {
"datastoreId": "12345678901234567890123456789012",
"datastoreName": "TestDatastore123",
"datastoreStatus": "ACTIVE",
"losslessStorageFormat": "JPEG_2000_LOSSLESS",
"datastoreArn": "arn:aws:medical-imaging:us-east-1:123456789012:datastore/12345678901234567890123456789012",
"createdAt": "2022-11-15T23:33:09.643000+00:00",
"updatedAt": "2022-11-15T23:33:09.643000+00:00"
}
}
To get data store properties
Choose a menu based on your access preference to AWS HealthImaging.
-
Open the HealthImaging console Data stores page.
-
Choose a data store.
The Data store details page opens. Under the
Details section, all data store properties are
available. To view associated image sets, imports, and tags, choose the
applicable tab.
- Bash
-
- AWS CLI with Bash script
-
###############################################################################
# function errecho
#
# This function outputs everything sent to it to STDERR (standard error output).
###############################################################################
function errecho() {
printf "%s\n" "$*" 1>&2
}
###############################################################################
# function imaging_get_datastore
#
# Get a data store's properties.
#
# Parameters:
# -i data_store_id - The ID of the data store.
#
# Returns:
# [datastore_name, datastore_id, datastore_status, datastore_arn, created_at, updated_at]
# And:
# 0 - If successful.
# 1 - If it fails.
###############################################################################
function imaging_get_datastore() {
local datastore_id option OPTARG # Required to use getopts command in a function.
local error_code
# bashsupport disable=BP5008
function usage() {
echo "function imaging_get_datastore"
echo "Gets a data store's properties."
echo " -i datastore_id - The ID of the data store."
echo ""
}
# Retrieve the calling parameters.
while getopts "i:h" option; do
case "${option}" in
i) datastore_id="${OPTARG}" ;;
h)
usage
return 0
;;
\?)
echo "Invalid parameter"
usage
return 1
;;
esac
done
export OPTIND=1
if [[ -z "$datastore_id" ]]; then
errecho "ERROR: You must provide a data store ID with the -i parameter."
usage
return 1
fi
local response
response=$(
aws medical-imaging get-datastore \
--datastore-id "$datastore_id" \
--output text \
--query "[ datastoreProperties.datastoreName, datastoreProperties.datastoreId, datastoreProperties.datastoreStatus, datastoreProperties.datastoreArn, datastoreProperties.createdAt, datastoreProperties.updatedAt]"
)
error_code=${?}
if [[ $error_code -ne 0 ]]; then
aws_cli_error_log $error_code
errecho "ERROR: AWS reports list-datastores operation failed.$response"
return 1
fi
echo "$response"
return 0
}
- CLI
-
- AWS CLI
-
To get a data store's properties
The following get-datastore code example gets a data store's properties.
aws medical-imaging get-datastore \
--datastore-id 12345678901234567890123456789012
Output:
{
"datastoreProperties": {
"datastoreId": "12345678901234567890123456789012",
"datastoreName": "TestDatastore123",
"datastoreStatus": "ACTIVE",
"losslessStorageFormat": "JPEG_2000_LOSSLESS",
"datastoreArn": "arn:aws:medical-imaging:us-east-1:123456789012:datastore/12345678901234567890123456789012",
"createdAt": "2022-11-15T23:33:09.643000+00:00",
"updatedAt": "2022-11-15T23:33:09.643000+00:00"
}
}
- Java
-
- SDK for Java 2.x
-
public static DatastoreProperties getMedicalImageDatastore(MedicalImagingClient medicalImagingClient,
String datastoreID) {
try {
GetDatastoreRequest datastoreRequest = GetDatastoreRequest.builder()
.datastoreId(datastoreID)
.build();
GetDatastoreResponse response = medicalImagingClient.getDatastore(datastoreRequest);
return response.datastoreProperties();
} catch (MedicalImagingException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
return null;
}
- JavaScript
-
- SDK for JavaScript (v3)
-
import { GetDatastoreCommand } from "@aws-sdk/client-medical-imaging";
import { medicalImagingClient } from "../libs/medicalImagingClient.js";
/**
* @param {string} datastoreID - The ID of the data store.
*/
export const getDatastore = async (datastoreID = "DATASTORE_ID") => {
const response = await medicalImagingClient.send(
new GetDatastoreCommand({ datastoreId: datastoreID }),
);
console.log(response);
// {
// '$metadata': {
// httpStatusCode: 200,
// requestId: '55ea7d2e-222c-4a6a-871e-4f591f40cadb',
// extendedRequestId: undefined,
// cfId: undefined,
// attempts: 1,
// totalRetryDelay: 0
// },
// datastoreProperties: {
// createdAt: 2023-08-04T18:50:36.239Z,
// datastoreArn: 'arn:aws:medical-imaging:us-east-1:xxxxxxxxx:datastore/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// datastoreId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
// datastoreName: 'my_datastore',
// datastoreStatus: 'ACTIVE',
// updatedAt: 2023-08-04T18:50:36.239Z
// }
// }
return response.datastoreProperties;
};
- Python
-
- SDK for Python (Boto3)
-
class MedicalImagingWrapper:
def __init__(self, health_imaging_client):
self.health_imaging_client = health_imaging_client
def get_datastore_properties(self, datastore_id):
"""
Get the properties of a data store.
:param datastore_id: The ID of the data store.
:return: The data store properties.
"""
try:
data_store = self.health_imaging_client.get_datastore(
datastoreId=datastore_id
)
except ClientError as err:
logger.error(
"Couldn't get data store %s. Here's why: %s: %s",
id,
err.response["Error"]["Code"],
err.response["Error"]["Message"],
)
raise
else:
return data_store["datastoreProperties"]
The following code instantiates the MedicalImagingWrapper object.
client = boto3.client("medical-imaging")
medical_imaging_wrapper = MedicalImagingWrapper(client)
Can't find what you need? Request a code example using the Provide
feedback link on the right sidebar of this page.