New in version 2014.1.0.
Azure是Microsoft提供的云服务,提供虚拟机、SQL服务、媒体服务等。 本文档介绍了如何使用Salt Cloud在Azure上创建使用Salt管理的虚拟机。
有关Azure的更多信息,请访问 http://www.windowsazure.com/。
- Microsoft Azure SDK for Python >= 1.0.2
- The python-requests library, for Python < 2.7.9.
- A Microsoft Azure account
- OpenSSL (to generate the certificates)
- Salt
在 /etc/salt/cloud.providers.d/azure.conf
文件中设置云平台服务端provider的配置信息:
# Note: This example is for /etc/salt/cloud.providers.d/azure.conf
my-azure-config:
driver: azure
subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
certificate_path: /etc/salt/azure.pem
# Set up the location of the salt master
#
minion:
master: saltmaster.example.com
# Optional
management_host: management.core.windows.net
所使用的证书必须由用户生成。 OpenSSL可用于创建管理证书。 需要两个证书:一个.cer文件(上载到Azure)和一个.pem文件,该文件存储在本地。
要创建.pem文件,请执行以下命令:
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/salt/azure.pem -out /etc/salt/azure.pem
创建 .cer 文件, 请执行以下命令:
openssl x509 -inform pem -in /etc/salt/azure.pem -outform der -out /etc/salt/azure.cer
创建这些文件之后,.cer文件将需要通过管理门户的“设置”部分内“管理证书”选项卡的“上传管理证书”操作上载到Azure。
可选地,如果需要设置区域,则可以配置management_host
。
注意: Changed in version 2015.8.0.
云服务商provider定义中的
provider
参数已重命名为driver
。 进行此更改是为了避免与云profile配置文件定义中使用的provider
参数混淆。 现在,云服务商provider的定义是使用driver
参数来引用提供连接云平台功能的Salt云模块,而云主机profile配置文件则继续使用provider
参数来引用您定义的provider配置。
在 /etc/salt/cloud.profiles
中设置profile文件的初始化配置:
azure-ubuntu:
provider: my-azure-config
image: 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131003-en-us-30GB'
size: Small
location: 'East US'
ssh_username: azureuser
ssh_password: verybadpass
slot: production
media_link: 'http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds'
virtual_network_name: azure-virtual-network
subnet_name: azure-subnet
这些选项将在下面更详细地描述。 配置完成后,可以使用salt命令和profile文件创建云主机:
salt-cloud -p azure-ubuntu newinstance
这将在Azure中创建一个名为newinstance
的salt minion实例。 如果命令是在salt master主机上执行的,则其Salt key密钥将自动获得master服务的签名。
创建实例并安装Salt-minion之后,即可使用Salt验证到该实例的连接性:
salt newinstance test.version
当前,以下配置选项对Azure是可用的。
provider
在/etc/salt/cloud.providers.d/azure.conf文件中指定云平台服务商provider。
image
用于创建VM的镜像的名称。 可以使用以下命令查看可用镜像:
salt-cloud --list-images my-azure-config
size
用于创建VM的配置规格大小的名称。 可以使用以下命令查看可用的sizes:
salt-cloud --list-sizes my-azure-config
location
用于创建VM的位置的名称。可以使用以下命令查看可用位置:
salt-cloud --list-locations my-azure-config
affinity_group
要在其中创建VM的 affinity group 组的名称。可以指定location或affinity_group,但不能同时指定。 请参阅下面的Affinity Groups。
ssh_username
用于登录新创建的VM来安装Salt的用户账号。
sh_password
用于登录新创建的VM以安装Salt的账号密码。
slot
托管服务器部署到的环境。 有效值是staging或production。 设置为production时,新VM的结果URL将为<vm_name>.cloudapp.net。 设置为staging时,结果URL将包含一个生成的哈希值。
media_link
这是将存储此VM使用的磁盘的容器的URL。 当前,该容器必须已经存在。 如果先前已在关联的帐户中创建了VM,则容器应该已经存在。 在Web界面中,进入“存储”区域,然后单击可用的存储选择之一。 单击“容器”链接,然后从将使用的容器中复制URL。 它通常看起来像:
http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds
service_name
在其中创建VM的服务的名称。 如果未指定,则将使用与VM相同的名称创建服务。
virtual_network_name
可选的。 虚拟机要加入的虚拟网络的名称。 如果未指定,则不会加入任何虚拟网络。
subnet_name
可选的。 虚拟机要加入的虚拟网络中的子网名称。 这要求先指定了一个virtual_network_name
。
此操作是--full-query
的一个thin wrapper,仅显示单个实例的详细信息。 在具有多台计算机的环境中,这将使用户不必为了检查单个实例而对所有实例数据进行排序。
salt-cloud -a show_instance myinstance
可以在全局云配置文件(通常是/etc/salt/cloud)中指定某些选项,这些选项会在销毁VM时影响Salt Cloud的行为。
cleanup_disks
New in version 2015.8.0.
默认值为False。 设置为True时,Salt Cloud将等待VM被销毁,然后尝试销毁与VM关联的磁盘。
cleanup_vhds
New in version 2015.8.0.
默认值为False。 需要将cleanup_disks
设置为True,同时该参数也设置为True时,Salt Cloud将要求Azure删除与已销毁的磁盘关联的VHD。
cleanup_services
New in version 2015.8.0.
默认值为False。 需要将cleanup_disks
设置为True,同时该参数也设置为True时,Salt Cloud将等待磁盘被销毁,然后尝试删除与VM关联的服务。 由于磁盘属于服务,因此必须先销毁磁盘才能使用该服务。
New in version 2015.8.0.
一个帐户可以具有一个或多个托管服务(hosted services)。 需要具有托管服务才能创建VM。 但是,如上所述,如果在创建VM时未指定托管服务,则将自动使用该名称创建一个托管服务。 对于管理hosted services以下功能是可用的。
创建一个托管服务。 以下选项可用。
name
Required.
要创建的托管服务的名称。
label
Required.
应用于托管服务的标签。
description
Optional.
托管服务的详细说明。
location
Required(在没有设置affinity_group时)。
创建托管服务的位置。 必须设置location或affinity_group参数,但不能同时设置两者。
affinity_group
Required(在没有设置location时)。
要在其中创建托管服务的affinity_group组。 必须设置location或affinity_group参数,但不能同时设置两者。
extended_properties
Optional.
包含托管服务属性的name/value键值对的字典。 您最多可以有50个扩展属性name/value键值对。 Name元素的最大长度为64个字符,名称中仅字母数字字符和下划线有效,并且名称必须以字母开头。 该值的最大长度为255个字符。
CLI Example
以下示例说明了如何创建托管服务。
salt-cloud -f create_service my-azure name=my-service label=my-service location='West US'
返回有关特定托管服务的详细信息。 也可以使用get_service
调用。
salt-cloud -f show_storage my-azure name=my-service
列出与服务订阅相关联的所有托管服务。
salt-cloud -f list_services my-azure-config
删除一个特定的托管服务。
salt-cloud -f delete_service my-azure name=my-service
New in version 2015.8.0.
Salt Cloud可以管理与该帐户关联的存储帐户。 以下管理功能可以使用。 标记为“deprecated ”的已弃用部分已按照SDK文档进行了标记,但为了确保SDK的完整性,仍将其包括在内。
###create_storage 创建一个存储帐户。 支持以下选项。
name
Required.
要创建的存储帐户的名称。
label
Required.
应用于存储帐户的标签。
description
Optional.
存储帐户的详细说明。
location
Required(如果没有同时设置affinity_group参数)。
创建存储帐户的位置。 必须设置location或affinity_group,但不能同时设置两者。
affinity_group
Required(如果没有同时设置location参数)。
要在其中创建存储帐户的affinity_group分组。 必须设置location或affinity_group,但不能同时设置两者。
extended_properties
Optional.
包含存储帐户属性的name/value键值对的字典。 您最多可以有50个扩展属性name/value键值对。 Name元素的最大长度为64个字符,名称中仅字母数字字符和下划线有效,并且名称必须以字母开头。 该值的最大长度为255个字符。
geo_replication_enabled
Deprecated.
已替换为account_type参数。
account_type
指定该帐户是否支持本地冗余存储、geo-redundant冗余存储、区域位置冗余存储或只读的geo-redundant冗余存储。 可用的值为:
- Standard_LRS
- Standard_ZRS
- Standard_GRS
- Standard_RAGRS
CLI Example
以下示例说明创建存储帐户的方法。
salt-cloud -f create_storage my-azure name=my-storage label=my-storage location='West US'
列出与服务订阅关联的所有存储帐户。
salt-cloud -f list_storage my-azure-config
返回有关特定存储帐户的详细信息。 也可以用get_storage
调用。
salt-cloud -f show_storage my-azure name=my-storage
更新有关存储帐户的详细信息。 可以使用create_storage
中可用的任何参数选项,但不能更改名称。
salt-cloud -f update_storage my-azure name=my-storage label=my-storage
删除一个特定的存储帐户
salt-cloud -f delete_storage my-azure name=my-storage
返回指定存储帐户的primary 和 secondary 访问密钥。
salt-cloud -f show_storage_keys my-azure name=my-storage
重新生成存储帐户密钥。 需要指定一个key_type(“ primary”或“ secondary”)。
salt-cloud -f regenerate_storage_keys my-azure name=my-storage key_type=primary
New in version 2015.8.0.
创建VM后,还将为其创建磁盘。 以下功能函数可用于管理磁盘。 标记为“deprecated ”的已弃用函数已按照SDK文档进行了标记,但为了确保SDK的完整性,仍将其包括在内。
返回有关特定磁盘的详细信息。 也可以用get_disk
调用。
salt-cloud -f show_disk my-azure name=my-disk
列出与该帐户关联的所有磁盘。
salt-cloud -f list_disks my-azure
更新磁盘的详细信息。 有以下选项可用。
name
Required.
要更新的磁盘的名称。
has_operating_system
Deprecated.
label
Required.
磁盘的标签。
media_link
Deprecated.
磁盘在帐户中的位置,包括其所在的存储容器。此位置无需更改。
new_name
Deprecated.
如果重命名磁盘,则使用这一新名称。
os
Deprecated.
CLI Example
以下示例说明了如何更新磁盘。
salt-cloud -f update_disk my-azure name=my-disk label=my-disk
删除一个特定的磁盘。
salt-cloud -f delete_disk my-azure name=my-disk
New in version 2015.8.0.
这些证书存储在云服务这一级别,已部署的服务使用这些证书。 有关服务证书的更多信息,请参见以下链接:
有以下管理函数可用。
列出与帐户关联的服务证书。
salt-cloud -f list_service_certificates my-azure
显示与该帐户关联的特定服务证书的数据。 可以从list_service_certificates
获得name、thumbprint和thumbalgorithm。 也可以使用get_service_certificate
调用。
salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
将服务证书添加到该帐户。 这要求证书已经存在,然后将其添加到帐户中。 有关创建证书本身的更多信息,请参见:
有以下配置项可以使用。
name
Required.
证书所属的托管服务的名称。
data
Required.
pfx文件的base-64编码形式。
certificate_format
Required.
服务证书格式。 唯一支持的值是pfx。
password
证书的密码。
salt-cloud -f add_service_certificate my-azure name=my-cert \
data='...CERT_DATA...' certificate_format=pfx password=verybadpass
从帐户中删除服务证书。 可以从list_service_certificates
获得name、thumbprint和thumbalgorithm。
salt-cloud -f delete_service_certificate my-azure \
name=my_service_certificate \
thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
New in version 2015.8.0.
Azure管理证书是X.509 v3证书,用于对代理(例如,用于Windows Azure的Visual Studio Tools或使用Service Management API的客户端应用程序)进行身份验证,该代理代表订阅所有者来管理订阅资源。 Azure管理证书上载到Azure并存储在订阅级别。 管理证书存储区每个服务订阅最多可容纳100个证书。 这些证书用于验证Windows Azure部署。
有关管理证书的更多信息,请参见以下链接。
有以下管理函数可以使用。
列出与该帐户关联的管理证书。
salt-cloud -f list_management_certificates my-azure
显示与该帐户关联的特定管理证书的数据。 可以从list_management_certificates获取name、thumbprint和thumbalgorithm。 也可以使用get_management_certificate调用。
salt-cloud -f show_management_certificate my-azure name=my_management_certificate \
thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
管理证书的密钥长度必须至少为2048位,并且应驻留在个人证书存储中。 在客户端上安装证书后,它应包含证书的私钥。 若要将证书上载到Microsoft Azure管理门户,必须将其导出为不包含私钥的.cer格式文件。 有关创建管理证书的更多信息,请参见以下链接:
以下选项可用。
public_key
管理证书公用密钥的base64表示形式。
thumbprint
唯一标识管理证书的指纹。
data
证书的原始数据采用base-64编码的.cer格式。
salt-cloud -f add_management_certificate my-azure public_key='...PUBKEY...' \
thumbprint=0123456789ABCDEF data='...CERT_DATA...'
从帐户中删除管理证书。 可以从list_management_certificates获取thumbprint 。
salt-cloud -f delete_management_certificate my-azure thumbprint=0123456789ABCDEF
New in version 2015.8.0.
以下是用于管理虚拟网络的功能函数。
list_virtual_networks
列出与部署关联的虚拟网络。
salt-cloud -f list_virtual_networks my-azure service=myservice deployment=mydeployment
New in version 2015.8.0.
输入端点用于管理角色的端口访问。 由于端点无法由Azure Python SDK管理,因此Salt Cloud直接使用该API。 对于2.7.9之前的Python版本,需要安装requests-python
软件包才能使其工作。 此外,需要在master服务器的配置文件中设置以下内容:
backend: requests
以下功能函数可用。
列出与部署关联的输入端点
salt-cloud -f list_input_endpoints my-azure service=myservice deployment=mydeployment
显示与部署关联的输入端点
salt-cloud -f show_input_endpoint my-azure service=myservice \
deployment=mydeployment name=SSH
将输入端点添加到部署中。 请注意,更改可能会有所延迟。 有以下选项可用。
service
Required.
VM所属的托管服务的名称。
deployment
Required.
VM所属部署的名称。 如果VM是使用Salt Cloud创建的,则部署名称可能与VM名称匹配。
role
Required.
VM所属角色的名称。 如果使用Salt Cloud创建VM,则角色名称可能与VM名称匹配。
name
Required.
输入端点的名称。 这通常与端点设置为的端口匹配。 例如,端口22将被称为SSH。
port
Required.
用于端点的公共(面向Internet)端口。
local_port
Optional.
VM本身上与端口匹配的私有端口。 这通常与端口相同。 如果未指定此值,将从端口复制它。
protocol
Required.
tcp或udp。
enable_direct_server_return
Optional.
如果帐户中存在内部负载平衡器,则可以将其与直接服务器一起使用。 默认值为False。 请参阅以下文章对此选项的说明。
timeout_for_tcp_idle_connection
Optional.
默认值为4。有关此选项的说明,请参阅以下文章。
CLI Example
以下示例说明了添加输入端点的方法。
salt-cloud -f add_input_endpoint my-azure service=myservice \
deployment=mydeployment role=myrole name=HTTP local_port=80 \
port=80 protocol=tcp enable_direct_server_return=False \
timeout_for_tcp_idle_connection=4
更新特定输入端点的详细信息。 支持add_input_endpoint中的所有选项。
salt-cloud -f update_input_endpoint my-azure service=myservice \
deployment=mydeployment role=myrole name=HTTP local_port=80 \
port=80 protocol=tcp enable_direct_server_return=False \
timeout_for_tcp_idle_connection=4
从部署中删除输入端点。 请注意,更改可能会有所延迟。 需要使用到以下配置项。
CLI Example
以下示例说明了删除输入端点的方法。
service
VM所属的托管服务的名称。
deployment
VM所属部署的名称。 如果VM是使用Salt Cloud创建的,则部署名称可能与VM名称匹配。
role
VM所属角色的名称。 如果使用Salt Cloud创建VM,则角色名称可能与VM名称匹配。
name
输入端点的名称。 这通常与端点设置为的端口匹配。 例如,端口22将被称为SSH。
salt-cloud -f delete_input_endpoint my-azure service=myservice \
deployment=mydeployment role=myrole name=HTTP
New in version 2015.8.0.
亲和力分组允许您将Azure服务分组以优化性能。 亲和力分组中的所有服务和VM将位于同一区域。 有关亲和力分组的更多信息,请参见以下链接:
以下功能函数可用。
列出与帐户关联的输入端点。
salt-cloud -f list_affinity_groups my-azure
显示与该帐户相关联的亲和性分组。
salt-cloud -f show_affinity_group my-azure service=myservice \
deployment=mydeployment name=SSH
创建一个新的新和性分组。 支持以下选项。
name
Required.
亲和性分组的名称。
location
Required.
亲和性分组所属的位置。
label
Required.
描述亲和性分组特性的标签。
description
Optional.
对亲和性分组的描述。
salt-cloud -f create_affinity_group my-azure name=my_affinity_group \
label=my-affinity-group location='West US'
更新亲和性分组的属性值。
salt-cloud -f update_affinity_group my-azure name=my_group label=my_group
删除与该帐户关联的特定亲和性分组。
salt-cloud -f delete_affinity_group my-azure name=my_affinity_group
New in version 2015.8.0.
可以使用Salt Cloud管理Azure存储容器及其内容。 这不像在Windows中使用其他可用客户端中的一个那样优雅,但是它使Linux和Unix用户受益,因为这些平台上可用的选项较少。
Blob存储的配置与标准Azure配置不同。 必须通过Azure provider配置(除了其他Azure配置之外)或通过命令行指定storage_account
和storage_key
。
storage_account: mystorage
storage_key: ffhj334fDSGFEGDFGFDewr34fwfsFSDFwe==
这是可通过list_storage
函数使用的存储帐户之一。
通过运行show_storage_keys
函数,可以获取primary 存储密钥和secondary 存储密钥。 可以使用任何一个密钥。
通过Salt Cloud提供以下功能函数来管理Blob存储。
创建一个访问blob存储的URL地址。
salt-cloud -f make_blob_url my-azure container=mycontainer blob=myblob
container
容器的名称。
blob
blob存储的名称。
account
存储帐户名称。 如果未指定,则从provider配置中派生可以使用的主机配置基线。
protocol
使用的协议:“ http”或“ https”。 如果未指定,则从provider配置中派生可以使用的主机配置基线。
host_base
Live host base URL.
如果未指定,则从provider配置中派生可以使用的主机配置基线。
####list_storage_containers
列出与存储帐户关联的容器。
salt-cloud -f list_storage_containers my-azure
创建一个存储容器。
salt-cloud -f create_storage_container my-azure name=mycontainer
name
要创建的容器的名称。
meta_name_values
Optional.
具有name_value键值对的字典,用于与容器关联为元数据。
Example:{'Category':'test'}
blob_public_access
Optional.
可能的取值有: container, blob
fail_on_exist
指定在容器退出时是否引发异常。
显示与存储帐户关联的容器。
salt-cloud -f show_storage_container my-azure name=myservice
name
要查看的容器的名称。
显示一个存储容器的元数据信息。
salt-cloud -f show_storage_container_metadata my-azure name=myservice
name
将展示的容器的名称。
lease_id
如果指定,则show_storage_container_metadata仅在容器的租用处于活动状态且与该ID匹配时返回成功。
设置一个存储容器的元数据信息。
salt-cloud -f set_storage_container my-azure name=mycontainer \
x_ms_meta_name_values='{"my_name": "my_value"}'
name
一个当前存活状态下的容器的名称。
meta_name_values
一个包含了name/value键值对的元数据字典,例如: {'category':'test'}
lease_id
如果指定,则set_storage_container_metadata仅在容器的租约处于活动状态且与该ID匹配时成功。
显示一个存储容器的 acl 规则。
salt-cloud -f show_storage_container_acl my-azure name=myservice
name
一个当前存活状态下的容器的名称。
lease_id
如果指定,则show_storage_container_acl仅在容器的租约处于活动状态且与该ID匹配时返回成功。
设置一个存储容器的 acl 规则。
salt-cloud -f set_storage_container my-azure name=mycontainer
name
一个当前存活状态下的容器的名称。
signed_identifiers
Signed Identifers instance.
blob_public_access
Optional.
可能的取值有: container, blob
lease_id
如果指定,则set_storage_container_acl仅在容器的租约处于活动状态且匹配此ID时返回成功。
删除与存储帐户关联的容器。
salt-cloud -f delete_storage_container my-azure name=mycontainer
name
要删除的容器的名称。
fail_on_exist
指定在容器退出时是否引发异常。
lease_id
如果指定,则delete_storage_container仅在容器的租约处于活动状态且匹配此ID时返回成功。
租赁与存储帐户关联的容器。
salt-cloud -f lease_storage_container my-azure name=mycontainer
name
要创建的容器的名称。
lease_action
Required.
可能的取舍范围是: acquire|renew|release|break|change
lease_id
如果容器具有有效的租约,则为必需。
lease_duration
指定租期,以秒为单位,或者设置为 -1
表示为永不过期。 一个非无限的租约可以在15到60秒之间。 不能使用续订或更改来变更租约期限。 为了向后兼容,默认值为60,并且该值仅支持 acquire
操作。
lease_break_period
Optional.
对于中断操作,这是租约在中断之前应继续的建议持续时间,介于0到60秒之间。 仅在短于租约剩余时间的情况下使用此休息时间。 如果更长,则会使用租约上剩余的时间。 休息时间到期之前将无法获得新的租约,但是该租约的持有时间可能会超过休息时间。 如果此header未通过中断操作出现,则固定期限的租约在剩余的租约期过后会中断,并且无限期的租约会立即中断。
proposed_lease_id
对于acquire
是可选项,对于change
是必选项。
建议的租约ID,采用GUID字符串格式。
列出与容器关联的Blob。
salt-cloud -f list_blobs my-azure container=mycontainer
container
存储容器的名称。
prefix
Optional.
过滤结果以仅返回以指定名称前缀开头的Blob。
marker
Optional.
一个字符串值,用于标识列表的下一部分要通过下一个列表操作返回的部分。 如果返回的列表不完整,则该操作将在响应主体内返回一个标记值。 然后可以在随后的调用中使用标记值来请求下一组列表项。 该标记值对于客户端是不透明的。
maxresults
Optional.
指定要返回的Blob的最大数量,包括所有BlobPrefix元素。 如果请求中未指定maxresults或指定的值大于5,000,则服务器将最多返回5,000个项目。 将maxresults设置为小于或等于零的值将导致错误响应代码400(错误请求)。
include
Optional.
指定要包含在响应中的一个或多个数据集。 要在URI上指定这些选项中的多个,必须用逗号分隔每个选项。
有效值为:
snapshots:
指定快照应包含在数据中。 快照从最早到最新列出响应。
metadata:
指定在响应中返回Blob元数据。
uncommittedblobs:
指定将那些已为其上传数据块但尚未最后使用Put Block List(REST API)提交的blobs,包含在响应中。
copy:
版本2012-02-12及更高版本。 指定将与任何当前或先前的“Copy Blob”操作相关的元数据应包括在响应中。
delimiter
Optional.
当请求包含此参数时,该操作将在响应正文中返回一个BlobPrefix元素,该元素充当其名称以相同子字符串开头直至出现分隔符的所有Blob的占位符。 分隔符可以是单个字符或字符串。
显示一个blob服务的属性信息。
salt-cloud -f show_blob_service_properties my-azure
设置存储帐户的Blob服务(包括Windows Azure Storage Analytics)的属性。 您也可以使用此操作为所有未指定版本的传入请求设置默认请求版本。
salt-cloud -f set_blob_service_properties my-azure
properties
一个存储服务属性的对象。
timeout
Optional.
该超时参数使用秒为单位。
返回Blob的所有的用户定义的元数据,标准HTTP属性和系统属性。
salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
container
一个当前存活状态下的容器的名称。
blob
一个已存在的blob的名称。
lease_id
如果Blob具有有效租约,则为必需。
设置一个blob的属性。
salt-cloud -f set_blob_properties my-azure
container
一个当前存活状态下的容器的名称。
blob
一个已存在的blob的名称。
blob_cache_control
Optional.
修改Blob的缓存控制字符串。
blob_content_type
Optional.
设置blob的内容类型。
blob_content_md5
Optional.
设置blob的 MD5 哈希值。
blob_content_encoding
Optional.
设置blob的内容编码。
blob_content_language
Optional.
设置blob的语种。
lease_id
如果使用的blob有一个有效的租约,则该参数为必需。
blob_content_disposition
Optional.
设置Blob的Content-Disposition header头。 Content-Disposition响应头字段传达有关如何处理响应有效负载的其他信息,也可以用于附加其他元数据。 例如,如果设置为附件,则表明用户代理不应显示响应,而应显示“另存为”对话框,其文件名不是指定的Blob名称。
上传一个blob。
salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
container
一个当前存活状态下的容器的名称。
name
一个当前存活状态下的容器的名称。
blob_path
在本地计算机上以blob形式上传的文件的路径。 需要同时指定本配置项或blob_content之一。
blob_content
作为Blob上传的实际内容。 必须指定this或blob_path。
cache_control
Optional.
Blob服务存储此值,但不使用或修改它。
content_language
Optional.
指定此资源使用的语言。
content_md5
Optional.
Blob内容的MD5哈希。 此哈希用于在传输过程中验证Blob内容的完整性。 指定此header头后,存储服务将检查与发送的哈希一起到达的哈希值。 如果两个哈希值不匹配,则操作将失败,并显示错误代码400(错误请求)。
blob_content_type
Optional.
设置blob的内容类型。
blob_content_encoding
Optional.
设置blob的内容编码。
blob_content_language
Optional.
设置blob使用的语言。
blob_content_md5
Optional. 设置blob的MD5哈希值。
blob_cache_control
Optional.
设置Blob的缓存控件。
meta_name_values
一个包含name/value键值对的metadata元数据字典。
lease_id
如果该blob具有一个有效的租约,则该配置项为必需。
下载一个 blob。
salt-cloud -f get_blob my-azure container=base name=top.sls local_path=/srv/salt/top.sls
salt-cloud -f get_blob my-azure container=base name=content.txt return_content=True
container
一个当前存活状态下的容器的名称。
name
一个已存在的blob的名称。
local_path
将Blob下载到的本地计算机上的路径。 必须指定本配置项或return_content之一。
return_content
是否直接从Blob返回内容。 如果指定,则必须为True或False。 必须指定此配置项或local_path。
snapshot
Optional.
snapshot参数是一个不透明的DateTime值( an opaque DateTime value),当存在时,用于指定要检索的Blob快照。
lease_id
如果该blob具有一个有效的租约,则该配置项为必需。
progress_callback
使用签名函数(current, total)进行进度的回调,其中current是到目前为止已传输的字节数,total是blob的大小。
max_connections
Blob大小超过64MB时要使用的最大并行连接数。 设置为1
将以顺序方式下载Blob块。 设置为2
或更大时可并行下载blob块。 这样会占用更多系统资源,但下载速度会更快。
max_retries
如果发生错误,重试下载Blob块的次数。
retry_wait
重试之间的睡眠时间(以秒为单位)。