在 Azure 容器应用中连接应用程序

如果启用了 Ingress,Azure 容器应用会通过域名公开每个容器应用。 你可以将入口终结点公开给全球或同一环境中的其他容器应用。 另外,你也可以将入口限制为仅供同一环境中的其他容器应用访问。

应用程序代码可以使用以下方法之一调用同一环境中的其他容器应用:

  • 默认完全限定域名 (FQDN)
  • 一个自定义域名
  • 容器应用名称,例如 http://<APP_NAME> 内部请求
  • 一个 Dapr URL

注意

使用 FQDN 或应用名称调用同一环境中的另一个容器时,网络流量永远不会离开该环境。

可以在 Azure 示例上找到一个示例解决方案,该解决方案展示了如何使用 FQDN 位置或 Dapr 在容器之间进行调用

位置

容器应用的位置包括与其环境、名称和区域相关的值。 完全限定的域名 (FQDN) 通过 azurecontainerapps-dev.cn.io 顶级域提供并使用:

  • 容器应用名称
  • 环境唯一标识符
  • 区域名称

下图显示了如何使用这些值来构造容器应用的完全限定域名。

Azure 容器应用的容器应用完全限定域名。

获取完全限定的域名

az containerapp show 命令返回容器应用的完全限定域名。

az containerapp show \
  --resource-group <RESOURCE_GROUP_NAME> \
  --name <CONTAINER_APP_NAME> \
  --query properties.configuration.ingress.fqdn

在此示例中,将括在 <> 中的占位符替换为你的值。

此命令返回的值类似于域名,如以下示例所示:

myapp.happyhill-70162bb9.canadacentral.azurecontainerapps.dev

Dapr 位置

开发微服务通常需要实现分布式体系结构通用的模式。 Dapr 允许使用相互传输层安全性 (TLS)(客户端证书)保护微服务,在发生错误时触发重试,以及在启用 Application Insights 时利用分布式跟踪。

可以通过以下 URL 模式提供使用 Dapr 的微服务:

Azure 容器应用的使用 Dapr 的容器应用位置。

按名称调用容器应用

可以通过从环境中的另一个应用向 http://<CONTAINER_APP_NAME> 发送请求来调用容器应用。

后续步骤