Crie ou atualize a política de replicação de objeto da conta de armazenamento.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{accountName}/objectReplicationPolicies/{objectReplicationPolicyId}?api-version=2023-01-01
Parâmetros de URI
Nome |
Em |
Obrigatório |
Tipo |
Description |
accountName
|
path |
True
|
string
|
O nome da conta de armazenamento dentro do grupo de recursos especificado. Os nomes da conta de armazenamento devem ter entre 3 e 24 caracteres, usar números e apenas letras minúsculas.
Regex pattern: ^[a-z0-9]+$
|
objectReplicationPolicyId
|
path |
True
|
string
|
Para a conta de destino, forneça o valor 'default'. Configure a política na conta de destino primeiro. Para a conta de origem, forneça o valor da ID da política retornada quando você baixa a política que foi definida na conta de destino. A política é baixada como um arquivo JSON.
|
resourceGroupName
|
path |
True
|
string
|
O nome do grupo de recursos na assinatura do usuário. O nome diferencia maiúsculas de minúsculas.
Regex pattern: ^[-\w\._\(\)]+$
|
subscriptionId
|
path |
True
|
string
|
A ID da assinatura de destino.
|
api-version
|
query |
True
|
string
|
A versão da API a ser usada para esta operação.
|
Corpo da solicitação
Nome |
Obrigatório |
Tipo |
Description |
properties.destinationAccount
|
True
|
string
|
Obrigatórios. Nome da conta de destino. Ele deverá ser a ID de recurso completa se allowCrossTenantReplication for definido como false.
|
properties.sourceAccount
|
True
|
string
|
Obrigatórios. Nome da conta de origem. Ele deverá ser a ID de recurso completa se allowCrossTenantReplication for definido como false.
|
properties.rules
|
|
ObjectReplicationPolicyRule[]
|
As regras de replicação de objeto da conta de armazenamento.
|
Respostas
Nome |
Tipo |
Description |
200 OK
|
ObjectReplicationPolicy
|
OK -- Coloque a política de replicação de objeto com êxito.
|
Other Status Codes
|
ErrorResponse
|
Resposta de erro que descreve por que a operação falhou.
|
Segurança
azure_auth
Fluxo do OAuth2 do Azure Active Directory
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nome |
Description |
user_impersonation
|
representar sua conta de usuário
|
Exemplos
StorageAccountCreateObjectReplicationPolicyOnDestination
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/default?api-version=2023-01-01
{
"properties": {
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"sourceContainer": "scont139",
"destinationContainer": "dcont139",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
}
]
}
}
import com.azure.resourcemanager.storage.fluent.models.ObjectReplicationPolicyInner;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyFilter;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyRule;
import java.util.Arrays;
/** Samples for ObjectReplicationPoliciesOperation CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/
* StorageAccountCreateObjectReplicationPolicyOnDestination.json
*/
/**
* Sample code: StorageAccountCreateObjectReplicationPolicyOnDestination.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void
storageAccountCreateObjectReplicationPolicyOnDestination(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getObjectReplicationPoliciesOperations()
.createOrUpdateWithResponse("res7687", "dst112", "default",
new ObjectReplicationPolicyInner().withSourceAccount("src1122").withDestinationAccount("dst112")
.withRules(Arrays.asList(new ObjectReplicationPolicyRule().withSourceContainer("scont139")
.withDestinationContainer("dcont139").withFilters(
new ObjectReplicationPolicyFilter().withPrefixMatch(Arrays.asList("blobA", "blobB"))))),
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 storage_account_create_object_replication_policy_on_destination.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.object_replication_policies.create_or_update(
resource_group_name="res7687",
account_name="dst112",
object_replication_policy_id="default",
properties={
"properties": {
"destinationAccount": "dst112",
"rules": [
{
"destinationContainer": "dcont139",
"filters": {"prefixMatch": ["blobA", "blobB"]},
"sourceContainer": "scont139",
}
],
"sourceAccount": "src1122",
}
},
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.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/StorageAccountCreateObjectReplicationPolicyOnDestination.json
func ExampleObjectReplicationPoliciesClient_CreateOrUpdate_storageAccountCreateObjectReplicationPolicyOnDestination() {
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.NewObjectReplicationPoliciesClient().CreateOrUpdate(ctx, "res7687", "dst112", "default", armstorage.ObjectReplicationPolicy{
Properties: &armstorage.ObjectReplicationPolicyProperties{
DestinationAccount: to.Ptr("dst112"),
Rules: []*armstorage.ObjectReplicationPolicyRule{
{
DestinationContainer: to.Ptr("dcont139"),
Filters: &armstorage.ObjectReplicationPolicyFilter{
PrefixMatch: []*string{
to.Ptr("blobA"),
to.Ptr("blobB")},
},
SourceContainer: to.Ptr("scont139"),
}},
SourceAccount: to.Ptr("src1122"),
},
}, nil)
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.ObjectReplicationPolicy = armstorage.ObjectReplicationPolicy{
// Name: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Type: to.Ptr("Microsoft.Storage/storageAccounts/objectReplicationPolicies"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f"),
// Properties: &armstorage.ObjectReplicationPolicyProperties{
// DestinationAccount: to.Ptr("dst112"),
// PolicyID: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Rules: []*armstorage.ObjectReplicationPolicyRule{
// {
// DestinationContainer: to.Ptr("destContainer1"),
// Filters: &armstorage.ObjectReplicationPolicyFilter{
// PrefixMatch: []*string{
// to.Ptr("blobA"),
// to.Ptr("blobB")},
// },
// RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
// SourceContainer: to.Ptr("sourceContainer1"),
// }},
// SourceAccount: to.Ptr("src1122"),
// },
// }
}
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 Create or update the object replication policy of the storage account.
*
* @summary Create or update the object replication policy of the storage account.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnDestination.json
*/
async function storageAccountCreateObjectReplicationPolicyOnDestination() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res7687";
const accountName = "dst112";
const objectReplicationPolicyId = "default";
const properties = {
destinationAccount: "dst112",
rules: [
{
destinationContainer: "dcont139",
filters: { prefixMatch: ["blobA", "blobB"] },
sourceContainer: "scont139",
},
],
sourceAccount: "src1122",
};
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.objectReplicationPoliciesOperations.createOrUpdate(
resourceGroupName,
accountName,
objectReplicationPolicyId,
properties
);
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
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f",
"name": "2a20bb73-5717-4635-985a-5d4cf777438f",
"type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies",
"properties": {
"policyId": "2a20bb73-5717-4635-985a-5d4cf777438f",
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "sourceContainer1",
"destinationContainer": "destContainer1",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
}
]
}
}
StorageAccountCreateObjectReplicationPolicyOnSource
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f?api-version=2023-01-01
{
"properties": {
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
"destinationContainer": "dcont139",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
],
"minCreationTime": "2020-02-19T16:05:00Z"
}
}
]
}
}
import com.azure.resourcemanager.storage.fluent.models.ObjectReplicationPolicyInner;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyFilter;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyRule;
import java.util.Arrays;
/** Samples for ObjectReplicationPoliciesOperation CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/
* StorageAccountCreateObjectReplicationPolicyOnSource.json
*/
/**
* Sample code: StorageAccountCreateObjectReplicationPolicyOnSource.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void
storageAccountCreateObjectReplicationPolicyOnSource(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getObjectReplicationPoliciesOperations()
.createOrUpdateWithResponse("res7687", "src1122", "2a20bb73-5717-4635-985a-5d4cf777438f",
new ObjectReplicationPolicyInner().withSourceAccount("src1122").withDestinationAccount("dst112")
.withRules(Arrays
.asList(new ObjectReplicationPolicyRule().withRuleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.withSourceContainer("scont139").withDestinationContainer("dcont139").withFilters(
new ObjectReplicationPolicyFilter().withPrefixMatch(Arrays.asList("blobA", "blobB"))
.withMinCreationTime("2020-02-19T16:05:00Z")))),
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 storage_account_create_object_replication_policy_on_source.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.object_replication_policies.create_or_update(
resource_group_name="res7687",
account_name="src1122",
object_replication_policy_id="2a20bb73-5717-4635-985a-5d4cf777438f",
properties={
"properties": {
"destinationAccount": "dst112",
"rules": [
{
"destinationContainer": "dcont139",
"filters": {"minCreationTime": "2020-02-19T16:05:00Z", "prefixMatch": ["blobA", "blobB"]},
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
}
],
"sourceAccount": "src1122",
}
},
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.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/StorageAccountCreateObjectReplicationPolicyOnSource.json
func ExampleObjectReplicationPoliciesClient_CreateOrUpdate_storageAccountCreateObjectReplicationPolicyOnSource() {
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.NewObjectReplicationPoliciesClient().CreateOrUpdate(ctx, "res7687", "src1122", "2a20bb73-5717-4635-985a-5d4cf777438f", armstorage.ObjectReplicationPolicy{
Properties: &armstorage.ObjectReplicationPolicyProperties{
DestinationAccount: to.Ptr("dst112"),
Rules: []*armstorage.ObjectReplicationPolicyRule{
{
DestinationContainer: to.Ptr("dcont139"),
Filters: &armstorage.ObjectReplicationPolicyFilter{
MinCreationTime: to.Ptr("2020-02-19T16:05:00Z"),
PrefixMatch: []*string{
to.Ptr("blobA"),
to.Ptr("blobB")},
},
RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
SourceContainer: to.Ptr("scont139"),
}},
SourceAccount: to.Ptr("src1122"),
},
}, nil)
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.ObjectReplicationPolicy = armstorage.ObjectReplicationPolicy{
// Name: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Type: to.Ptr("Microsoft.Storage/storageAccounts/objectReplicationPolicies"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f"),
// Properties: &armstorage.ObjectReplicationPolicyProperties{
// DestinationAccount: to.Ptr("dst112"),
// EnabledTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-06-08T03:01:55.716Z"); return t}()),
// PolicyID: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Rules: []*armstorage.ObjectReplicationPolicyRule{
// {
// DestinationContainer: to.Ptr("destContainer1"),
// Filters: &armstorage.ObjectReplicationPolicyFilter{
// MinCreationTime: to.Ptr("2020-02-19T16:05:00Z"),
// PrefixMatch: []*string{
// to.Ptr("blobA"),
// to.Ptr("blobB")},
// },
// RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
// SourceContainer: to.Ptr("sourceContainer1"),
// }},
// SourceAccount: to.Ptr("src1122"),
// },
// }
}
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 Create or update the object replication policy of the storage account.
*
* @summary Create or update the object replication policy of the storage account.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountCreateObjectReplicationPolicyOnSource.json
*/
async function storageAccountCreateObjectReplicationPolicyOnSource() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res7687";
const accountName = "src1122";
const objectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f";
const properties = {
destinationAccount: "dst112",
rules: [
{
destinationContainer: "dcont139",
filters: {
minCreationTime: "2020-02-19T16:05:00Z",
prefixMatch: ["blobA", "blobB"],
},
ruleId: "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
sourceContainer: "scont139",
},
],
sourceAccount: "src1122",
};
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.objectReplicationPoliciesOperations.createOrUpdate(
resourceGroupName,
accountName,
objectReplicationPolicyId,
properties
);
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
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f",
"name": "2a20bb73-5717-4635-985a-5d4cf777438f",
"type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies",
"properties": {
"policyId": "2a20bb73-5717-4635-985a-5d4cf777438f",
"enabledTime": "2019-06-08T03:01:55.7168089Z",
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "sourceContainer1",
"destinationContainer": "destContainer1",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
],
"minCreationTime": "2020-02-19T16:05:00Z"
}
}
]
}
}
StorageAccountUpdateObjectReplicationPolicyOnDestination
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f?api-version=2023-01-01
{
"properties": {
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
"destinationContainer": "dcont139",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
},
{
"sourceContainer": "scont179",
"destinationContainer": "dcont179"
}
]
}
}
import com.azure.resourcemanager.storage.fluent.models.ObjectReplicationPolicyInner;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyFilter;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyRule;
import java.util.Arrays;
/** Samples for ObjectReplicationPoliciesOperation CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/
* StorageAccountUpdateObjectReplicationPolicyOnDestination.json
*/
/**
* Sample code: StorageAccountUpdateObjectReplicationPolicyOnDestination.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void
storageAccountUpdateObjectReplicationPolicyOnDestination(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getObjectReplicationPoliciesOperations()
.createOrUpdateWithResponse("res7687", "dst112", "2a20bb73-5717-4635-985a-5d4cf777438f",
new ObjectReplicationPolicyInner().withSourceAccount("src1122").withDestinationAccount("dst112")
.withRules(
Arrays.asList(
new ObjectReplicationPolicyRule().withRuleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.withSourceContainer("scont139").withDestinationContainer("dcont139")
.withFilters(new ObjectReplicationPolicyFilter()
.withPrefixMatch(Arrays.asList("blobA", "blobB"))),
new ObjectReplicationPolicyRule().withSourceContainer("scont179")
.withDestinationContainer("dcont179"))),
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 storage_account_update_object_replication_policy_on_destination.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.object_replication_policies.create_or_update(
resource_group_name="res7687",
account_name="dst112",
object_replication_policy_id="2a20bb73-5717-4635-985a-5d4cf777438f",
properties={
"properties": {
"destinationAccount": "dst112",
"rules": [
{
"destinationContainer": "dcont139",
"filters": {"prefixMatch": ["blobA", "blobB"]},
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
},
{"destinationContainer": "dcont179", "sourceContainer": "scont179"},
],
"sourceAccount": "src1122",
}
},
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.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/StorageAccountUpdateObjectReplicationPolicyOnDestination.json
func ExampleObjectReplicationPoliciesClient_CreateOrUpdate_storageAccountUpdateObjectReplicationPolicyOnDestination() {
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.NewObjectReplicationPoliciesClient().CreateOrUpdate(ctx, "res7687", "dst112", "2a20bb73-5717-4635-985a-5d4cf777438f", armstorage.ObjectReplicationPolicy{
Properties: &armstorage.ObjectReplicationPolicyProperties{
DestinationAccount: to.Ptr("dst112"),
Rules: []*armstorage.ObjectReplicationPolicyRule{
{
DestinationContainer: to.Ptr("dcont139"),
Filters: &armstorage.ObjectReplicationPolicyFilter{
PrefixMatch: []*string{
to.Ptr("blobA"),
to.Ptr("blobB")},
},
RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
SourceContainer: to.Ptr("scont139"),
},
{
DestinationContainer: to.Ptr("dcont179"),
SourceContainer: to.Ptr("scont179"),
}},
SourceAccount: to.Ptr("src1122"),
},
}, nil)
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.ObjectReplicationPolicy = armstorage.ObjectReplicationPolicy{
// Name: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Type: to.Ptr("Microsoft.Storage/storageAccounts/objectReplicationPolicies"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f"),
// Properties: &armstorage.ObjectReplicationPolicyProperties{
// DestinationAccount: to.Ptr("dst112"),
// PolicyID: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Rules: []*armstorage.ObjectReplicationPolicyRule{
// {
// DestinationContainer: to.Ptr("destContainer1"),
// Filters: &armstorage.ObjectReplicationPolicyFilter{
// PrefixMatch: []*string{
// to.Ptr("blobA"),
// to.Ptr("blobB")},
// },
// RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
// SourceContainer: to.Ptr("sourceContainer1"),
// },
// {
// DestinationContainer: to.Ptr("dcont179"),
// RuleID: to.Ptr("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2"),
// SourceContainer: to.Ptr("scont179"),
// }},
// SourceAccount: to.Ptr("src1122"),
// },
// }
}
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 Create or update the object replication policy of the storage account.
*
* @summary Create or update the object replication policy of the storage account.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnDestination.json
*/
async function storageAccountUpdateObjectReplicationPolicyOnDestination() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res7687";
const accountName = "dst112";
const objectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f";
const properties = {
destinationAccount: "dst112",
rules: [
{
destinationContainer: "dcont139",
filters: { prefixMatch: ["blobA", "blobB"] },
ruleId: "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
sourceContainer: "scont139",
},
{ destinationContainer: "dcont179", sourceContainer: "scont179" },
],
sourceAccount: "src1122",
};
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.objectReplicationPoliciesOperations.createOrUpdate(
resourceGroupName,
accountName,
objectReplicationPolicyId,
properties
);
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
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/dst112/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f",
"name": "2a20bb73-5717-4635-985a-5d4cf777438f",
"type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies",
"properties": {
"policyId": "2a20bb73-5717-4635-985a-5d4cf777438f",
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "sourceContainer1",
"destinationContainer": "destContainer1",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
},
{
"ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
"sourceContainer": "scont179",
"destinationContainer": "dcont179"
}
]
}
}
StorageAccountUpdateObjectReplicationPolicyOnSource
Sample Request
PUT https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f?api-version=2023-01-01
{
"properties": {
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
"destinationContainer": "dcont139",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
},
{
"ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
"sourceContainer": "scont179",
"destinationContainer": "dcont179"
}
]
}
}
import com.azure.resourcemanager.storage.fluent.models.ObjectReplicationPolicyInner;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyFilter;
import com.azure.resourcemanager.storage.models.ObjectReplicationPolicyRule;
import java.util.Arrays;
/** Samples for ObjectReplicationPoliciesOperation CreateOrUpdate. */
public final class Main {
/*
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/
* StorageAccountUpdateObjectReplicationPolicyOnSource.json
*/
/**
* Sample code: StorageAccountUpdateObjectReplicationPolicyOnSource.
*
* @param azure The entry point for accessing resource management APIs in Azure.
*/
public static void
storageAccountUpdateObjectReplicationPolicyOnSource(com.azure.resourcemanager.AzureResourceManager azure) {
azure.storageAccounts().manager().serviceClient().getObjectReplicationPoliciesOperations()
.createOrUpdateWithResponse("res7687", "src1122", "2a20bb73-5717-4635-985a-5d4cf777438f",
new ObjectReplicationPolicyInner().withSourceAccount("src1122").withDestinationAccount("dst112")
.withRules(
Arrays.asList(
new ObjectReplicationPolicyRule().withRuleId("d5d18a48-8801-4554-aeaa-74faf65f5ef9")
.withSourceContainer("scont139").withDestinationContainer("dcont139")
.withFilters(new ObjectReplicationPolicyFilter()
.withPrefixMatch(Arrays.asList("blobA", "blobB"))),
new ObjectReplicationPolicyRule().withRuleId("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2")
.withSourceContainer("scont179").withDestinationContainer("dcont179"))),
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 storage_account_update_object_replication_policy_on_source.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.object_replication_policies.create_or_update(
resource_group_name="res7687",
account_name="src1122",
object_replication_policy_id="2a20bb73-5717-4635-985a-5d4cf777438f",
properties={
"properties": {
"destinationAccount": "dst112",
"rules": [
{
"destinationContainer": "dcont139",
"filters": {"prefixMatch": ["blobA", "blobB"]},
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "scont139",
},
{
"destinationContainer": "dcont179",
"ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
"sourceContainer": "scont179",
},
],
"sourceAccount": "src1122",
}
},
)
print(response)
# x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.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/StorageAccountUpdateObjectReplicationPolicyOnSource.json
func ExampleObjectReplicationPoliciesClient_CreateOrUpdate_storageAccountUpdateObjectReplicationPolicyOnSource() {
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.NewObjectReplicationPoliciesClient().CreateOrUpdate(ctx, "res7687", "src1122", "2a20bb73-5717-4635-985a-5d4cf777438f", armstorage.ObjectReplicationPolicy{
Properties: &armstorage.ObjectReplicationPolicyProperties{
DestinationAccount: to.Ptr("dst112"),
Rules: []*armstorage.ObjectReplicationPolicyRule{
{
DestinationContainer: to.Ptr("dcont139"),
Filters: &armstorage.ObjectReplicationPolicyFilter{
PrefixMatch: []*string{
to.Ptr("blobA"),
to.Ptr("blobB")},
},
RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
SourceContainer: to.Ptr("scont139"),
},
{
DestinationContainer: to.Ptr("dcont179"),
RuleID: to.Ptr("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2"),
SourceContainer: to.Ptr("scont179"),
}},
SourceAccount: to.Ptr("src1122"),
},
}, nil)
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.ObjectReplicationPolicy = armstorage.ObjectReplicationPolicy{
// Name: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Type: to.Ptr("Microsoft.Storage/storageAccounts/objectReplicationPolicies"),
// ID: to.Ptr("/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f"),
// Properties: &armstorage.ObjectReplicationPolicyProperties{
// DestinationAccount: to.Ptr("dst112"),
// EnabledTime: to.Ptr(func() time.Time { t, _ := time.Parse(time.RFC3339Nano, "2019-06-08T03:01:55.716Z"); return t}()),
// PolicyID: to.Ptr("2a20bb73-5717-4635-985a-5d4cf777438f"),
// Rules: []*armstorage.ObjectReplicationPolicyRule{
// {
// DestinationContainer: to.Ptr("destContainer1"),
// Filters: &armstorage.ObjectReplicationPolicyFilter{
// PrefixMatch: []*string{
// to.Ptr("blobA"),
// to.Ptr("blobB")},
// },
// RuleID: to.Ptr("d5d18a48-8801-4554-aeaa-74faf65f5ef9"),
// SourceContainer: to.Ptr("sourceContainer1"),
// },
// {
// DestinationContainer: to.Ptr("dcont179"),
// RuleID: to.Ptr("cfbb4bc2-8b60-429f-b05a-d1e0942b33b2"),
// SourceContainer: to.Ptr("scont179"),
// }},
// SourceAccount: to.Ptr("src1122"),
// },
// }
}
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 Create or update the object replication policy of the storage account.
*
* @summary Create or update the object replication policy of the storage account.
* x-ms-original-file: specification/storage/resource-manager/Microsoft.Storage/stable/2023-01-01/examples/StorageAccountUpdateObjectReplicationPolicyOnSource.json
*/
async function storageAccountUpdateObjectReplicationPolicyOnSource() {
const subscriptionId = process.env["STORAGE_SUBSCRIPTION_ID"] || "{subscription-id}";
const resourceGroupName = process.env["STORAGE_RESOURCE_GROUP"] || "res7687";
const accountName = "src1122";
const objectReplicationPolicyId = "2a20bb73-5717-4635-985a-5d4cf777438f";
const properties = {
destinationAccount: "dst112",
rules: [
{
destinationContainer: "dcont139",
filters: { prefixMatch: ["blobA", "blobB"] },
ruleId: "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
sourceContainer: "scont139",
},
{
destinationContainer: "dcont179",
ruleId: "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
sourceContainer: "scont179",
},
],
sourceAccount: "src1122",
};
const credential = new DefaultAzureCredential();
const client = new StorageManagementClient(credential, subscriptionId);
const result = await client.objectReplicationPoliciesOperations.createOrUpdate(
resourceGroupName,
accountName,
objectReplicationPolicyId,
properties
);
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
{
"id": "/subscriptions/{subscription-id}/resourceGroups/res7687/providers/Microsoft.Storage/storageAccounts/src1122/objectReplicationPolicies/2a20bb73-5717-4635-985a-5d4cf777438f",
"name": "2a20bb73-5717-4635-985a-5d4cf777438f",
"type": "Microsoft.Storage/storageAccounts/objectReplicationPolicies",
"properties": {
"policyId": "2a20bb73-5717-4635-985a-5d4cf777438f",
"enabledTime": "2019-06-08T03:01:55.7168089Z",
"sourceAccount": "src1122",
"destinationAccount": "dst112",
"rules": [
{
"ruleId": "d5d18a48-8801-4554-aeaa-74faf65f5ef9",
"sourceContainer": "sourceContainer1",
"destinationContainer": "destContainer1",
"filters": {
"prefixMatch": [
"blobA",
"blobB"
]
}
},
{
"ruleId": "cfbb4bc2-8b60-429f-b05a-d1e0942b33b2",
"sourceContainer": "scont179",
"destinationContainer": "dcont179"
}
]
}
}
Definições
Nome |
Description |
ErrorResponse
|
Uma resposta de erro do provedor de recursos de armazenamento.
|
ErrorResponseBody
|
Contrato do corpo da resposta de erro.
|
ObjectReplicationPolicy
|
A política de replicação entre duas contas de armazenamento. Várias regras podem ser definidas em uma política.
|
ObjectReplicationPolicyFilter
|
Os filtros limitam a replicação a um subconjunto de blobs dentro da conta de armazenamento. Um OR lógico é executado em valores no filtro. Se vários filtros forem definidos, um AND lógico será executado em todos os filtros.
|
ObjectReplicationPolicyRule
|
A regra de política de replicação entre dois contêineres.
|
ErrorResponse
Uma resposta de erro do provedor de recursos de armazenamento.
Nome |
Tipo |
Description |
error
|
ErrorResponseBody
|
Corpo da resposta de erro do Provedor de Recursos do Armazenamento do Azure.
|
ErrorResponseBody
Contrato do corpo da resposta de erro.
Nome |
Tipo |
Description |
code
|
string
|
Um identificador para o erro. Os códigos são invariáveis e devem ser consumidos programaticamente.
|
message
|
string
|
Uma mensagem que descreve o erro, destinada a ser adequada para exibição em uma interface do usuário.
|
ObjectReplicationPolicy
A política de replicação entre duas contas de armazenamento. Várias regras podem ser definidas em uma política.
Nome |
Tipo |
Description |
id
|
string
|
ID de recurso totalmente qualificada para o recurso. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
|
name
|
string
|
O nome do recurso
|
properties.destinationAccount
|
string
|
Obrigatórios. Nome da conta de destino. Ele deverá ser a ID de recurso completa se allowCrossTenantReplication for definido como false.
|
properties.enabledTime
|
string
|
Indica quando a política está habilitada na conta de origem.
|
properties.policyId
|
string
|
Uma ID exclusiva para a política de replicação de objeto.
|
properties.rules
|
ObjectReplicationPolicyRule[]
|
As regras de replicação de objeto da conta de armazenamento.
|
properties.sourceAccount
|
string
|
Obrigatórios. Nome da conta de origem. Ele deverá ser a ID de recurso completa se allowCrossTenantReplication for definido como false.
|
type
|
string
|
Tipo do recurso. Por exemplo, "Microsoft.Compute/virtualMachines" ou "Microsoft.Storage/storageAccounts"
|
ObjectReplicationPolicyFilter
Os filtros limitam a replicação a um subconjunto de blobs dentro da conta de armazenamento. Um OR lógico é executado em valores no filtro. Se vários filtros forem definidos, um AND lógico será executado em todos os filtros.
Nome |
Tipo |
Description |
minCreationTime
|
string
|
Os blobs criados após a hora serão replicados para o destino. Ele deve estar no formato datetime 'y-MM-ddTHH:mm:ssZ'. Exemplo: 2020-02-19T16:05:00Z
|
prefixMatch
|
string[]
|
Opcional. Filtra os resultados para replicar apenas blobs cujos nomes começam com o prefixo especificado.
|
ObjectReplicationPolicyRule
A regra de política de replicação entre dois contêineres.
Nome |
Tipo |
Description |
destinationContainer
|
string
|
Obrigatórios. Nome do contêiner de destino.
|
filters
|
ObjectReplicationPolicyFilter
|
Opcional. Um objeto que define o conjunto de filtros.
|
ruleId
|
string
|
A ID da regra é gerada automaticamente para cada nova regra na conta de destino. É necessário colocar a política na conta de origem.
|
sourceContainer
|
string
|
Obrigatórios. Nome do contêiner de origem.
|