Início Rápido: Gerenciar listas de supressão de domínio nos Serviços de Comunicação do Azure usando as bibliotecas de cliente de gerenciamento
Importante
A funcionalidade descrita neste artigo está atualmente em versão prévia pública. Essa versão prévia é fornecida sem um contrato de nível de serviço e não é recomendada para cargas de trabalho de produção. Alguns recursos podem não ter suporte ou podem ter restrição de recursos. Para obter mais informações, consulte Termos de Uso Complementares de Versões Prévias do Microsoft Azure.
Este início rápido aborda o processo de gerenciamento de listas de supressão de domínio nos Serviços de Comunicação do Azure usando as bibliotecas de clientes de gerenciamento dos Serviços de Comunicação do Azure.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um Recurso dos Serviços de Comunicação por Email do Azure pronto para provisionar domínios. Comece a criar o Recurso de Comunicação por Email.
- Um Domínio Gerenciado do Azure ou um Domínio Personalizado provisionado e pronto para enviar emails.
- Estamos usando uma entidade de serviço para a autenticação. Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo Azure Active Directory (AD) como as seguintes variáveis de ambiente:
AZURE_CLIENT_ID
,AZURE_TENANT_ID
, eAZURE_CLIENT_SECRET
.
Instalação dos pacotes necessários
dotnet add package Azure.ResourceManager.Communication
dotnet add package Azure.Identity
Inicializar o cliente de gerenciamento
Configure a variável de ambiente AZURE_SUBSCRIPTION_ID
com a ID da assinatura em que o seu Domínio e seus recursos de Email estão incluídos. Execute a amostra de código para inicializar o cliente de gerenciamento.
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Communication;
ArmClient client = new ArmClient(new DefaultAzureCredential());
Adicionar uma lista de supressão a um recurso de domínio
Para impedir que suas mensagens de email sejam enviadas para determinados endereços, a primeira etapa é configurar uma lista de supressão no recurso de domínio.
Atualize o exemplo de código com o nome do grupo de recursos, o nome do serviço de email e o nome do recurso de domínio para o qual você deseja criar a lista de supressão. Encontre essas informações no portal, navegando até o recurso de domínio que você criou ao configurar os pré-requisitos. O título do recurso é <your-email-service-name>/<your-domain-name>
. Localize o nome do grupo de recursos e o ID da assinatura nas seções Essentials da visão geral dos recursos do domínio. Escolha qualquer nome para o recurso de lista de supressão e atualize esse campo no exemplo também.
Para o nome da lista, verifique se ele é o mesmo que o nome de usuário do remetente do endereço MailFrom do qual você gostaria de suprimir emails. Esses endereços MailFrom podem ser encontrados na seção "Endereços MailFrom" do recurso de domínio no portal. Por exemplo, você pode ter um endereço MailFrom semelhante a "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net". O nome de usuário do remetente para esse endereço seria "donotreply", portanto, um nome de lista de "donotreply" deve ser usado.
O exemplo de código criará a lista de supressão e a armazenará na variável suppressionListResource
para operações futuras.
string subscriptionId = "<your-subscription-id>"; // Found in the essentials section of the domain resource portal overview
string resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
string emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
string domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
string suppressionListResourceName = "<your-suppression-list-resource-name>";
ResourceIdentifier suppressionListResourceId = SuppressionListResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName);
SuppressionListResource suppressionListResource = client.GetSuppressionListResource(suppressionListResourceId);
SuppressionListResourceData suppressionListData = new SuppressionListResourceData()
{
ListName = "<your-sender-username>", // Should match the sender username of the MailFrom address you would like to suppress emails from
};
suppressionListResource.Update(WaitUntil.Completed, suppressionListData);
Se você quiser suprimir emails de todos os nomes de usuário do remetente em um domínio específico, poderá passar uma cadeia de caracteres vazia para o nome da lista.
SuppressionListResourceData suppressionListData = new SuppressionListResourceData()
{
ListName = "",
};
suppressionListResource.Update(WaitUntil.Completed, suppressionListData);
Adicionar um endereço a uma lista de supressão
Depois de configurar a lista de supressão, agora você pode adicionar endereços de email específicos aos quais deseja impedir que suas mensagens de email sejam enviadas.
Atualize o exemplo de código com a ID do endereço da lista de supressão. Cada ID de endereço de lista de supressão que você adicionar precisa ser exclusiva. É recomendável usar GUID. Atualize o endereço de email que você deseja impedir de receber suas mensagens também.
Para adicionar vários endereços à lista de supressão, você precisa repetir esse exemplo de código várias vezes.
string suppressionListAddressId = "<your-suppression-list-address-id>";
ResourceIdentifier suppressionListAddressResourceId = SuppressionListAddressResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName, suppressionListAddressId);
SuppressionListAddressResource suppressionListAddressResource = client.GetSuppressionListAddressResource(suppressionListAddressResourceId);
SuppressionListAddressResourceData suppressionListAddressData = new SuppressionListAddressResourceData()
{
Email = "<email-address-to-suppress>" // Should match the email address you would like to block from receiving your messages
};
suppressionListAddressResource.Update(WaitUntil.Completed, suppressionListAddressData);
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolheu suprimir. Seu email não será enviado para o endereço suprimido.
Se você tentar enviar um email de um nome de usuário do remetente que não é suprimido, o email ainda enviará com êxito.
Remover um endereço de uma lista de supressão
Para remover um endereço da lista de supressão, crie o SuppressionListAddressResource
conforme mostrado nos exemplos de código anteriores e chame o método Delete
.
suppressionListAddressResource.Delete(WaitUntil.Completed);
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolher suprimir. Seu email será enviado com êxito para o endereço suprimido anteriormente.
Remover uma lista de supressão de um recurso de domínio
Para remover uma lista de supressão do recurso de domínio, crie o SuppressionListResource
conforme mostrado nos exemplos de código anteriores e chame o método Delete
.
suppressionListResource.Delete(WaitUntil.Completed);
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um Recurso dos Serviços de Comunicação por Email do Azure pronto para provisionar domínios. Comece a criar o Recurso de Comunicação por Email.
- Um Domínio Gerenciado do Azure ou um Domínio Personalizado provisionado e pronto para enviar emails.
- Estamos usando uma entidade de serviço para a autenticação. Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo Azure Active Directory (AD) como as seguintes variáveis de ambiente:
AZURE_CLIENT_ID
,AZURE_TENANT_ID
, eAZURE_CLIENT_SECRET
.
Instalação dos pacotes necessários
npm install @azure/arm-communication
npm install @azure/identity
Inicializar o cliente de gerenciamento
Substitua o campo na amostra de código pela ID da assinatura em que o seu Domínio e seus recursos de Email estão incluídos. Execute a amostra de código para inicializar o cliente de gerenciamento.
const { CommunicationServiceManagementClient } = require("@azure/arm-communication");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const subscriptionId = "<your-subscription-id>";
const client = new CommunicationServiceManagementClient(credential, subscriptionId);
Adicionar uma lista de supressão a um recurso de domínio
Para impedir que suas mensagens de email sejam enviadas para determinados endereços, a primeira etapa é configurar uma lista de supressão no recurso de domínio.
Atualize o exemplo de código com o nome do grupo de recursos, o nome do serviço de email e o nome do recurso de domínio para o qual você deseja criar a lista de supressão. Encontre essas informações no portal, navegando até o recurso de domínio que você criou ao configurar os pré-requisitos. O título do recurso é <your-email-service-name>/<your-domain-name>
. Localize o nome do grupo de recursos e o ID da assinatura nas seções Essentials da visão geral dos recursos do domínio. Escolha qualquer nome para o recurso de lista de supressão e atualize esse campo no exemplo também.
Para o nome da lista, verifique se ele é o mesmo que o nome de usuário do remetente do endereço MailFrom do qual você gostaria de suprimir emails. Esses endereços MailFrom podem ser encontrados na seção "Endereços MailFrom" do recurso de domínio no portal. Por exemplo, você pode ter um endereço MailFrom semelhante a "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net". O nome de usuário do remetente para esse endereço seria "donotreply", portanto, um nome de lista de "donotreply" deve ser usado.
const resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
const emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
const domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
const suppressionListResourceName = "<your-suppression-list-resource-name>";
parameters = {
"listName": "<your-sender-username>", // Should match the sender username of the MailFrom address you would like to suppress emails from
}
await client.suppressionLists.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
parameters
);
Se você quiser suprimir emails de todos os nomes de usuário do remetente em um domínio específico, poderá passar uma cadeia de caracteres vazia para o nome da lista.
parameters = {
"listName": "",
}
await client.suppressionLists.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
parameters
);
Adicionar um endereço a uma lista de supressão
Depois de configurar a lista de supressão, agora você pode adicionar endereços de email específicos aos quais deseja impedir que suas mensagens de email sejam enviadas.
Atualize o exemplo de código com a ID do endereço da lista de supressão. Cada ID de endereço de lista de supressão que você adicionar precisa ser exclusiva. É recomendável usar GUID. Atualize o endereço de email que você deseja impedir de receber suas mensagens também.
Para adicionar vários endereços à lista de supressão, você precisa repetir esse exemplo de código várias vezes.
const suppressionListAddressId = "<your-suppression-list-address-id>";
parameters = {
"email": "<email-address-to-suppress>" // Should match the email address you would like to block from receiving your messages
}
await client.suppressionListAddresses.createOrUpdate(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
suppressionListAddressId,
parameters
);
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolheu suprimir. Seu email não será enviado para o endereço suprimido.
Se você tentar enviar um email de um nome de usuário do remetente que não é suprimido, o email ainda enviará com êxito.
Remover um endereço de uma lista de supressão
Chame o método delete
em suppressionListAddresses
para remover um endereço da lista de supressão.
await client.suppressionListAddresses.delete(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName,
suppressionListAddressId
);
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolher suprimir. Seu email será enviado com êxito para o endereço suprimido anteriormente.
Remover uma lista de supressão de um recurso de domínio
Chame o método delete
em suppressionList
para remover uma lista de supressão do recurso de domínio.
await client.suppressionLists.delete(
resourceGroupName,
emailServiceName,
domainResourceName,
suppressionListResourceName
);
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um Recurso dos Serviços de Comunicação por Email do Azure pronto para provisionar domínios. Comece a criar o Recurso de Comunicação por Email.
- Um Domínio Gerenciado do Azure ou um Domínio Personalizado provisionado e pronto para enviar emails.
- Estamos usando uma entidade de serviço para a autenticação. Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo Azure Active Directory (AD) como as seguintes variáveis de ambiente:
AZURE_CLIENT_ID
,AZURE_TENANT_ID
, eAZURE_CLIENT_SECRET
.
Instalação dos pacotes necessários
Adicione as seguintes dependências ao seu pom.xml
.
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-communication</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.11.1</version>
</dependency>
Inicializar o cliente de gerenciamento
Configure a variável de ambiente AZURE_SUBSCRIPTION_ID
com a ID da assinatura em que o seu Domínio e seus recursos de Email estão incluídos.
Adicione as seguintes importações na parte superior do seu arquivo.
import com.azure.core.credential.TokenCredential;
import com.azure.core.management.AzureEnvironment;
import com.azure.core.management.profile.AzureProfile;
import com.azure.identity.DefaultAzureCredentialBuilder;
import com.azure.resourcemanager.communication.CommunicationManager;
Execute a amostra de código para inicializar o cliente de gerenciamento.
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.build();
CommunicationManager manager = CommunicationManager
.authenticate(credential, profile);
Adicionar uma lista de supressão a um recurso de domínio
Para impedir que suas mensagens de email sejam enviadas para determinados endereços, a primeira etapa é configurar uma lista de supressão no recurso de domínio.
Atualize o exemplo de código com o nome do grupo de recursos, o nome do serviço de email e o nome do recurso de domínio para o qual você deseja criar a lista de supressão. Encontre essas informações no portal, navegando até o recurso de domínio que você criou ao configurar os pré-requisitos. O título do recurso é <your-email-service-name>/<your-domain-name>
. Localize o nome do grupo de recursos e o ID da assinatura nas seções Essentials da visão geral dos recursos do domínio. Escolha qualquer nome para o recurso de lista de supressão e atualize esse campo no exemplo também.
Para o nome da lista, verifique se ele é o mesmo que o nome de usuário do remetente do endereço MailFrom do qual você gostaria de suprimir emails. Esses endereços MailFrom podem ser encontrados na seção "Endereços MailFrom" do recurso de domínio no portal. Por exemplo, você pode ter um endereço MailFrom semelhante a "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net". O nome de usuário do remetente para esse endereço seria "donotreply", portanto, um nome de lista de "donotreply" deve ser usado.
String resourceGroupName = "<your-resource-group-name>"; // Found in the essentials section of the domain resource portal overview
String emailServiceName = "<your-email-service-name>"; // Found in the first part of the portal domain resource title
String domainResourceName = "<your-domain-name>"; // Found in the second part of the portal domain resource title
String suppressionListResourceName = "<your-suppression-list-resource-name>";
manager.suppressionLists().define(suppressionListResourceName)
.withExistingDomain(resourceGroupName, emailServiceName, domainResourceName)
.withListName("<your-sender-username>") // Should match the sender username of the MailFrom address you would like to suppress emails from
.create();
Se você quiser suprimir emails de todos os nomes de usuário do remetente em um domínio específico, poderá passar uma cadeia de caracteres vazia para o nome da lista.
manager.suppressionLists().define(suppressionListResourceName)
.withExistingDomain(resourceGroupName, emailServiceName, domainResourceName)
.withListName("")
.create();
Adicionar um endereço a uma lista de supressão
Depois de configurar a lista de supressão, agora você pode adicionar endereços de email específicos aos quais deseja impedir que suas mensagens de email sejam enviadas.
Atualize o exemplo de código com a ID do endereço da lista de supressão. Cada ID de endereço de lista de supressão que você adicionar precisa ser exclusiva. É recomendável usar GUID. Atualize o endereço de email que você deseja impedir de receber suas mensagens também.
Para adicionar vários endereços à lista de supressão, você precisa repetir esse exemplo de código várias vezes.
String suppressionListAddressId = "<your-suppression-list-address-id>";
manager.suppressionListAddresses().define(suppressionListAddressId)
.withExistingSuppressionList(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName)
.withEmail("<email-address-to-suppress>") // Should match the email address you would like to block from receiving your messages
.create();
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolheu suprimir. Seu email não será enviado para o endereço suprimido.
Se você tentar enviar um email de um nome de usuário do remetente que não é suprimido, o email ainda enviará com êxito.
Remover um endereço de uma lista de supressão
Chame o método delete
em suppressionListAddresses
para remover um endereço da lista de supressão.
manager.suppressionListAddresses()
.delete(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName, suppressionListAddressId);
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolher suprimir. Seu email será enviado com êxito para o endereço suprimido anteriormente.
Remover uma lista de supressão de um recurso de domínio
Chame o método delete
em suppressionLists
para remover uma lista de supressão do recurso de domínio.
manager.suppressionLists()
.delete(resourceGroupName, emailServiceName, domainResourceName, suppressionListResourceName);
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um Recurso dos Serviços de Comunicação por Email do Azure pronto para provisionar domínios. Comece a criar o Recurso de Comunicação por Email.
- Um Domínio Gerenciado do Azure ou um Domínio Personalizado provisionado e pronto para enviar emails.
- Estamos usando uma entidade de serviço para a autenticação. Defina os valores da ID do cliente, da ID do locatário e do segredo do cliente do aplicativo Azure Active Directory (AD) como as seguintes variáveis de ambiente:
AZURE_CLIENT_ID
,AZURE_TENANT_ID
, eAZURE_CLIENT_SECRET
.
Instalação dos pacotes necessários
pip install azure-mgmt-communication
pip install azure-identity
Inicializar o cliente de gerenciamento
Configure a variável de ambiente AZURE_SUBSCRIPTION_ID
com a ID da assinatura em que o seu Domínio e seus recursos de Email estão incluídos. Execute a amostra de código para inicializar o cliente de gerenciamento.
from azure.mgmt.communication import CommunicationServiceManagementClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
subscription_id = "<your-subscription-id>"
mgmt_client = CommunicationServiceManagementClient(credential, subscription_id)
Adicionar uma lista de supressão a um recurso de domínio
Para impedir que suas mensagens de email sejam enviadas para determinados endereços, a primeira etapa é configurar uma lista de supressão no recurso de domínio.
Atualize o exemplo de código com o nome do grupo de recursos, o nome do serviço de email e o nome do recurso de domínio para o qual você deseja criar a lista de supressão. Encontre essas informações no portal, navegando até o recurso de domínio que você criou ao configurar os pré-requisitos. O título do recurso é <your-email-service-name>/<your-domain-name>
. Localize o nome do grupo de recursos e o ID da assinatura nas seções Essentials da visão geral dos recursos do domínio. Escolha qualquer nome para o recurso de lista de supressão e atualize esse campo no exemplo também.
Para o nome da lista, verifique se ele é o mesmo que o nome de usuário do remetente do endereço MailFrom do qual você gostaria de suprimir emails. Esses endereços MailFrom podem ser encontrados na seção "Endereços MailFrom" do recurso de domínio no portal. Por exemplo, você pode ter um endereço MailFrom semelhante a "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net". O nome de usuário do remetente para esse endereço seria "donotreply", portanto, um nome de lista de "donotreply" deve ser usado.
resource_group_name = "<your-resource-group-name>"; # Found in the essentials section of the domain resource portal overview
email_service_name = "<your-email-service-name>"; # Found in the first part of the portal domain resource title
domain_resource_name = "<your-domain-name>"; # Found in the second part of the portal domain resource title
suppression_list_resource_name = "<your-suppression-list-resource-name>";
mgmt_client.suppression_lists.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
parameters={
"properties": {
"listName": "<your-sender-username>" # Should match the sender username of the MailFrom address you would like to suppress emails from
}
},
)
Se você quiser suprimir emails de todos os nomes de usuário do remetente em um domínio específico, poderá passar uma cadeia de caracteres vazia para o nome da lista.
mgmt_client.suppression_lists.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
parameters={
"properties": {
"listName": ""
}
},
)
Adicionar um endereço a uma lista de supressão
Depois de configurar a lista de supressão, agora você pode adicionar endereços de email específicos aos quais deseja impedir que suas mensagens de email sejam enviadas.
Atualize o exemplo de código com a ID do endereço da lista de supressão. Cada ID de endereço de lista de supressão que você adicionar precisa ser exclusiva. É recomendável usar GUID. Atualize o endereço de email que você deseja impedir de receber suas mensagens também.
Para adicionar vários endereços à lista de supressão, você precisa repetir esse exemplo de código várias vezes.
suppression_list_address_id = "<your-suppression-list-address-id>";
mgmt_client.suppression_list_addresses.create_or_update(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
suppression_list_address_id,
parameters={
"properties": {
"email": "<email-address-to-suppress>" # Should match the email address you would like to block from receiving your messages
}
},
)
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolher suprimir. Seu email não será enviado para o endereço suprimido.
Se você tentar enviar um email de um nome de usuário do remetente que não é suprimido, o email ainda enviará com êxito.
Remover um endereço de uma lista de supressão
Chame o método delete
em suppression_list_addresses
para remover um endereço da lista de supressão.
mgmt_client.suppression_list_addresses.delete(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name,
suppression_list_address_id
)
Agora você pode tentar enviar um email para o endereço suprimido da seção TryEmail
do recurso do Serviço de Comunicação ou usando um dos SDKs de Email. Envie o email usando o endereço MailFrom com o nome de usuário do remetente que você escolheu suprimir. Seu email será enviado com êxito para o endereço suprimido anteriormente.
Remover uma lista de supressão de um recurso de domínio
Chame o método delete
em suppression_lists
para remover uma lista de supressão do recurso de domínio.
mgmt_client.suppression_lists.delete(
resource_group_name,
email_service_name,
domain_resource_name,
suppression_list_resource_name
)