用curl 进行 swift操作
2013-12-27 16:47
274 查看
# create 101 containers
for((i=100; i<=200;i++)) do swift post c${i}; done
#auth
curl -d '{"auth": {"tenantName": "test", "passwordCredentials":{"username": "tester", "password": "testing"}}}' -H "Content-type: application/json" http://192.168.26.69:5000/v2.0/tokens
export STORAGE_URL=http://192.168.26.69:8080/v1/AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989
export TOKEN_ID=61262d00da1d4370b8b2b80355f2b5cb
#LIST CONTAINERS The system returns a maximum of 10,000 container names per request.
#Controlling a Large List of Containers,-v to show detail data.
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}
#LIST CONTAINERS,only show the first Nth container
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}?limit=10
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}?limit=10&marker=c1"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}?limit=10&marker=c1&end_marker=c105"
### ACCOUNT METADATA
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}"
#CREATE ACCOUNT METADATA
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book: MobyDick" "${STORAGE_URL}"
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}"
#MODIFY METADATA
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book: zzDick" "${STORAGE_URL}"
#Delete Account Metadata
#METHOD 1,SET NULL VALUE
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book:" "${STORAGE_URL}"
# older versions of cURL, does not support empty headers
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Remove-Account-Meta-Book:anyvalue" "${STORAGE_URL}"
#STORAGE CONTAINER SERVICE
#list objects in container. The system returns a maximum of 10,000 object names per request
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1?format=xml
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1?format=json
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?limit=10&marker=swift/conf/ntp.sh&end_marker=swift/conf/restartProxy.sh"
#Pseudo-Hierarchical Folders and Directories
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/conf/&delimiter=/"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/bin/&delimiter=/"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/&delimiter=/"
#Create Container
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
# The custom metadata is assigned to a container via HTTP headers identified with the X-Container-Meta- prefix. Can not
#curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H " X-Container-Meta-Book: MobyDick" "${STORAGE_URL}/testContainer2"
# Get Container Metadata
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
#Create or Update Container Metadata.They must, however, take the format X-Container-Meta-.
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Container-Meta-Book: MobyDick" "${STORAGE_URL}/testContainer"
# Delete Container Metadata
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Remove-Container-Meta-Book: anyvalue" "${STORAGE_URL}/testContainer"
#Delete Container
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
#Create Static Website
swift post -r '.r:*' myfiles1
###Storage Object Services
#An object represents the data and metadata for the files stored in the system. Through the ReST interface, you can include metadata for an object by adding custom HTTP headers to the request and the data payload as the request body. Objects cannot exceed 5
GB and must have names that do not exceed 1024 bytes after URL encoding. However, you can segment a large object into 5 GB segments and upload the segments. Then, you can download the segments as a single concatenated object. You can use HTTP requests to work
with the segments and manifests directly.
#You can ensure end-to-end data integrity by including an MD5 checksum of your object's data in the ETag header. You are not required to include the ETag header, but it is recommended to ensure that the storage system successfully stored your object's content.
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt1" -T cookie.txt
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/testContainer
#get object
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/testContainer/cookie.txt1
#Get object by range
curl -H "X-Auth-Token:${TOKEN_ID}" -H "Range:bytes=10-100" ${STORAGE_URL}/testContainer/cookie.txt1
#Get object using multiple range
curl -H "X-Auth-Token:${TOKEN_ID}" -H "Range:bytes=10-100,20-120" ${STORAGE_URL}/testContainer/cookie.txt1
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Object-Meta-PIN:1234" "${STORAGE_URL}/testContainer/addDisk.sh" -T addDisk.sh
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt1"
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "Transfer-Encoding:chunked" -H "X-Object-Meta-PIN:1234" "${STORAGE_URL}/testContainer/OpenOffice.tar.gz" -T ~/software/Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gz
##Create Large Objects
#If you use the COPY operation using a manifest object as the source, the new object is a "normal" object (not segmented). If the total size of the source segment objects exceeds 5 GB, the COPY operation fails. However, as explained later, you can make a duplicate
of the manifest object. This new object can be larger than 5 GB.
#split file
split --bytes=10m tpch-dbgen.tar.gz tpch-dbgen/tpch-dbgen-part
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partaa" -T tpch-dbgen/tpch-dbgen-partaa
#Etag: 6d74b166df2b7d16938a2411d6657d75 Content-Length: 10485760
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partab" -T tpch-dbgen/tpch-dbgen-partab
#< Etag: e463bf72a0ceaf4546e4078513097a24 Content-Length: 10485760
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partac" -T tpch-dbgen/tpch-dbgen-partac
#> Content-Length: 2695694 < Etag: d09f5411a63bdc37496a315e2de9bb87
#Dynamic Manifest
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Object-Manifest:testContainer/tpch-dbgen/tpch-dbgen-part" -H "Content-Length: 0" "${STORAGE_URL}/testContainer/tpch-dbgen.tar.gz"
#mdir temp
#cd temp
swift download testContainer tpch-dbgen.tar.gz
curl -v -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partad" -T ../tpch-dbgen/tpch-dbgen-partaa
#Etag: 6d74b166df2b7d16938a2411d6657d75 Content-Length: 10485760
swift stat testContainer tpch-dbgen.tar.gz
Account: AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989
Container: testContainer
Object: tpch-dbgen.tar.gz
Content Type: application/x-tar
Content Length: 34152974
Last Modified: Fri, 27 Dec 2013 02:38:45 GMT
ETag: "f53d39a009217117400e583845d95b9d"
Manifest: testContainer/tpch-dbgen/tpch-dbgen-part
Accept-Ranges: bytes
X-Timestamp: 1388108777.24155
swift delete testContainer tpch-dbgen/tpch-dbgen-partad
#static large file
cat > manifest.json << EOF
[
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partaa","etag": "6d74b166df2b7d16938a2411d6657d75","size_bytes": 10485760},
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partab","etag": "e463bf72a0ceaf4546e4078513097a24","size_bytes": 10485760},
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partac","etag": "d09f5411a63bdc37496a315e2de9bb87","size_bytes": 2695694}
]
EOF
swift delete testContainer tpch-dbgen.tar.gz
curl -X PUT -i -H "X-Auth-Token:${TOKEN_ID}" -H "X-static-Large-Object: True" -T ./manifest.json "${STORAGE_URL}/testContainer/tpch-dbgen.tar.gz?multipart-manifest=put"
#Object DeleteAt
#curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Delete-After: 100" -H "Content-Length: 316" "${STORAGE_URL}/testContainer/cookie.txt"
curl -v -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Delete-After: 100" "${STORAGE_URL}/testContainer/install.sh" -T install.sh
--swift list testContainer ,还是能看到文件,只是下载不了.
#create container for older version objects
vim container-server.conf
[app:container-server]
use = egg:swift#container
allow_versions = true
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
#create new container for current version objects.
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Versions_Location: olderContainer" "${STORAGE_URL}/currContainer"
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer"
curl -X PUT -i -H "X-Auth-Token:${TOKEN_ID}" -T ./cookie.txt "${STORAGE_URL}/currContainer/cookie.txt"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer/cookie.txt"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
# Copy Object
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "Content-Length: 0" -H "X-Copy-From:/currContainer/cookie.txt" "${STORAGE_URL}/testContainer/cookie.txt2"
#Delete Object
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt"
#Get Object MetaData
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/install.sh"
#Update Object Metadata
curl -X POST -d '' -H "X-Object-Meta-updater: houzhizhen" -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/install.sh"
for((i=100; i<=200;i++)) do swift post c${i}; done
#auth
curl -d '{"auth": {"tenantName": "test", "passwordCredentials":{"username": "tester", "password": "testing"}}}' -H "Content-type: application/json" http://192.168.26.69:5000/v2.0/tokens
export STORAGE_URL=http://192.168.26.69:8080/v1/AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989
export TOKEN_ID=61262d00da1d4370b8b2b80355f2b5cb
#LIST CONTAINERS The system returns a maximum of 10,000 container names per request.
#Controlling a Large List of Containers,-v to show detail data.
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}
#LIST CONTAINERS,only show the first Nth container
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}?limit=10
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}?limit=10&marker=c1"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}?limit=10&marker=c1&end_marker=c105"
### ACCOUNT METADATA
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}"
#CREATE ACCOUNT METADATA
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book: MobyDick" "${STORAGE_URL}"
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}"
#MODIFY METADATA
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book: zzDick" "${STORAGE_URL}"
#Delete Account Metadata
#METHOD 1,SET NULL VALUE
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Account-Meta-Book:" "${STORAGE_URL}"
# older versions of cURL, does not support empty headers
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Remove-Account-Meta-Book:anyvalue" "${STORAGE_URL}"
#STORAGE CONTAINER SERVICE
#list objects in container. The system returns a maximum of 10,000 object names per request
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1?format=xml
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/myfiles1?format=json
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?limit=10&marker=swift/conf/ntp.sh&end_marker=swift/conf/restartProxy.sh"
#Pseudo-Hierarchical Folders and Directories
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/conf/&delimiter=/"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/bin/&delimiter=/"
curl -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/myfiles1?prefix=swift/&delimiter=/"
#Create Container
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
# The custom metadata is assigned to a container via HTTP headers identified with the X-Container-Meta- prefix. Can not
#curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H " X-Container-Meta-Book: MobyDick" "${STORAGE_URL}/testContainer2"
# Get Container Metadata
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
#Create or Update Container Metadata.They must, however, take the format X-Container-Meta-.
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Container-Meta-Book: MobyDick" "${STORAGE_URL}/testContainer"
# Delete Container Metadata
curl -d '' -H "X-Auth-Token:${TOKEN_ID}" -H "X-Remove-Container-Meta-Book: anyvalue" "${STORAGE_URL}/testContainer"
#Delete Container
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer"
#Create Static Website
swift post -r '.r:*' myfiles1
###Storage Object Services
#An object represents the data and metadata for the files stored in the system. Through the ReST interface, you can include metadata for an object by adding custom HTTP headers to the request and the data payload as the request body. Objects cannot exceed 5
GB and must have names that do not exceed 1024 bytes after URL encoding. However, you can segment a large object into 5 GB segments and upload the segments. Then, you can download the segments as a single concatenated object. You can use HTTP requests to work
with the segments and manifests directly.
#You can ensure end-to-end data integrity by including an MD5 checksum of your object's data in the ETag header. You are not required to include the ETag header, but it is recommended to ensure that the storage system successfully stored your object's content.
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt1" -T cookie.txt
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/testContainer
#get object
curl -H "X-Auth-Token:${TOKEN_ID}" ${STORAGE_URL}/testContainer/cookie.txt1
#Get object by range
curl -H "X-Auth-Token:${TOKEN_ID}" -H "Range:bytes=10-100" ${STORAGE_URL}/testContainer/cookie.txt1
#Get object using multiple range
curl -H "X-Auth-Token:${TOKEN_ID}" -H "Range:bytes=10-100,20-120" ${STORAGE_URL}/testContainer/cookie.txt1
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Object-Meta-PIN:1234" "${STORAGE_URL}/testContainer/addDisk.sh" -T addDisk.sh
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt1"
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "Transfer-Encoding:chunked" -H "X-Object-Meta-PIN:1234" "${STORAGE_URL}/testContainer/OpenOffice.tar.gz" -T ~/software/Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gz
##Create Large Objects
#If you use the COPY operation using a manifest object as the source, the new object is a "normal" object (not segmented). If the total size of the source segment objects exceeds 5 GB, the COPY operation fails. However, as explained later, you can make a duplicate
of the manifest object. This new object can be larger than 5 GB.
#split file
split --bytes=10m tpch-dbgen.tar.gz tpch-dbgen/tpch-dbgen-part
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partaa" -T tpch-dbgen/tpch-dbgen-partaa
#Etag: 6d74b166df2b7d16938a2411d6657d75 Content-Length: 10485760
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partab" -T tpch-dbgen/tpch-dbgen-partab
#< Etag: e463bf72a0ceaf4546e4078513097a24 Content-Length: 10485760
curl -i -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partac" -T tpch-dbgen/tpch-dbgen-partac
#> Content-Length: 2695694 < Etag: d09f5411a63bdc37496a315e2de9bb87
#Dynamic Manifest
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Object-Manifest:testContainer/tpch-dbgen/tpch-dbgen-part" -H "Content-Length: 0" "${STORAGE_URL}/testContainer/tpch-dbgen.tar.gz"
#mdir temp
#cd temp
swift download testContainer tpch-dbgen.tar.gz
curl -v -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/tpch-dbgen/tpch-dbgen-partad" -T ../tpch-dbgen/tpch-dbgen-partaa
#Etag: 6d74b166df2b7d16938a2411d6657d75 Content-Length: 10485760
swift stat testContainer tpch-dbgen.tar.gz
Account: AUTH_3e2a0a2df18b4f86a52e2dc6ad3cb989
Container: testContainer
Object: tpch-dbgen.tar.gz
Content Type: application/x-tar
Content Length: 34152974
Last Modified: Fri, 27 Dec 2013 02:38:45 GMT
ETag: "f53d39a009217117400e583845d95b9d"
Manifest: testContainer/tpch-dbgen/tpch-dbgen-part
Accept-Ranges: bytes
X-Timestamp: 1388108777.24155
swift delete testContainer tpch-dbgen/tpch-dbgen-partad
#static large file
cat > manifest.json << EOF
[
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partaa","etag": "6d74b166df2b7d16938a2411d6657d75","size_bytes": 10485760},
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partab","etag": "e463bf72a0ceaf4546e4078513097a24","size_bytes": 10485760},
{"path": "/testContainer/tpch-dbgen/tpch-dbgen-partac","etag": "d09f5411a63bdc37496a315e2de9bb87","size_bytes": 2695694}
]
EOF
swift delete testContainer tpch-dbgen.tar.gz
curl -X PUT -i -H "X-Auth-Token:${TOKEN_ID}" -H "X-static-Large-Object: True" -T ./manifest.json "${STORAGE_URL}/testContainer/tpch-dbgen.tar.gz?multipart-manifest=put"
#Object DeleteAt
#curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Delete-After: 100" -H "Content-Length: 316" "${STORAGE_URL}/testContainer/cookie.txt"
curl -v -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Delete-After: 100" "${STORAGE_URL}/testContainer/install.sh" -T install.sh
--swift list testContainer ,还是能看到文件,只是下载不了.
#create container for older version objects
vim container-server.conf
[app:container-server]
use = egg:swift#container
allow_versions = true
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
#create new container for current version objects.
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "X-Versions_Location: olderContainer" "${STORAGE_URL}/currContainer"
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer"
curl -X PUT -i -H "X-Auth-Token:${TOKEN_ID}" -T ./cookie.txt "${STORAGE_URL}/currContainer/cookie.txt"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer/cookie.txt"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/currContainer"
curl -i -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/olderContainer"
# Copy Object
curl -X PUT -H "X-Auth-Token:${TOKEN_ID}" -H "Content-Length: 0" -H "X-Copy-From:/currContainer/cookie.txt" "${STORAGE_URL}/testContainer/cookie.txt2"
#Delete Object
curl -X DELETE -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/cookie.txt"
#Get Object MetaData
curl --head -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/install.sh"
#Update Object Metadata
curl -X POST -d '' -H "X-Object-Meta-updater: houzhizhen" -H "X-Auth-Token:${TOKEN_ID}" "${STORAGE_URL}/testContainer/install.sh"
相关文章推荐
- Elasticsearch-curl进行简单操作
- 使用curl进行s3服务操作
- iOS- Swift:使用FMDB进行数据库操作(线程安全:增删改查)
- swift3.0中的自定义下拉刷新和模拟延时操作(同时和OC中的进行对比)
- 利用web的curl命令进行HDFS操作
- 使用curl进行s3服务操作
- Swift学习——使用if和switch来进行条件操作,使用for,while,和do-while来进行循环(三)
- Swift操作Quartz 2D进行简单的绘图与坐标变换的教程
- Swift学习——使用if和switch来进行条件操作,使用for,while,和do-while来进行循环(三)
- 使用cURL操作Swift
- 使用curl操作openstack swift
- php中利用curl模拟get请求时,数据包含空格会进行隔断操作,只得到部分数据
- 在EditText文本框中进行文本输入操作
- document.selection 的作用:获取选中然后进行相关操作
- 【旧代码整理】分享带cookie的PHP Curl操作class,再简单说说curl配合socks5代理、IP变身
- 类库------对一些字符串进行操作的类1.判断输入是否数字2.截取字符串函数3.过滤输入信息4.生成随机数5.生成验证码图片6.获取汉字第一个拼音7.半角转全角8.全角转半角
- 怎样在网页中打开本地exe文件,并进行传参操作
- 1、CRM2011编程实战——清空指定页签下面的所有选项,并对页签下面的指定控件进行操作
- 使用Java Api 对HBase进行简单操作
- java调用com对第三方软件进行操作