AZure storage & soluto
AZURE Services
Cloud Services
Websites
VMs
Storage
Cache
HdInsight
ServiceBus
Management
Automation
Analytics
Azure storage - accounts
Different storage accounts for different environment.
Most QA environment use single storage account
for each environment.
for each environment.
Azure storage - accounts
Production Environments have several accounts
- Raw
- Analytics
- RawExt
- Web
- HDInsight
- ....
Azureview reads data from all accounts related to enviornment
Blob storage
- Distributed FS in the cloud
- Useful for storing unstructured data, test/binary
- Support for Page Blobs & Block blobs
BLOB storage - STRUCTURE
Account -> Container -> blob uri
Example:
Container:AndroidAppsReportLatestByClient
Uri: 0a2d-2abced-50a231-abcd/00-220410/31a-fabc.json
It's possible to list blob by Uri prefix, giving us
a folders like functionality.
a folders like functionality.
BLOB STORAGE - REST API
- Get blob
- GET https://myaccount.blob.core.windows.net/mycontainer/myblob
- Put blob
- PUT https://myaccount.blob.core.windows.net/mycontainer/myblob
- Delete blob
- DELETE https://myaccount.blob.core.windows.net/mycontainer/myblob
- List blobs
- GET https://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list
- params - prefix, marker
- Put block/list block/properties/acl and more
- https://msdn.microsoft.com/library/azure/dd135733.aspx
soluto Usage - API
IBlobContext, IBlobContext<T>
- List[Async]
- GetOne[Async]
- GetOneAsByteArray
- GetOneAsString
- Create[Async]
- Delete[Async]
- Append
- Prepend
Full documentation at IBlobContext.cs
ILatestByClientContext - used for getting latest by client reports
SOLUTO USAGE
Storing telemetry reports
Storing hive results
Storing raw data
Use for message passing (along with queue)
Use for writing to Hdinsight (before hbase)
Static content (web/images)
Conversation Messages (html)
Table storage
- Used for flat structured data
- Data is schema free
- Each table row has
- PartitionKey
- RowKey
- Set of properties - fields + values
- Tables Rows are mapped to CLR Entities
Table storage - structure
Account -> Table -> Row
Row Structure
PartitionKey - string value for partitioning the data
RowKey - string value for indexing and ordering the data
Timestamp - Property the specify the time the row was updated (or created)
PK+ RK = Unique identifier for the row/entity
Cells/Properties - Set of fields and values for the row/entity
Table storage - rest api
https://msdn.microsoft.com/en-us/library/dd179423.aspx
TABLE STORAGE - Soluto
ITableContext<T> interface
- GetOne(query) - get single entity
- Get (query)- retrieve a list of entities
- UpdateOne(query, update)- update an entity
- MergeOrInsert(query, entityInitalizer, update)- update an entity
- Delete(query) - delete entity/ies
- Insert(entity) - insert new entity
Check ITableContext.cs
Table storage - soluto usage
User properties
Machine properties
Analytics
Configurations
Conversation Messages
Device Activity
Mobile Apps definition
And more...
check azureview - tables
https://prodenv6azureview.mysoluto.com/
Queue storage
Used for passing messages between roles
IQueueContext.cs
Factory
Build Contexts based on reflection:
EntityMap attribute
example: [EntityMap(StorageType.Table, "Web", "Machines")]
AZure storage & soluto
By yshayy
AZure storage & soluto
- 1,266