Docs: Updating custom properties guide (#21252)
@ -7,11 +7,11 @@ slug: /developers/how-to-add-custom-property-to-an-entity
|
||||
|
||||
This tutorial will create a custom property for a `table` entity.
|
||||
|
||||
Let's assume in your organization you want to keep track of table size, so to achieve that you will be creating a custom property for table entities and then providing a value to that property for each table.
|
||||
A custom property can store a value for each entity, such as a table's size for each `table` entity.
|
||||
|
||||
### Step 1: Get the table entity type.
|
||||
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers.
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers. API requests can be sent with your [JWT token](https://docs.open-metadata.org/latest/sdk#bot-token)
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table
|
||||
@ -23,46 +23,47 @@ After the API call, you will get a response like this.
|
||||
{
|
||||
"id": "7f0b032f-cdc8-4573-abb0-22165dcd8e07",
|
||||
"name": "table",
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Now take the `id` from above response `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
Take note of the `id` that corresponds to `"name": "table"` from the above response... `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
|
||||
### Step 2: Get the field types with `category=field`
|
||||
|
||||
> From UI OpenMetadata only supports three field types
|
||||
> OpenMetadata's UI supports three field types:
|
||||
>
|
||||
> - String
|
||||
> - Markdown
|
||||
> - Integer
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field&limit=20
|
||||
```
|
||||
|
||||
This API will return all the available field types, for this tutorial grab the id of the `string` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
This API call will return available field types, grab the id of the `"name": "string"` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
|
||||
### Step 3: Make a PUT call to create the custom property for the table entity
|
||||
### Step 3: Make a call to create the custom property for the table entity
|
||||
|
||||
Create a payload using the field type id from the previous step and send a PUT request to the table id from the first request to create the custom property for tables.
|
||||
|
||||
```commandline
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07
|
||||
```
|
||||
|
||||
**Payload**
|
||||
|
||||
```json
|
||||
{
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07 \ #table id from step 1
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"description": "Property for tracking the tableSize.",
|
||||
"name": "tableSize",
|
||||
"propertyType": {
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e",
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e", #string field type id from step 2
|
||||
"type": "type"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Step 4: Get the custom properties for the table entity
|
||||
|
||||
Verify the previous step with the following request. Look in `"customProperties"` for our new property.
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=customProperties
|
||||
```
|
||||
@ -91,22 +92,24 @@ curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=custom
|
||||
}
|
||||
```
|
||||
|
||||
So for all table entities, we have `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
So for all table entities, we have a `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
|
||||
### Step 5: Add/Edit the value of the custom property for the entity.
|
||||
|
||||
All the custom properties value for the entity will be stored in the `extension` attribute.
|
||||
|
||||
Let’s assume you have `raw_product_catalog` table and its id is `208598fc-bd5f-458c-bf98-59224e1620c7` so our PATCH API request will be like this.
|
||||
Let’s assume you have `raw_product_catalog` table, find it's id with the API call below.
|
||||
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 -H 'Content-Type: application/json-patch+json'
|
||||
curl -X GET http://localhost:8585/api/v1/tables?limit=1000
|
||||
```
|
||||
|
||||
For the first time if we want to add the value to the custom property then the payload should be like this.
|
||||
If the table's id was `208598fc-bd5f-458c-bf98-59224e1620c7` and we are adding a value to the custom property for the first time, our PATCH API request will be like this.
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "add",
|
||||
"path": "/extension",
|
||||
@ -114,17 +117,32 @@ For the first time if we want to add the value to the custom property then the p
|
||||
"tableSize": "50GB"
|
||||
}
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When Changing the value of the custom property payload should be like this,
|
||||
When Changing the value of the custom property the request should be like this,
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "replace",
|
||||
"path": "/extension/tableSize",
|
||||
"value": "60GB"
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When finished your new custom property should be present and updated for the `raw_product_catalog` table
|
||||
|
||||
{% image src="/images/v1.6/developers/custom-properties.png" alt="Custom property added to table" caption=" " /%}
|
||||
|
||||
### Step 5: Delete custom property.
|
||||
|
||||
To finish this tutorial, delete the newly created custom property, `tableSize` by going to [**Settings >> Custom Properties >> Tables**](http://localhost:8585/settings/customProperties/tables).
|
||||
|
||||
Click **Delete Property**, then **Confirm**.
|
||||
|
||||
{% image src="/images/v1.6/developers/delete-custom-properties.png" alt="Delete custom property added to table" caption=" " /%}
|
||||
|
||||
|
@ -57,10 +57,18 @@ alt="Enter the Value for a Custom Property"
|
||||
caption="Enter the Value for a Custom Property"
|
||||
/%}
|
||||
|
||||
To delete a Custom Property for a particular asset, such as tables, navigate to **Settings >> Custom Properties >> Tables** and click on **Delete Property**
|
||||
|
||||
{% image
|
||||
src="/images/v1.6/how-to-guides/discovery/custom4.png"
|
||||
alt="Delete a Custom Property"
|
||||
caption="Delete a Custom Property"
|
||||
/%}
|
||||
|
||||
{%inlineCallout
|
||||
color="violet-70"
|
||||
bold="Overview of Announcements"
|
||||
icon="MdArrowForward"
|
||||
href="/how-to-guides/guide-for-data-users/announcements"%}
|
||||
Learn more about the announcements in OpenMetadata
|
||||
{%/inlineCallout%}
|
||||
{%/inlineCallout%}
|
||||
|
@ -7,11 +7,11 @@ slug: /developers/how-to-add-custom-property-to-an-entity
|
||||
|
||||
This tutorial will create a custom property for a `table` entity.
|
||||
|
||||
Let's assume in your organization you want to keep track of table size, so to achieve that you will be creating a custom property for table entities and then providing a value to that property for each table.
|
||||
A custom property can store a value for each entity, such as a table's size for each `table` entity.
|
||||
|
||||
### Step 1: Get the table entity type.
|
||||
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers.
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers. API requests can be sent with your [JWT token](https://docs.open-metadata.org/latest/sdk#bot-token)
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table
|
||||
@ -26,43 +26,43 @@ After the API call, you will get a response like this.
|
||||
}
|
||||
```
|
||||
|
||||
Now take the `id` from above response `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
Take note of the `id` that corresponds to `"name": "table"` from the above response... `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
|
||||
### Step 2: Get the field types with `category=field`
|
||||
|
||||
> From UI OpenMetadata only supports three field types
|
||||
> OpenMetadata's UI supports three field types:
|
||||
>
|
||||
> - String
|
||||
> - Markdown
|
||||
> - Integer
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field&limit=20
|
||||
```
|
||||
|
||||
This API will return all the available field types, for this tutorial grab the id of the `string` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
This API call will return available field types, grab the id of the `"name": "string"` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
|
||||
### Step 3: Make a PUT call to create the custom property for the table entity
|
||||
### Step 3: Make a call to create the custom property for the table entity
|
||||
|
||||
Create a payload using the field type id from the previous step and send a PUT request to the table id from the first request to create the custom property for tables.
|
||||
|
||||
```commandline
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07
|
||||
```
|
||||
|
||||
**Payload**
|
||||
|
||||
```json
|
||||
{
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07 \ #table id from step 1
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"description": "Property for tracking the tableSize.",
|
||||
"name": "tableSize",
|
||||
"propertyType": {
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e",
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e", #string field type id from step 2
|
||||
"type": "type"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Step 4: Get the custom properties for the table entity
|
||||
|
||||
Verify the previous step with the following request. Look in `"customProperties"` for our new property.
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=customProperties
|
||||
```
|
||||
@ -91,22 +91,24 @@ curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=custom
|
||||
}
|
||||
```
|
||||
|
||||
So for all table entities, we have `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
So for all table entities, we have a `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
|
||||
### Step 5: Add/Edit the value of the custom property for the entity.
|
||||
|
||||
All the custom properties value for the entity will be stored in the `extension` attribute.
|
||||
|
||||
Let’s assume you have `raw_product_catalog` table and its id is `208598fc-bd5f-458c-bf98-59224e1620c7` so our PATCH API request will be like this.
|
||||
Let’s assume you have `raw_product_catalog` table, find it's id with the API call below.
|
||||
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 -H 'Content-Type: application/json-patch+json'
|
||||
curl -X GET http://localhost:8585/api/v1/tables?limit=1000
|
||||
```
|
||||
|
||||
For the first time if we want to add the value to the custom property then the payload should be like this.
|
||||
If the table's id was `208598fc-bd5f-458c-bf98-59224e1620c7` and we are adding a value to the custom property for the first time, our PATCH API request will be like this.
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "add",
|
||||
"path": "/extension",
|
||||
@ -114,17 +116,32 @@ For the first time if we want to add the value to the custom property then the p
|
||||
"tableSize": "50GB"
|
||||
}
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When Changing the value of the custom property payload should be like this,
|
||||
When Changing the value of the custom property the request should be like this,
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "replace",
|
||||
"path": "/extension/tableSize",
|
||||
"value": "60GB"
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When finished your new custom property should be present and updated for the `raw_product_catalog` table
|
||||
|
||||
{% image src="/images/v1.7/developers/custom-properties.png" alt="Custom property added to table" caption=" " /%}
|
||||
|
||||
### Step 5: Delete custom property.
|
||||
|
||||
To finish this tutorial, delete the newly created custom property, `tableSize` by going to [**Settings >> Custom Properties >> Tables**](http://localhost:8585/settings/customProperties/tables).
|
||||
|
||||
Click **Delete Property**, then **Confirm**.
|
||||
|
||||
{% image src="/images/v1.7/developers/delete-custom-properties.png" alt="Delete custom property added to table" caption=" " /%}
|
||||
|
||||
|
@ -57,10 +57,19 @@ alt="Enter the Value for a Custom Property"
|
||||
caption="Enter the Value for a Custom Property"
|
||||
/%}
|
||||
|
||||
To delete a Custom Property for a particular asset, such as tables, navigate to **Settings >> Custom Properties >> Tables** and
|
||||
click on **Delete Property**
|
||||
|
||||
{% image
|
||||
src="/images/v1.7/how-to-guides/discovery/custom4.png"
|
||||
alt="Delete a Custom Property"
|
||||
caption="Delete a Custom Property"
|
||||
/%}
|
||||
|
||||
{%inlineCallout
|
||||
color="violet-70"
|
||||
bold="Overview of Announcements"
|
||||
icon="MdArrowForward"
|
||||
href="/how-to-guides/guide-for-data-users/announcements"%}
|
||||
Learn more about the announcements in OpenMetadata
|
||||
{%/inlineCallout%}
|
||||
{%/inlineCallout%}
|
||||
|
@ -7,11 +7,11 @@ slug: /developers/how-to-add-custom-property-to-an-entity
|
||||
|
||||
This tutorial will create a custom property for a `table` entity.
|
||||
|
||||
Let's assume in your organization you want to keep track of table size, so to achieve that you will be creating a custom property for table entities and then providing a value to that property for each table.
|
||||
A custom property can store a value for each entity, such as a table's size for each `table` entity.
|
||||
|
||||
### Step 1: Get the table entity type.
|
||||
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers.
|
||||
All OpenMetadata APIs are secured so make sure to add the proper headers. API requests can be sent with your [JWT token](https://docs.open-metadata.org/latest/sdk#bot-token)
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table
|
||||
@ -23,46 +23,47 @@ After the API call, you will get a response like this.
|
||||
{
|
||||
"id": "7f0b032f-cdc8-4573-abb0-22165dcd8e07",
|
||||
"name": "table",
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
Now take the `id` from above response `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
Take note of the `id` that corresponds to `"name": "table"` from the above response... `7f0b032f-cdc8-4573-abb0-22165dcd8e07`.
|
||||
|
||||
### Step 2: Get the field types with `category=field`
|
||||
|
||||
> From UI OpenMetadata only supports three field types
|
||||
> OpenMetadata's UI supports three field types:
|
||||
>
|
||||
> - String
|
||||
> - Markdown
|
||||
> - Integer
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types?category=field&limit=20
|
||||
```
|
||||
|
||||
This API will return all the available field types, for this tutorial grab the id of the `string` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
This API call will return available field types, grab the id of the `"name": "string"` field type. i.e `7531f881-c37c-4e39-9154-4bdf0802e05e`
|
||||
|
||||
### Step 3: Make a PUT call to create the custom property for the table entity
|
||||
### Step 3: Make a call to create the custom property for the table entity
|
||||
|
||||
Create a payload using the field type id from the previous step and send a PUT request to the table id from the first request to create the custom property for tables.
|
||||
|
||||
```commandline
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07
|
||||
```
|
||||
|
||||
**Payload**
|
||||
|
||||
```json
|
||||
{
|
||||
curl -X PUT http://localhost:8585/api/v1/metadata/types/7f0b032f-cdc8-4573-abb0-22165dcd8e07 \ #table id from step 1
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"description": "Property for tracking the tableSize.",
|
||||
"name": "tableSize",
|
||||
"propertyType": {
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e",
|
||||
"id": "7531f881-c37c-4e39-9154-4bdf0802e05e", #string field type id from step 2
|
||||
"type": "type"
|
||||
}
|
||||
}
|
||||
}'
|
||||
```
|
||||
|
||||
### Step 4: Get the custom properties for the table entity
|
||||
|
||||
Verify the previous step with the following request. Look in `"customProperties"` for our new property.
|
||||
|
||||
```commandline
|
||||
curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=customProperties
|
||||
```
|
||||
@ -91,22 +92,24 @@ curl -X GET http://localhost:8585/api/v1/metadata/types/name/table?fields=custom
|
||||
}
|
||||
```
|
||||
|
||||
So for all table entities, we have `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
So for all table entities, we have a `tableSize` custom property available now, let’s add the value for it for the `raw_product_catalog` table.
|
||||
|
||||
### Step 5: Add/Edit the value of the custom property for the entity.
|
||||
|
||||
All the custom properties value for the entity will be stored in the `extension` attribute.
|
||||
|
||||
Let’s assume you have `raw_product_catalog` table and its id is `208598fc-bd5f-458c-bf98-59224e1620c7` so our PATCH API request will be like this.
|
||||
Let’s assume you have `raw_product_catalog` table, find it's id with the API call below.
|
||||
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 -H 'Content-Type: application/json-patch+json'
|
||||
curl -X GET http://localhost:8585/api/v1/tables?limit=1000
|
||||
```
|
||||
|
||||
For the first time if we want to add the value to the custom property then the payload should be like this.
|
||||
If the table's id was `208598fc-bd5f-458c-bf98-59224e1620c7` and we are adding a value to the custom property for the first time, our PATCH API request will be like this.
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "add",
|
||||
"path": "/extension",
|
||||
@ -114,17 +117,32 @@ For the first time if we want to add the value to the custom property then the p
|
||||
"tableSize": "50GB"
|
||||
}
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When Changing the value of the custom property payload should be like this,
|
||||
When Changing the value of the custom property the request should be like this,
|
||||
|
||||
```json
|
||||
[
|
||||
```commandline
|
||||
curl -X PATCH http://localhost:8585/api/v1/tables/208598fc-bd5f-458c-bf98-59224e1620c7 \
|
||||
--header 'Content-Type: application/json-patch+json' \
|
||||
--data '[
|
||||
{
|
||||
"op": "replace",
|
||||
"path": "/extension/tableSize",
|
||||
"value": "60GB"
|
||||
}
|
||||
]
|
||||
]'
|
||||
```
|
||||
|
||||
When finished your new custom property should be present and updated for the `raw_product_catalog` table
|
||||
|
||||
{% image src="/images/v1.8/developers/custom-properties.png" alt="Custom property added to table" caption=" " /%}
|
||||
|
||||
### Step 5: Delete custom property.
|
||||
|
||||
To finish this tutorial, delete the newly created custom property, `tableSize` by going to [**Settings >> Custom Properties >> Tables**](http://localhost:8585/settings/customProperties/tables).
|
||||
|
||||
Click **Delete Property**, then **Confirm**.
|
||||
|
||||
{% image src="/images/v1.8/developers/delete-custom-properties.png" alt="Delete custom property added to table" caption=" " /%}
|
||||
|
||||
|
@ -57,10 +57,19 @@ alt="Enter the Value for a Custom Property"
|
||||
caption="Enter the Value for a Custom Property"
|
||||
/%}
|
||||
|
||||
To delete a Custom Property for a particular asset, such as tables, navigate to **Settings >> Custom Properties >> Tables** and
|
||||
click on **Delete Property**
|
||||
|
||||
{% image
|
||||
src="/images/v1.8/how-to-guides/discovery/custom4.png"
|
||||
alt="Delete a Custom Property"
|
||||
caption="Delete a Custom Property"
|
||||
/%}
|
||||
|
||||
{%inlineCallout
|
||||
color="violet-70"
|
||||
bold="Overview of Announcements"
|
||||
icon="MdArrowForward"
|
||||
href="/how-to-guides/guide-for-data-users/announcements"%}
|
||||
Learn more about the announcements in OpenMetadata
|
||||
{%/inlineCallout%}
|
||||
{%/inlineCallout%}
|
||||
|
BIN
openmetadata-docs/images/v1.6/developers/custom-properties.png
Normal file
After Width: | Height: | Size: 215 KiB |
After Width: | Height: | Size: 195 KiB |
After Width: | Height: | Size: 394 KiB |
BIN
openmetadata-docs/images/v1.7/developers/custom-properties.png
Normal file
After Width: | Height: | Size: 215 KiB |
After Width: | Height: | Size: 195 KiB |
After Width: | Height: | Size: 394 KiB |
BIN
openmetadata-docs/images/v1.8/developers/custom-properties.png
Normal file
After Width: | Height: | Size: 215 KiB |
After Width: | Height: | Size: 195 KiB |
After Width: | Height: | Size: 394 KiB |