POST-запрос запрещен на конечной точке CosmosDB

Я следую руководству по космосдб с CORE SQL и пытаюсь создать базу данных.

EndpointUri и Key верны, скопированы из учетной записи CosmosDB => настройки => ключи.

const string EndpointUri = "https://fergerg.azure.com:443/";
const string Key = "gvfvfdevgrvgre";

Затем при создании базы данных:

        string databaseName = "demoDB_" + Guid.NewGuid().ToString().Substring(0, 5);

        client = new CosmosClient(EndpointUri, Key);
        database = await client.CreateDatabaseIfNotExistsAsync(databaseName);

Возвращается ошибка 403

Необработанное исключение. System.AggregateException: одна или несколько ошибок произошел. (Код состояния ответа не указывает на успех: запрещено. (403); Подстатус: 0; Идентификатор активности: e10466; Причина: ({"code":"Запрещено","message":""Операция 'POST' на ресурсе 'dbs' не разрешено через конечную точку Azure Cosmo DB. Пожалуйста, включите такой операции для вашей учетной записи или выполните эту операцию через Azure Менеджер ресурсов, портал Azure, Azure CLI или Azure. Powershell"\r\nActivityId: 14d3a978f6ee10466, Microsoft.Azure.Documents.Common/2.14.0"} RequestUri: https://sql-iknn-.documents.azure.com/dbs

Таким образом, POST запрещен на базах данных конечных точек:

documents.azure.com/dbs

Я думаю, что это изменилось, раньше это работало, но теперь это невозможно из коробки.

Как мне дать разрешение на отправку POST-запросов в эту конечную точку из удаленного кода?

Обратитесь к этому документу за forbidden исключениями.

Balaji 30.04.2024 15:02
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
120
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Необработанное исключение. System.AggregateException: произошла одна или несколько ошибок. (Код состояния ответа не указывает на успех: Запрещено (403); Подстатус: 0; ActivityId: e10466;

Вышеупомянутая ошибка возникает из-за несоответствия учетных данных аутентификации, недостаточных разрешений или неправильной настройки параметров брандмауэра или виртуальной сети. Обязательно разрешите public доступ к базе данных, если нет необходимости в частном подключении. Обратитесь к этому документу для получения дополнительной информации о запрещенных исключениях.

Ниже приведен пример создания базы данных в Azure Cosmos DB.

class Program
{
    private static readonly string EndpointUri = "*****";
    private static readonly string Key = "*****";

    static async Task Main(string[] args)
    {
        string databaseName = "secondDb" + Guid.NewGuid().ToString().Substring(0, 5);

        using (CosmosClient client = new CosmosClient(EndpointUri, Key))
        {
            DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(databaseName);
            if (response.StatusCode == System.Net.HttpStatusCode.Created)
            {
                Console.WriteLine($"Database '{databaseName}' created successfully.");
            }
            else
            {
                Console.WriteLine($"Failed to create database '{databaseName}'. Status code: {response.StatusCode}");
            }
        }
    }
}

Выход:

Database secondDb4a663 created successfully.

вы создали учетную запись CosmosDB с помощью SQL CORE API?

Serve Laurijssen 03.05.2024 11:09

Другие вопросы по теме