queue 套件

套件

aio

類別

AccessPolicy

集合所使用的存取原則類別,並取得存取原則方法。

儲存的存取原則可以指定其相關聯之共用存取簽章的開始時間、到期時間及權限。 根據您想要如何控制資源的存取權,您可以在預存存取原則內指定所有這些參數,並從共用存取簽章的 URL 中省略這些參數。 這樣做可讓您隨時修改相關聯的簽章行為,以及將它撤銷。 您也可以在儲存的存取原則中指定一個或多個存取原則參數,然後在 URL 上指定其他參數。 最後,您可以在 URL 上指定所有參數。 在此情況下,您可以使用儲存的存取原則撤銷簽章,但不修改其行為。

共用存取簽章和預存存取原則必須包含驗證簽章所需的所有欄位。 如果遺漏任何必要的欄位,要求將會失敗。 同樣地,如果同時在共用存取簽章 URL 和預存存取原則中指定某個欄位,則要求會失敗,並顯示狀態碼 400 (不正確的要求)。

AccountSasPermissions

ResourceTypes 類別,用於generate_account_sas函式,以及與 set_*_acl搭配使用的 AccessPolicies。 有兩種類型的 SAS 可用來授與資源存取權。 其中一個是授與特定資源的存取權, (資源特定) 。 另一個是針對特定帳戶授與整個服務的存取權,並根據這裡找到的 perms 來允許特定作業。

BinaryBase64DecodePolicy

基底 64 編碼訊息的訊息解碼原則為位元組。

將 base64 編碼的訊息解碼為位元組。 如果輸入內容不是有效的 base 64,將會引發 DecodeError。

BinaryBase64EncodePolicy

二進位訊息的基底 64 訊息編碼原則。

將二進位訊息編碼為基底 64。 如果輸入內容不是位元組,則會引發 TypeError。

CorsRule

CORS 是一項 HTTP 功能,可讓 Web 應用程式在某個網域下執行,以存取其他網域中的資源。 網頁瀏覽器會實作稱為同源原則的安全性限制,其可防止網頁呼叫不同網域中的 API;CORS 則提供了一個安全的方式,可讓一個網域 (原始網域) 能夠呼叫其他網域中的 API。

必須填入所有必要的參數,才能傳送至 Azure。

ExponentialRetry

指數重試。

建構指數重試物件。 第一次重試會使用initial_backoff。 後續重試會在 initial_backoff + increment_power^retry_count 秒之後重試。

LinearRetry

線性重試。

建構線性重試物件。

LocationMode

指定要求應傳送至的位置。 此模式僅適用于允許次要讀取存取的 RA-GRS 帳戶。 所有其他帳戶類型都必須使用 PRIMARY。

Metrics

依 API 分組的要求統計資料摘要,以小時或分鐘匯總為單位。

必須填入所有必要的參數,才能傳送至 Azure。

QueueAnalyticsLogging

Azure 分析記錄設定。

必須填入所有必要的參數,才能傳送至 Azure。

QueueClient

要與特定佇列互動的用戶端。

如需更多選擇性設定,請按一下 這裡

QueueMessage

表示佇列訊息。

QueueProperties

佇列屬性。

QueueSasPermissions

用於 函式的 generate_queue_sas QueueSasPermissions 類別,以及搭配 set_queue_access_policy 使用的 AccessPolicies。

QueueServiceClient

在帳戶層級與佇列服務互動的用戶端。

此用戶端提供作業來擷取和設定帳戶屬性,以及列出、建立和刪除帳戶內的佇列。 對於與特定佇列相關的作業,可以使用 函式擷取此實體的 get_queue_client 用戶端。

如需更多選擇性設定,請按一下 這裡

ResourceTypes

指定帳戶 SAS 可存取的資源類型。

RetentionPolicy

決定相關聯資料應保存多久的保留原則。

必須填入所有必要的參數,才能傳送至 Azure。

TextBase64DecodePolicy

基底 64 編碼訊息的訊息解碼原則為文字。

將 base64 編碼的訊息解碼為文字 (unicode) 。 如果輸入內容不是有效的 base 64,將會引發 DecodeError。 訊息資料必須支援 UTF-8。

TextBase64EncodePolicy

文字訊息的基底 64 訊息編碼原則。

將文字 (unicode) 訊息編碼為基底 64。 如果輸入內容不是文字,則會引發 TypeError。 輸入文字必須支援 UTF-8。

列舉

StorageErrorCode

函數

generate_account_sas

產生佇列服務的共用存取簽章。

使用傳回的簽章搭配任何佇列服務的認證參數。

generate_account_sas(account_name: str, account_key: str, resource_types: ResourceTypes | str, permission: AccountSasPermissions | str, expiry: datetime | str, start: datetime | str | None = None, ip: str | None = None, **kwargs: Any) -> str

參數

account_name
str
必要

用來產生共用存取簽章的儲存體帳戶名稱。

account_key
str
必要

帳戶金鑰也稱為共用金鑰或存取金鑰,以產生共用存取簽章。

resource_types
ResourceTypes
必要

指定帳戶 SAS 可存取的資源類型。

permission
AccountSasPermissionsstr
必要

這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。

expiry
datetimestr
必要

共用存取簽章變成不正確時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

start
datetimestr
預設值: None

共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

ip
str
預設值: None

指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip=168.1.5.65 或 sip=168.1.5.60-168.1.5.70 會限制這些 IP 位址的要求。

protocol
str

指定要求允許的通訊協定。 預設值為 HTTPs。

傳回

共用存取簽章 (sas) 權杖。

傳回類型

str

generate_queue_sas

產生佇列的共用存取簽章。

使用傳回的簽章搭配任何佇列服務的認證參數。

generate_queue_sas(account_name: str, queue_name: str, account_key: str, permission: QueueSasPermissions | str | None = None, expiry: datetime | str | None = None, start: datetime | str | None = None, policy_id: str | None = None, ip: str | None = None, **kwargs: Any) -> str

參數

account_name
str
必要

用來產生共用存取簽章的儲存體帳戶名稱。

queue_name
str
必要

佇列的名稱。

account_key
str
必要

帳戶金鑰也稱為共用金鑰或存取金鑰,以產生共用存取簽章。

permission
QueueSasPermissionsstr
預設值: None

這些權限與共用存取簽章相關聯。 使用者只能執行這些權限允許的作業。 除非指定policy_id參考包含此欄位的預存存取原則,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。

expiry
datetimestr
預設值: None

共用存取簽章變成不正確時間。 除非指定policy_id參考包含此欄位的預存存取原則,否則為必要專案。 如果已在相關聯的預存存取原則中指定,則必須省略此欄位。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

start
datetimestr
預設值: None

共用存取簽章生效的時間。 如果省略,此呼叫的開始時間會假設為儲存體服務收到要求的時間。 Azure 一律會將值轉換成 UTC。 如果在沒有時區資訊的情況下傳入日期,則會假設為 UTC。

policy_id
str
預設值: None

長度上限為 64 個字元的唯一值,與預存存取原則相互關聯。 若要建立預存存取原則,請使用 set_queue_access_policy

ip
str
預設值: None

指定要接受要求的 IP 位址或 IP 位址範圍。 如果要求的來源 IP 位址不符合 SAS 權杖上指定的 IP 位址或位址範圍,則不會驗證要求。 例如,在 SAS 上指定 sip='168.1.5.65' 或 sip='168.1.5.60-168.1.5.70' 會限制這些 IP 位址的要求。

protocol
str

指定要求允許的通訊協定。 預設值為 HTTPs。

傳回

共用存取簽章 (sas) 權杖。

傳回類型

str

範例

產生 sas 權杖。


   from azure.storage.queue import generate_queue_sas
   sas_token = generate_queue_sas(
       queue.account_name,
       queue.queue_name,
       queue.credential.account_key,
       policy_id='my-access-policy-id'
   )