你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn 。
CloudQueue 类
java.lang.Object
com.microsoft.azure.storage.queue.CloudQueue
public class CloudQueue
此类表示 Microsoft Azure 队列服务中的队列。
构造函数摘要
方法摘要
修饰符和类型
方法和描述
void
addMessage(final CloudQueueMessage message)
将消息添加到队列的后面。
void
addMessage(final CloudQueueMessage message, final int timeToLiveInSeconds, final int initialVisibilityDelayInSeconds, QueueRequestOptions options, OperationContext opContext)
使用指定选项将消息添加到队列的后面。
void
clear()
从队列中清除所有消息。
void
clear(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文清除队列中的所有消息。
void
create()
创建队列。
void
create(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文创建队列。
boolean
createIfNotExists()
在队列尚未存在时创建它。
boolean
createIfNotExists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文创建队列(如果不存在)。
void
delete()
删除队列。
void
delete(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文删除队列。
boolean
deleteIfExists()
在队列存在时删除它。
boolean
deleteIfExists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文删除队列(如果存在)。
void
deleteMessage(final CloudQueueMessage message)
从队列中删除指定的消息。
void
deleteMessage(final CloudQueueMessage message, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列中删除指定的消息。
void
downloadAttributes()
下载队列的元数据和近似消息计数值。
void
downloadAttributes(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文下载队列的元数据和近似消息计数值。
QueuePermissions
downloadPermissions()
下载队列的权限设置。
QueuePermissions
downloadPermissions(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文下载队列的权限设置。
boolean
exists()
返回一个值,该值指示队列是否存在。
boolean
exists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文返回一个值,该值指示队列是否存在。
String
generateSharedAccessSignature(final SharedAccessQueuePolicy policy, final String groupPolicyIdentifier)
返回队列的共享访问签名。
String
generateSharedAccessSignature(final SharedAccessQueuePolicy policy, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols)
返回队列的共享访问签名。
long
getApproximateMessageCount()
获取队列的大致消息计数。 此值由对 的请求 downloadAttributes() 初始化,表示该请求完成时的大致消息计数。
HashMap<String, String>
getMetadata()
获取存储在此 对象中的队列的元数据集合。 此值通过调用 downloadAttributes() 使用队列中的元数据进行初始化,并且通过调用 uploadMetadata() 在队列上设置此值。
String
getName()
获取队列的名称。
CloudQueueClient
getServiceClient()
获取与此队列关联的队列服务客户端。
boolean
getShouldEncodeMessage()
获取一个值,该值指示消息是否应采用 base-64 编码。
final StorageUri
getStorageUri()
返回所有位置的 URI 列表。
URI
getUri()
获取此队列的绝对 URI。
CloudQueueMessage
peekMessage()
速览队列中的消息。 速览请求从队列前面检索消息,而不会更改其可见性。
CloudQueueMessage
peekMessage(final QueueRequestOptions options, final OperationContext opContext)
使用指定的请求选项和操作上下文从队列中速览消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Iterable<CloudQueueMessage >
peekMessages(final int numberOfMessages)
从队列中速览指定数量的消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Iterable<CloudQueueMessage >
peekMessages(final int numberOfMessages, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列中速览一组消息。 速览请求从队列前面检索消息,而不会更改其可见性。
CloudQueueMessage
retrieveMessage()
使用默认请求选项从队列前面检索消息。 此操作会将检索到的消息标记为在默认可见性超时期间在队列中不可见。
CloudQueueMessage
retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options, final OperationContext opContext)
使用指定的请求选项和操作上下文从队列的前面检索消息。 此操作会将检索到的消息标记为在指定的可见性超时期限内在队列中不可见。
Iterable<CloudQueueMessage >
retrieveMessages(final int numberOfMessages)
使用默认请求选项从队列前面检索指定数量的消息。 此操作会将检索到的消息标记为在默认可见性超时期限内在队列中不可见。
Iterable<CloudQueueMessage >
retrieveMessages(final int numberOfMessages, final int visibilityTimeoutInSeconds, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列前面检索指定数量的消息。 此操作会将检索到的消息标记为在默认可见性超时期限内在队列中不可见。
void
setMetadata(final HashMap<String, String> metadata)
设置要通过 uploadMetadata() 调用在队列中设置的名称/值对的元数据集合。 此集合将覆盖任何现有队列元数据。 如果此值设置为空集合,则会在调用时 uploadMetadata() 清除队列元数据。
void
setShouldEncodeMessage(final boolean shouldEncodeMessage)
设置指示消息是否应采用 base-64 编码的标志。
void
updateMessage(final CloudQueueMessage message, final int visibilityTimeoutInSeconds)
使用新的可见性超时值(以秒为单位)汇报队列中的指定消息。
void
updateMessage(final CloudQueueMessage message, final int visibilityTimeoutInSeconds, final EnumSet<MessageUpdateFields> messageUpdateFields, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文在队列中汇报一条消息。
void
uploadMetadata()
将 对象中的元数据上传到队列。
void
uploadMetadata(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文将 对象中的元数据上传到队列。
void
uploadPermissions(final QueuePermissions permissions)
上传队列的权限。
void
uploadPermissions(final QueuePermissions permissions, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文上传队列的权限。
构造函数详细信息
CloudQueue
public CloudQueue(final StorageUri uri)
使用指定的队列 创建 类的实例。 队列必须包含 SAS 令牌。
Parameters:
uri
- 一个 StorageUri
表示队列的绝对 URI 的 对象。
Throws:
StorageException
- 如果发生存储服务错误。
CloudQueue
public CloudQueue(final StorageUri uri, final StorageCredentials credentials)
使用指定的队列和凭据创建 类的实例。 如果 包含 SAS 令牌,则凭据必须为 。
Parameters:
uri
- 一个 StorageUri
表示队列的绝对 URI 的 对象。
Throws:
StorageException
- 如果发生存储服务错误。
CloudQueue
protected CloudQueue(final String queueName, final CloudQueueClient client)
使用指定的名称和客户端创建 类的实例。
Parameters:
queueName
- 队列的名称,它必须遵守队列命名规则。 队列名称不应包含 /) (任何路径分隔符。 队列名称必须为小写,长度在 3-63 个字符之间,并且必须以字母或数字开头。 队列名称只能包含字母、数字和短划线 ( ) 字符。
Throws:
URISyntaxException
- 如果基于 queueName 构造的资源 URI 无效。
StorageException
- 如果发生存储服务错误。
CloudQueue
public CloudQueue(final URI uri)
使用指定的队列 URI 创建 类的实例。 队列必须包含 SAS 令牌。
Parameters:
uri
- 一个 java.net.URI
表示队列的绝对 URI 的 对象。
Throws:
StorageException
- 如果发生存储服务错误。
CloudQueue
public CloudQueue(final URI uri, final StorageCredentials credentials)
使用指定的队列和凭据创建 类的实例。 如果 包含 SAS 令牌,则凭据必须为 。
Parameters:
uri
- 一个 java.net.URI
表示队列的绝对 URI 的 对象。
Throws:
StorageException
- 如果发生存储服务错误。
方法详细信息
addMessage
public void addMessage(final CloudQueueMessage message)
将消息添加到队列的后面。
Parameters:
message
- 一个
CloudQueueMessage 指定要添加的消息的 对象。 消息对象被修改为包含消息 ID 和弹出回执,并可用于后续调用 updateMessage 和 deleteMessage。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
addMessage
public void addMessage(final CloudQueueMessage message, final int timeToLiveInSeconds, final int initialVisibilityDelayInSeconds, QueueRequestOptions options, OperationContext opContext)
使用指定选项将消息添加到队列的后面。
Parameters:
message
- 一个
CloudQueueMessage 指定要添加的消息的 对象。 消息对象被修改为包含消息 ID 和弹出回执,并可用于后续调用 updateMessage 和 deleteMessage。
timeToLiveInSeconds
- 允许消息在队列中的最长时间。 如果值为零,则将生存时间设置为服务默认值 7 天。 值为负 1 将设置无限生存时间。
initialVisibilityDelayInSeconds
- 消息将不可见(从添加到队列时开始)或 0(使消息立即可见)的时长。 此值必须大于或等于零且小于生存时间值。
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
clear
public void clear()
从队列中清除所有消息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
clear
public void clear(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文清除队列中的所有消息。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
create
public void create()
创建队列。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
create
public void create(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文创建队列。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
createIfNotExists
public boolean createIfNotExists()
在队列尚未存在时创建它。
Returns:
如果在存储服务中创建队列,则值为 true
,否则为 false
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
createIfNotExists
public boolean createIfNotExists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文创建队列(如果不存在)。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
如果在存储服务中创建队列,则值为 true
,否则为 false
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
delete
public void delete()
删除队列。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
delete
public void delete(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文删除队列。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
deleteIfExists
public boolean deleteIfExists()
在队列存在时删除它。
Returns:
如果存储服务中存在队列并且已被删除,则值为 true
,否则 false
为 。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
deleteIfExists
public boolean deleteIfExists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文删除队列(如果存在)。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
如果存储服务中存在队列并且已被删除,则值为 true
,否则 false
为 。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
deleteMessage
public void deleteMessage(final CloudQueueMessage message)
从队列中删除指定的消息。
Parameters:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
deleteMessage
public void deleteMessage(final CloudQueueMessage message, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列中删除指定的消息。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
downloadAttributes
public void downloadAttributes()
下载队列的元数据和近似消息计数值。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
downloadAttributes
public void downloadAttributes(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文下载队列的元数据和近似消息计数值。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
downloadPermissions
public QueuePermissions downloadPermissions()
下载队列的权限设置。
Returns:
Throws:
StorageException
- 如果发生存储服务错误。
downloadPermissions
public QueuePermissions downloadPermissions(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文下载队列的权限设置。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
Throws:
StorageException
- 如果发生存储服务错误。
exists
public boolean exists()
返回一个值,该值指示队列是否存在。
Returns:
true
如果存储服务中存在队列,则为 ;否则为 false
。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
exists
public boolean exists(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文返回一个值,该值指示队列是否存在。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
true
如果存储服务中存在队列,则为 ;否则为 false
。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
generateSharedAccessSignature
public String generateSharedAccessSignature(final SharedAccessQueuePolicy policy, final String groupPolicyIdentifier)
返回队列的共享访问签名。
Parameters:
policy
- 共享访问签名的访问策略。
groupPolicyIdentifier
- 队列级别访问策略。
Returns:
队列的共享访问签名。
Throws:
InvalidKeyException
- 如果传递了无效密钥。
StorageException
- 如果发生存储服务错误。
IllegalArgumentException
- 如果传递了意外值。
generateSharedAccessSignature
public String generateSharedAccessSignature(final SharedAccessQueuePolicy policy, final String groupPolicyIdentifier, final IPRange ipRange, final SharedAccessProtocols protocols)
返回队列的共享访问签名。
Parameters:
policy
- 共享访问签名的访问策略。
groupPolicyIdentifier
- 队列级别访问策略。
ipRange
- 包含
IPRange 允许的 IP 地址范围的 对象。
Returns:
队列的共享访问签名。
Throws:
InvalidKeyException
- 如果传递了无效密钥。
StorageException
- 如果发生存储服务错误。
IllegalArgumentException
- 如果传递了意外值。
getApproximateMessageCount
public long getApproximateMessageCount()
获取队列的大致消息计数。 此值由对 的请求 downloadAttributes() 初始化,表示该请求完成时的大致消息计数。
Returns:
一个 Long
对象,表示队列的大致消息计数。
getName
public String getName()
获取队列的名称。
Returns:
一个 String
表示队列名称的 对象。
getServiceClient
public CloudQueueClient getServiceClient()
获取与此队列关联的队列服务客户端。
Returns:
getShouldEncodeMessage
public boolean getShouldEncodeMessage()
获取一个值,该值指示消息是否应采用 base-64 编码。
Returns:
一个 Boolean
,它表示消息是否应采用 base-64 编码。
getStorageUri
public final StorageUri getStorageUri()
返回所有位置的 URI 列表。
Returns:
一个 StorageUri
,它表示所有位置的 URI 列表。
getUri
public URI getUri()
获取此队列的绝对 URI。
Returns:
一个 java.net.URI
对象,表示此队列的 URI。
peekMessage
public CloudQueueMessage peekMessage()
速览队列中的消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
peekMessage
public CloudQueueMessage peekMessage(final QueueRequestOptions options, final OperationContext opContext)
使用指定的请求选项和操作上下文从队列中速览消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
peekMessages
public Iterable peekMessages(final int numberOfMessages)
从队列中速览指定数量的消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Parameters:
numberOfMessages
- 要检索的消息数。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
peekMessages
public Iterable peekMessages(final int numberOfMessages, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列中速览一组消息。 速览请求从队列前面检索消息,而不会更改其可见性。
Parameters:
numberOfMessages
- 要检索的消息数。
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
retrieveMessage
public CloudQueueMessage retrieveMessage()
使用默认请求选项从队列前面检索消息。 此操作会将检索到的消息标记为在默认可见性超时期间在队列中不可见。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
retrieveMessage
public CloudQueueMessage retrieveMessage(final int visibilityTimeoutInSeconds, final QueueRequestOptions options, final OperationContext opContext)
使用指定的请求选项和操作上下文从队列的前面检索消息。 此操作会将检索到的消息标记为在指定的可见性超时期限内在队列中不可见。
Parameters:
visibilityTimeoutInSeconds
- 指定消息的可见性超时(以秒为单位)。
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
retrieveMessages
public Iterable retrieveMessages(final int numberOfMessages)
使用默认请求选项从队列前面检索指定数量的消息。 此操作会将检索到的消息标记为在默认可见性超时期限内在队列中不可见。
Parameters:
numberOfMessages
- 要检索的消息数。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
retrieveMessages
public Iterable retrieveMessages(final int numberOfMessages, final int visibilityTimeoutInSeconds, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文从队列前面检索指定数量的消息。 此操作会将检索到的消息标记为在默认可见性超时期限内在队列中不可见。
Parameters:
numberOfMessages
- 要检索的消息数。
visibilityTimeoutInSeconds
- 指定检索到的消息的可见性超时(以秒为单位)。
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Returns:
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
setMetadata
public void setMetadata(final HashMap metadata)
设置要通过 uploadMetadata() 调用在队列中设置的名称/值对的元数据集合。 此集合将覆盖任何现有队列元数据。 如果此值设置为空集合,则会在调用时 uploadMetadata() 清除队列元数据。
Parameters:
metadata
- 一个 java.util.HashMap
对象,表示要分配给队列的元数据。
setShouldEncodeMessage
public void setShouldEncodeMessage(final boolean shouldEncodeMessage)
设置指示消息是否应采用 base-64 编码的标志。
Parameters:
shouldEncodeMessage
- 值指示消息是否应采用 base-64 编码。
updateMessage
public void updateMessage(final CloudQueueMessage message, final int visibilityTimeoutInSeconds)
使用新的可见性超时值(以秒为单位)汇报队列中的指定消息。
Parameters:
visibilityTimeoutInSeconds
- 指定消息的新可见性超时(以秒为单位)。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
updateMessage
public void updateMessage(final CloudQueueMessage message, final int visibilityTimeoutInSeconds, final EnumSet messageUpdateFields, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文在队列中汇报一条消息。
Parameters:
visibilityTimeoutInSeconds
- 指定消息的新可见性超时(以秒为单位)。
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
uploadMetadata
public void uploadMetadata()
将 对象中的元数据上传到队列。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
uploadMetadata
public void uploadMetadata(QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文将 对象中的元数据上传到队列。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果在操作期间发生存储服务错误。
uploadPermissions
public void uploadPermissions(final QueuePermissions permissions)
上传队列的权限。
Parameters:
Throws:
StorageException
- 如果发生存储服务错误。
uploadPermissions
public void uploadPermissions(final QueuePermissions permissions, QueueRequestOptions options, OperationContext opContext)
使用指定的请求选项和操作上下文上传队列的权限。
Parameters:
opContext
- 一个
OperationContext 对象,它一个表示当前操作的上下文。 此对象用于跟踪对存储服务的请求并提供有关操作的其他运行时信息。
Throws:
StorageException
- 如果发生存储服务错误。
适用于