PowerShell Examples to write to Swarm
PowerShell can be used to write and query objects on swarm clusters using the InvokeWebRequest
method and InvokeRestMethod
.
PowerShell should be installed on all Windows Server distributions since Windows Server 2008 R2.
Head a domain
The basic command is below but as you can see the response is a little garbled.
Invoke-WebRequest -Uri http://tony.demo.sales.local -Credential csadmin -Method Head PS C:\Users\Administrator> Invoke-WebRequest -Uri http://tony.demo.sales.local -Credential csadmin -Method Head StatusCode : 200 StatusDescription : OK Content : RawContent : HTTP/1.1 200 OK Gateway-Request-Id: EDEA5D325623D3EC Gateway-Protocol: scsp Age: 0 Allow: HEAD, HOLD, GET, SEND, PUT, RELEASE, POST, COPY, GEN, APPEND, DELETE Castor-System-TotalGBAvailable: 7316... Forms : {} Headers : {[Gateway-Request-Id, EDEA5D325623D3EC], [Gateway-Protocol, scsp], [Age, 0], [Allow, HEAD, HOLD, GET, SEND, PUT, RELEASE, POST, COPY, GEN, APPEND, DELETE]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 0
Here’s how we get the raw content of the head. The main change is to put the actual web request in brackets and add the .RawContent property.
PS C:\Users\Administrator> (Invoke-WebRequest -Uri http://tony.demo.sales.local -Credential csadmin -Method Head).RawContent HTTP/1.1 200 OK Gateway-Request-Id: F25E93AD9740303A Gateway-Protocol: scsp Age: 0 Allow: HEAD, HOLD, GET, SEND, PUT, RELEASE, POST, COPY, GEN, APPEND, DELETE Castor-System-TotalGBAvailable: 7316 Castor-System-TotalGBCapacity: 11637 Castor-System-Cluster: demo.sales.local Castor-System-EnforceTenancy: True Policy-Versioning-Evaluated: enabled Policy-Versioning-Evaluated-Constrained: no Policy-ECMinStreamSize-Evaluated: 1000000 Policy-ECMinStreamSize-Evaluated-Constrained: no Policy-ECEncoding-Evaluated: 4:2 Policy-ECEncoding-Evaluated-Constrained: no Policy-Replicas-Evaluated: min:2 max:16 default:2 Policy-Replicas-Evaluated-Constrained: no Castor-System-LicenseSerialNumber: 20150901073350-27708 Castor-System-LicenseCapacityTB: 20.0 Castor-System-LicenseLogicalObjects: 0 Castor-System-LicenseHealthReportingRequired: False Node-State: ok Content-Length: 2277 Cache-Control: no-cache Content-Type: text/html;charset=UTF-8 Date: Tue, 07 Nov 2017 11:21:39 GMT Expires: Mon, 06 Nov 2017 07:34:59 GMT ETag: "a5aebae0e6524edcc9807d690e423cf2" Server: CAStor Cluster/9.3.2 Via: 1.1 tony.demo.sales.local (Cloud Gateway SCSP/5.2.2) PS C:\Users\Administrator>
Writing a file to a named object in a bucket
PS C:\Users\Administrator> Invoke-WebRequest -Uri http://tony.demo.sales.local/emptybucket/test.txt -Credential csadmin -InFile C:\Users\Administrator\Desktop\results.txt -Method Post StatusCode : 201 StatusDescription : Created Content : <html><body>New stream created</body></html> RawContent : HTTP/1.1 201 Created Gateway-Request-Id: 1FD002262BA6F902 Gateway-Protocol: scsp Content-MD5: QxBqF/BQrSn7HncxXmOfAw== Volume: 26fb3fcef16bb0e8b6d7979b149900b0,d5644e8ab59653c676d9653ccf6fe813 En... Forms : {} Headers : {[Gateway-Request-Id, 1FD002262BA6F902], [Gateway-Protocol, scsp], [Content-MD5, QxBqF/BQrSn7HncxXmOfAw==], [Volume, 26fb3fcef16bb0e8b6d7979b149900b0,d5644e8ab59653c676d9653ccf6fe813]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 46
Heading the file to get the properties
PS C:\Users\Administrator> (Invoke-WebRequest -Uri http://tony.demo.sales.local/emptybucket/test.txt -Credential csadmin -Method Head).RawContent HTTP/1.1 200 OK Gateway-Request-Id: 72633F2886C7EB4F Gateway-Protocol: scsp Castor-System-CID: d735b15cc012fd455b361bbd0b9cd865 Castor-System-Cluster: demo.sales.local Castor-System-Created: Tue, 07 Nov 2017 11:08:26 GMT Castor-System-Name: test.txt Castor-System-Version: 1510052906.155 X-Last-Modified-By-Meta: csadmin@ X-Owner-Meta: csadmin Castor-System-Path: /tony.demo.sales.local/emptybucket/test.txt Castor-System-Domain: tony.demo.sales.local Volume: d5644e8ab59653c676d9653ccf6fe813 Content-MD5: QxBqF/BQrSn7HncxXmOfAw== Content-Length: 12248 Content-Type: application/x-www-form-urlencoded Date: Tue, 07 Nov 2017 11:32:40 GMT ETag: "af6b99f9b97fefdd791ec48c1b795f69" Last-Modified: Tue, 07 Nov 2017 11:08:26 GMT Server: CAStor Cluster/9.3.2 Via: 1.1 tony.demo.sales.local (Cloud Gateway SCSP/5.2.2)
Write a file with custom metadata header info
PS C:\Users\Administrator> Invoke-WebRequest -Uri http://tony.demo.sales.local/emptybucket/test2.txt -Credential csadmin -Headers @{"x-color-meta"="blue, green"} -InFile C:\Users\Administrator\Desktop\results.txt -Method Post StatusCode : 201 StatusDescription : Created Content : <html><body>New stream created</body></html> RawContent : HTTP/1.1 201 Created Gateway-Request-Id: 395B45C356E83051 Gateway-Protocol: scsp Content-MD5: QxBqF/BQrSn7HncxXmOfAw== Volume: fab7f8e5f10012f788f6cecb9f0a7212,c7be8d4e94b0572e91527f603a957ba3 En... Forms : {} Headers : {[Gateway-Request-Id, 395B45C356E83051], [Gateway-Protocol, scsp], [Content-MD5, QxBqF/BQrSn7HncxXmOfAw==], [Volume, fab7f8e5f10012f788f6cecb9f0a7212,c7be8d4e94b0572e91527f603a957ba3]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 46
Head to see our color metadata
PS C:\Users\Administrator> (Invoke-WebRequest -Uri http://tony.demo.sales.local/emptybucket/test2.txt -Credential csadmin -Method Head).RawContent HTTP/1.1 200 OK Gateway-Request-Id: DBC621E4EA2CC9C7 Gateway-Protocol: scsp Castor-System-CID: d735b15cc012fd455b361bbd0b9cd865 Castor-System-Cluster: demo.sales.local Castor-System-Created: Tue, 07 Nov 2017 11:59:31 GMT Castor-System-Name: test2.txt Castor-System-Version: 1510055971.106 X-Last-Modified-By-Meta: csadmin@ X-Owner-Meta: csadmin x-color-meta: blue, green Castor-System-Path: /tony.demo.sales.local/emptybucket/test2.txt Castor-System-Domain: tony.demo.sales.local Volume: c7be8d4e94b0572e91527f603a957ba3 Content-MD5: QxBqF/BQrSn7HncxXmOfAw== Content-Length: 12248 Content-Type: application/x-www-form-urlencoded Date: Tue, 07 Nov 2017 12:00:25 GMT ETag: "57e6fcb1e02245365f8b66796f8233f1" Last-Modified: Tue, 07 Nov 2017 11:59:31 GMT Server: CAStor Cluster/9.3.2 Via: 1.1 tony.demo.sales.local (Cloud Gateway SCSP/5.2.2)
Create a domain
PS C:\Users\Administrator> Invoke-WebRequest -Uri http://172.30.2.246/?domain=newdomain.example.com -Credential csadmin -ContentType application/castorcontext -Method Post StatusCode : 201 StatusDescription : Created Content : <html><body>New stream created</body></html> RawContent : HTTP/1.1 201 Created Gateway-Request-Id: 009BE8ED1E9C3FE9 Gateway-Protocol: scsp Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg== Volume: fab7f8e5f10012f788f6cecb9f0a7212,44f685261e7c738e47d0286c600f6aa4 En... Forms : {} Headers : {[Gateway-Request-Id, 009BE8ED1E9C3FE9], [Gateway-Protocol, scsp], [Content-MD5, 1B2M2Y8AsgTpgAmY7PhCfg==], [Volume, fab7f8e5f10012f788f6cecb9f0a7212,44f685261e7c738e47d0286c600f6aa4]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 46
Create a bucket
PS C:\Users\Administrator> Invoke-WebRequest -Uri http://172.30.2.246/newbucket?domain=newdomain.example.com -Credential csadmin -ContentType application/castorcontext -Method Post StatusCode : 201 StatusDescription : Created Content : <html><body>New stream created</body></html> RawContent : HTTP/1.1 201 Created Gateway-Request-Id: 289B9614BC6E650A Gateway-Protocol: scsp Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg== Volume: 239ce9da91a90f77f5b8a7a838523945,c71439cffe50256aebea0c7ff0200bd8 En... Forms : {} Headers : {[Gateway-Request-Id, 289B9614BC6E650A], [Gateway-Protocol, scsp], [Content-MD5, 1B2M2Y8AsgTpgAmY7PhCfg==], [Volume, 239ce9da91a90f77f5b8a7a838523945,c71439cffe50256aebea0c7ff0200bd8]...} Images : {} InputFields : {} Links : {} ParsedHtml : System.__ComObject RawContentLength : 46
Search for a bucket in a domain
PS C:\Users\Administrator> Invoke-RestMethod -Uri http://172.30.2.246/?format=json"&"domain=newdomain.example.com -Credential csadmin -Method Get last_modified : 2017-11-07T12:33:07.632400Z hash : 02616848f4a99f59fbd668068226d867 content_type : application/castorcontext name : newbucket bytes : 0
© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.