/
PowerShell Examples to write to Swarm
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
, multiple selections available,
Related content
TechNote 2015002: Using cURL with Swarm
TechNote 2015002: Using cURL with Swarm
More like this
Formatting SCSP Commands
Formatting SCSP Commands
More like this
Using cURL Commands with Swarm Storage and Gateway
Using cURL Commands with Swarm Storage and Gateway
More like this
Getting started with Requests and SCSP Python3
Getting started with Requests and SCSP Python3
More like this
Example "curl" commands for uploading files to Swarm Content Gateway
Example "curl" commands for uploading files to Swarm Content Gateway
More like this
SCSP SEND - Legacy
SCSP SEND - Legacy
More like this
© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.