Der Lease Share-Vorgang richtet eine Sperre für eine Freigabe für Löschvorgänge ein und verwaltet diese. Die Sperrdauer kann 15 bis 60 Sekunden betragen oder unendlich sein.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/fileServices/default/shares/{shareName}/lease?api-version=2023-01-01
URI-Parameter
Name |
In |
Erforderlich |
Typ |
Beschreibung |
accountName
|
path |
True
|
string
|
Der Name des Speicherkontos innerhalb der angegebenen Ressourcengruppe. Speicherkontonamen müssen zwischen 3 und 24 Zeichen lang sein und dürfen nur Zahlen und Kleinbuchstaben enthalten.
Regex pattern: ^[a-z0-9]+$
|
resourceGroupName
|
path |
True
|
string
|
Der Name der Ressourcengruppe im Abonnement des Benutzers. Für den Namen wird die Groß-/Kleinschreibung nicht beachtet.
Regex pattern: ^[-\w\._\(\)]+$
|
shareName
|
path |
True
|
string
|
Der Name der Dateifreigabe innerhalb des angegebenen Speicherkontos. Dateinamen müssen zwischen 3 und 63 Zeichen lang sein und nur Zahlen, Kleinbuchstaben und Bindestriche (-) verwenden. Direkt vor und nach jedem Bindestrich (-) muss ein Buchstabe oder eine Ziffer stehen.
|
subscriptionId
|
path |
True
|
string
|
Hierbei handelt es sich um die ID des Zielabonnements.
|
api-version
|
query |
True
|
string
|
Hierbei handelt es sich um die für diesen Vorgang zu verwendende API-Version.
|
Name |
Erforderlich |
Typ |
Beschreibung |
x-ms-snapshot
|
|
string
|
Optional. Geben Sie die Momentaufnahme Zeit für das Leasen eines Momentaufnahme an.
|
Anforderungstext
Name |
Erforderlich |
Typ |
Beschreibung |
action
|
True
|
LeaseShareAction
|
Gibt die Leaseaktion an. Kann eine der verfügbaren Aktionen sein.
|
breakPeriod
|
|
integer
|
Optional. Bei einer Unterbrechungsaktion sollte die vorgeschlagene Dauer der Lease fortgesetzt werden, bevor sie unterbrochen wird, in Sekunden zwischen 0 und 60.
|
leaseDuration
|
|
integer
|
Erforderlich für acquire. Gibt die Dauer der Lease in Sekunden oder als minus eins (-1) für eine nie ablaufende Lease an.
|
leaseId
|
|
string
|
Gibt die Lease an. Kann in einem beliebigen gültigen GUID-Zeichenfolgenformat angegeben werden.
|
proposedLeaseId
|
|
string
|
Optional für acquire, erforderlich für Änderungen. Vorgeschlagene Lease-ID in einem GUID-Zeichenfolgenformat.
|
Antworten
Name |
Typ |
Beschreibung |
200 OK
|
LeaseShareResponse
|
OK : Der Lease Share-Vorgang wurde erfolgreich abgeschlossen.
Headers
ETag: string
|
Other Status Codes
|
CloudError
|
Fehlerantwort mit Beschreibung des Grunds für den Fehler.
|
Sicherheit
azure_auth
Azure Active Directory-OAuth2-Flow
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Name |
Beschreibung |
user_impersonation
|
Identitätswechsel Ihres Benutzerkontos
|
Beispiele
Acquire a lease on a share
Sample Request
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share124/lease?api-version=2023-01-01
{
"action": "Acquire",
"leaseId": null,
"breakPeriod": null,
"leaseDuration": -1,
"proposedLeaseId": null
}
import com.azure.resourcemanager.storage.models.LeaseShareAction;
import com.azure.resourcemanager.storage.models.LeaseShareRequest;
/** Samples for FileShares Lease. */
public final class Main {
/*
* x-ms-original-file:
* specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json
*/
/**
* Sample code: Acquire a lease on a share.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void acquireALeaseOnAShare(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getFileShares().leaseWithResponse("res3376", "sto328",
"share124", null, new LeaseShareRequest().withAction(LeaseShareAction.ACQUIRE).withLeaseDuration(-1),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.storage import StorageManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-storage
# USAGE
python file_shares_lease_acquire.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = StorageManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.file_shares.lease(
resource_group_name="res3376",
account_name="sto328",
share_name="share124",
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armstorage_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0baf811c3c76c87b3c127d098519bd97141222dd/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json
func ExampleFileSharesClient_Lease_acquireALeaseOnAShare() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armstorage.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewFileSharesClient().Lease(ctx, "res3376", "sto328", "share124", &armstorage.FileSharesClientLeaseOptions{XMSSnapshot: nil,
Parameters: &armstorage.LeaseShareRequest{
Action: to.Ptr(armstorage.LeaseShareActionAcquire),
LeaseDuration: to.Ptr[int32](-1),
},
})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LeaseShareResponse = armstorage.LeaseShareResponse{
// LeaseID: to.Ptr("8698f513-fa75-44a1-b8eb-30ba336af27d"),
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { StorageManagementClient } = require("@azure/arm-storage");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
*
* @summary The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Acquire.json
*/
async function acquireALeaseOnAShare() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res3376";
const accountName = "sto328";
const shareName = "share124";
const parameters = {
action: "Acquire",
breakPeriod: undefined,
leaseDuration: -1,
leaseId: undefined,
proposedLeaseId: undefined,
};
const options = { parameters };
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.fileShares.lease(resourceGroupName, accountName, shareName, options);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d"
}
Break a lease on a share
Sample Request
POST https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res3376/providers/Microsoft.Storage/storageAccounts/sto328/fileServices/default/shares/share12/lease?api-version=2023-01-01
{
"action": "Break",
"leaseId": "8698f513-fa75-44a1-b8eb-30ba336af27d",
"breakPeriod": null,
"leaseDuration": null,
"proposedLeaseId": null
}
import com.azure.resourcemanager.storage.models.LeaseShareAction;
import com.azure.resourcemanager.storage.models.LeaseShareRequest;
/** Samples for FileShares Lease. */
public final class Main {
/*
* x-ms-original-file:
* specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json
*/
/**
* Sample code: Break a lease on a share.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void breakALeaseOnAShare(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getFileShares()
.leaseWithResponse("res3376", "sto328", "share12", null, new LeaseShareRequest()
.withAction(LeaseShareAction.BREAK).withLeaseId("8698f513-fa75-44a1-b8eb-30ba336af27d"),
com.azure.core.util.Context.NONE);
}
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
from azure.identity import DefaultAzureCredential
from azure.mgmt.storage import StorageManagementClient
"""
# PREREQUISITES
pip install azure-identity
pip install azure-mgmt-storage
# USAGE
python file_shares_lease_break.py
Before run the sample, please set the values of the client ID, tenant ID and client secret
of the AAD application as environment variables: AZURE_CLIENT_ID, AZURE_TENANT_ID,
AZURE_CLIENT_SECRET. For more info about how to get the value, please see:
https://docs.microsoft.com/azure/active-directory/develop/howto-create-service-principal-portal
"""
def main():
client = StorageManagementClient(
credential=DefaultAzureCredential(),
subscription_id="{subscription-id}",
)
response = client.file_shares.lease(
resource_group_name="res3376",
account_name="sto328",
share_name="share12",
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json
if __name__ == "__main__":
main()
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
package armstorage_test
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage"
)
// Generated from example definition: https://github.com/Azure/azure-rest-api-specs/blob/0baf811c3c76c87b3c127d098519bd97141222dd/specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json
func ExampleFileSharesClient_Lease_breakALeaseOnAShare() {
cred, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
log.Fatalf("failed to obtain a credential: %v", err)
}
ctx := context.Background()
clientFactory, err := armstorage.NewClientFactory("<subscription-id>", cred, nil)
if err != nil {
log.Fatalf("failed to create client: %v", err)
}
res, err := clientFactory.NewFileSharesClient().Lease(ctx, "res3376", "sto328", "share12", &armstorage.FileSharesClientLeaseOptions{XMSSnapshot: nil,
Parameters: &armstorage.LeaseShareRequest{
Action: to.Ptr(armstorage.LeaseShareActionBreak),
LeaseID: to.Ptr("8698f513-fa75-44a1-b8eb-30ba336af27d"),
},
})
if err != nil {
log.Fatalf("failed to finish the request: %v", err)
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
// If the HTTP response code is 200 as defined in example definition, your response structure would look as follows. Please pay attention that all the values in the output are fake values for just demo purposes.
// res.LeaseShareResponse = armstorage.LeaseShareResponse{
// LeaseTimeSeconds: to.Ptr("0"),
// }
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
const { StorageManagementClient } = require("@azure/arm-storage");
const { DefaultAzureCredential } = require("@azure/identity");
/**
* This sample demonstrates how to The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
*
* @summary The Lease Share operation establishes and manages a lock on a share for delete operations. The lock duration can be 15 to 60 seconds, or can be infinite.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/FileSharesLease_Break.json
*/
async function breakALeaseOnAShare() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res3376";
const accountName = "sto328";
const shareName = "share12";
const parameters = {
action: "Break",
breakPeriod: undefined,
leaseDuration: undefined,
leaseId: "8698f513-fa75-44a1-b8eb-30ba336af27d",
proposedLeaseId: undefined,
};
const options = { parameters };
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.fileShares.lease(resourceGroupName, accountName, shareName, options);
console.log(result);
}
To use the Azure SDK library in your project, see this documentation. To provide feedback on this code sample, open a GitHub issue
Sample Response
{
"leaseTimeSeconds": "0"
}
Definitionen
CloudError
Eine Fehlerantwort des Speicherdiensts.
Name |
Typ |
Beschreibung |
error
|
CloudErrorBody
|
Eine Fehlerantwort des Speicherdiensts.
|
CloudErrorBody
Eine Fehlerantwort des Speicherdiensts.
Name |
Typ |
Beschreibung |
code
|
string
|
Ein Bezeichner für den Fehler. Codes sind unveränderlich und sollten programmgesteuert verwendet werden.
|
details
|
CloudErrorBody[]
|
Eine Liste mit zusätzlichen Details zum Fehler.
|
message
|
string
|
Eine Meldung, die den Fehler beschreibt, der für die Anzeige in einer Benutzeroberfläche geeignet sein soll.
|
target
|
string
|
Das Ziel des jeweiligen Fehlers. Beispiel: Der Name der -Eigenschaft im Fehler.
|
LeaseShareAction
Gibt die Leaseaktion an. Kann eine der verfügbaren Aktionen sein.
Name |
Typ |
Beschreibung |
Acquire
|
string
|
|
Break
|
string
|
|
Change
|
string
|
|
Release
|
string
|
|
Renew
|
string
|
|
LeaseShareRequest
Lease Share-Anforderungsschema.
Name |
Typ |
Beschreibung |
action
|
LeaseShareAction
|
Gibt die Leaseaktion an. Kann eine der verfügbaren Aktionen sein.
|
breakPeriod
|
integer
|
Optional. Bei einer Unterbrechungsaktion sollte die vorgeschlagene Dauer der Lease fortgesetzt werden, bevor sie unterbrochen wird, in Sekunden zwischen 0 und 60.
|
leaseDuration
|
integer
|
Erforderlich für acquire. Gibt die Dauer der Lease in Sekunden oder als minus eins (-1) für eine nie ablaufende Lease an.
|
leaseId
|
string
|
Gibt die Lease an. Kann in einem beliebigen gültigen GUID-Zeichenfolgenformat angegeben werden.
|
proposedLeaseId
|
string
|
Optional für acquire, erforderlich für Änderungen. Vorgeschlagene Lease-ID in einem GUID-Zeichenfolgenformat.
|
LeaseShareResponse
Lease Share-Antwortschema.
Name |
Typ |
Beschreibung |
leaseId
|
string
|
Eindeutige Lease-ID zurückgegeben, die in jeder Anforderung zum Löschen der Freigabe oder zum Verlängern, Ändern oder Freigeben der Lease enthalten sein muss.
|
leaseTimeSeconds
|
string
|
Die geschätzte verbleibende Zeit der Leasedauer in Sekunden.
|