如何在容器应用配置中将Azure.ResourceManager.AppContainers与Azure.ResourceManager.ContainerRegistry链接起来?

ycggw6v2  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(70)

我正在尝试将Azure.ResourceManager.AppContainers与Azure.ResourceManager.ContainerRegistry集成,但我不清楚如何一起使用它们。我尝试设置一个容器应用程序配置,并提供了下面的代码原型:

// Load the container registry
var registries = await arm.GetContainerRegistriesAsync();
// Select the first registry
var registry = registries.First();

// Create a new container app configuration
var appConfig = new ContainerAppConfiguration()
{
    Ingress =
    {
        AllowInsecure = false,
        TargetPort = service.dockerProfile.InternalPort,
        ExposedPort = service.dockerProfile.ExternalPort,
        Transport = Azure.ResourceManager.AppContainers.Models.ContainerAppIngressTransportMethod.Http,
        External = service.dockerProfile.ExternalPort is not null
    },
    Registries =
    {
        // How should I integrate the registry here?
    }
};

var container = await arm.CreateContainerApp(service.containerAppName, new(Azure.Core.AzureLocation.SouthCentralUS)
{
    EnvironmentId = environment.Id,
    Configuration = appConfig
});

字符串
有没有人遇到过类似的情况,或者知道如何正确设置注册表部分?我找不到解决这个特定用例的文档。如果我能弄清楚,我很乐意为文档做贡献,以便将来帮助其他人。

ws51t4hk

ws51t4hk1#

您必须创建一个ContainerAppRegistryCredentials对象。
下面是一个你可以使用的示例代码。这是假设您将使用分配给用户的托管身份设置访问权限。

Registries =
            {
    
                new ContainerAppRegistryCredentials()
                {
                    Identity = "",//Resource ID for user assigned managed identity
                    Server = registry.Data.LoginServer
                }
            }

字符串
有关更多细节,您可以按照这里提供的二头肌的例子。它提供了有关需要创建的对象的良好信息。https://github.com/Azure/azure-quickstart-templates/tree/master/quickstarts/microsoft.app/container-app-acr

相关问题