일반 문제 해결Troubleshoot general

적용 대상: SDK v4APPLIES TO: SDK v4

이 질문과 대답은 일반 봇 개발 또는 운영 문제를 해결할 수 있습니다.These frequently asked questions can help you to troubleshoot common bot development or operational issues.

봇과 관련된 문제는 어떻게 해결할 수 있나요?How can I troubleshoot issues with my bot?

  1. Visual Studio Code 또는 Visual Studio를 사용하여 봇 소스 코드를 디버그합니다.Debug your bot's source code with Visual Studio Code or Visual Studio.
  2. 클라우드에 배포 하기 전에 에뮬레이터 를 사용 하 여 봇을 테스트 합니다.Test your bot using the Emulator before you deploy it to the cloud.
  3. Azure와 같은 플랫폼을 호스팅하는 클라우드에 봇을 배포한 다음, Azure Portal의 봇 대시보드에서 기본 제공 웹 챗 제어를 사용하여 봇 연결을 테스트합니다.Deploy your bot to a cloud hosting platform such as Azure and then test connectivity to your bot by using the built-in web chat control on your bot's dashboard in the Azure Portal. Azure에 봇을 배포한 후 문제가 발생하면 블로그 문서 Azure 문제 해결 및 지원 이해를 사용하는 것이 좋을 수 있습니다.If you encounter issues with your bot after you deploy it to Azure, you might consider using this blog article: Understanding Azure troubleshooting and support.
  4. 인증은 가능한 문제에서 배제합니다.Rule out authentication as a possible issue.
  5. 웹 채팅, Microsoft Teams 또는 봇에서 사용하려는 다른 채널에서 봇을 테스트합니다.Test your bot on Web Chat, Teams, or any other channel you intend to use with your bot. 이렇게 하면 엔드투엔드 사용자 환경의 유효성을 검사하는 데 도움이 됩니다.This will help you to validate the end-to-end user experience.
  6. Direct Line 또는 Web Chat 같은 추가 인증 요구 사항이 있는 채널에서 봇을 테스트하는 것이 좋습니다.Consider testing your bot on channels that have additional authentication requirements such as Direct Line or Web Chat.
  7. 봇을 디버그하는 방법 및 해당 섹션의 다른 디버깅 문서를 검토하세요.Review the how-to debug a bot and the other debugging articles in that section.

인증 문제는 어떻게 해결하나요?How can I troubleshoot authentication issues?

봇 인증 문제를 해결하는 방법에 대한 자세한 내용은 Bot Framework 인증 문제 해결을 참조하세요.For details about troubleshooting authentication issues with your bot, see troubleshooting Bot Framework authentication.

봇과 채널 간의 네트워크 연결을 테스트 어떻게 할까요? 있나요?How do I test network connectivity between bots and a channel?

아래 단계에 따라 생성 된 IP 주소를 사용 하 여 해당 주소와의 연결을 차단 하는 규칙이 있는지 확인할 수 있습니다.You can use the IP addresses, generated by the steps below, to verify if there is any rule blocking the connection with those addresses. 실패 한 연결에 대 한 방화벽 추적 확인 섹션을참조 하세요.See section Check firewall traces on failed connections.

Bot에서 채널로 연결 테스트Test connection from bot to channel

  1. 브라우저에서 Azure Portal로 이동합니다.In your browser, navigate to the Azure portal.

  2. 테스트 하려는 연결의 봇 App Service를 선택 합니다.Select your bot App Service whose connection you want to test.

  3. 왼쪽 창의 개발 도구 섹션에서 고급 도구 를 선택 합니다.In the left pane, in the Development Tools section, select Advanced Tools.

  4. 오른쪽 창에서 이동 을 클릭 합니다.In the right pane, click Go. Kudu 정보 페이지가 표시 됩니다.The Kudu information page is displayed.

  5. 상단 메뉴 모음에서 디버그 콘솔 을 클릭 합니다.In the top menu bar, click Debug console. 그런 다음 드롭다운 메뉴에서 CMD 를 클릭 합니다.Then, in the drop down menu, click CMD. Kudu 봇 웹 앱 콘솔이 열립니다.The Kudu bot web app console is opened. 자세한 내용은 Kudu를 참조 하세요.For more information, see Kudu.

    kudu cmd 콘솔

  6. nslookup directline.botframework.com을 실행 하 고 DNS 확인이 작동 하는지 확인 합니다.Run nslookup directline.botframework.com and check if the DNS resolution is working. nslookup(이름 서버 조회)는 도메인 이름 또는 IP 주소 매핑 또는 다른 dns 레코드를 얻기 위해 dns (Domain Name System)를 쿼리 하는 네트워크 관리 명령줄 도구입니다.Notice that nslookup (name server lookup) is a network administration command-line tool for querying the Domain Name System (DNS) to obtain domain name or IP address mapping, or other DNS records. DNS 확인이 작동 하는 경우이 명령에 대 한 응답에는 관련 정보가 포함 됩니다.If the DNS resolution is working, the response to this command will contain the relevant information.

    kudu cmd 콘솔 bot channel dns

    WHOIS Ip 조회 도구 는 ip 주소에 대 한 정보를 가져오는 데 유용 합니다.The WHOIS IP Lookup Tool is useful to get information about IP addresses.

  7. curl -I directline.botframework.com를 실행합니다.Run curl -I directline.botframework.com. 옵션은 -I 헤더만 포함 된 응답을 가져오는 데 사용 됩니다. 301의 HTTP 상태가 반환 되는지 두 번 확인 합니다 .이는 연결이 있는지 확인 하는 것입니다.(The option -I is used to obtain a response containing the header only.) Double check that an HTTP status of 301 is returned This is a check that there is connectivity.

    kudu cmd 콘솔 http 301

채널에서 봇으로 연결 테스트Test connection from channel to bot

말아는 프로덕션 사이트에 액세스할 수 없고 directline.botframework.com 공용 인터넷에 있기 때문에 시뮬레이션 모드에서 말아 넘기기를 사용 해야 합니다.Because curl doesn't have access to the production site, and directline.botframework.com is on the public internet, you must use curl in simulation mode. 휴대폰 핫스폿을 사용 하는 경우와 같이 VNET (가상 사설망) 외부에 아래에 표시 된 단계를 수행 합니다.Perform the steps shown below outside a Virtual Private Network (VNET), for example, using a cell phone hotspot. Azure Virtual Network 란?을참조 하세요.See also What is Azure Virtual Network?.

  1. nslookup ivr-sr-bot.botapps.amat.com를 실행합니다.Run nslookup ivr-sr-bot.botapps.amat.com. 이 명령에 대 한 응답에 관련 정보가 포함 되어 있으면 DNS 확인이 작동 하는 것입니다.The DNS resolution is working if the response to this command contains relevant information.

    kudu cmd 콘솔 채널 봇 dns

  2. 을 실행 curl -I https://ivr-sr-bot.botapps.amat.com/api/messages 하 고 적절 한 HTTP 상태 코드가 반환 되는지 여부를 확인 합니다 (예: 405 메서드를 사용할 수 없음).Run curl -I https://ivr-sr-bot.botapps.amat.com/api/messages and check whether an appropriate HTTP status code is returned (for example, 405 method not allowed). 요청에 지정 된 메서드가 지정 된 URI로 식별 되는 리소스에 허용 되지 않습니다.The method specified in the request is not allowed for the resource identified by the specified URI. 이는 연결이 있는지 확인 하는 방법 일 뿐입니다.This is just a way to check that there is connectivity.

    kudu cmd 콘솔 http 405

  3. Bot에서 응답을 받지 못하면 클라이언트의 IP 주소를 적어 씁니다.If you do not get the response from the bot, write down the client's IP address.

실패 한 연결에 대 한 방화벽 추적 확인Check firewall traces on failed connections

및의 IP 주소를 nslookup ivr-sr-bot.botapps.amat.com 사용 nslookup directline.botframework.com 하 고 어느 방향에서 든 해당 주소와의 연결을 차단 하는 규칙이 있는지 확인 합니다.Use the IP addresses from nslookup ivr-sr-bot.botapps.amat.com and nslookup directline.botframework.com and check if there is a rule blocking connection with those addresses on either direction.

.NET용 Bot Framework SDK를 사용하고 있습니다.I'm using the Bot Framework SDK for .NET. 봇과 관련된 문제는 어떻게 해결할 수 있나요?How can I troubleshoot issues with my bot?

예외를 찾습니다.Look for exceptions. Visual Studio 2019에서 디버그 > Windows > 예외 설정 으로 차례로 이동합니다.In Visual Studio 2019, go to Debug > Windows > Exception Settings. 예외 설정 창에서 공용 언어 런타임 예외 옆의 Break When Thrown 을 선택합니다.In the Exceptions Settings window, select the Break When Thrown checkbox next to Common Language Runtime Exceptions. Throw되었거나 처리되지 않은 예외가 있으면 출력 창에도 진단 출력이 표시될 수 있습니다.You may also see diagnostics output in your Output window when there are thrown or unhandled exceptions.

호출 스택을 확인합니다.Look at the call stack. Visual Studio에서 내 코드만 디버그할지 여부를 선택할 수 있습니다.In Visual Studio, you can choose whether or you are debugging Just My Code or not. 전체 호출 스택을 검사하면 문제에 대한 추가 정보를 제공할 수 있습니다.Examining the full call stack may provide additional insight into any issues.

모든 대화 메서드가 다음 메시지 처리를 위한 계획으로 종료되는지 확인합니다.Ensure all dialog methods end with a plan to handle the next message. 모든 대화 상자 단계는 폭포의 다음 단계로 제공되거나 현재 대화 상자를 종료하고 스택에 팝업 메시지로 표시되어야 합니다.All dialog steps need to feed into the next step of the waterfall, or end the current dialog to pop it off the stack. 단계가 올바르게 처리되지 않으면 대화가 예상대로 진행되지 않습니다.If a step is not correctly handled, the conversation will not continue like you expect. 대화 상자에 대한 자세한 내용을 보려면 대화 상자에 대한 개념 문서를 살펴보세요.Take a look at the concept article for dialogs for more on dialogs.

HTTP 상태 코드 429 "요청이 너무 많음"이 발생하는 이유는 무엇인가요?What causes an error with HTTP status code 429 "Too Many Requests"?

HTTP 상태 코드 429가 있는 오류 응답은 일정 시간 동안 실행된 요청이 너무 많음을 의미합니다.An error response with HTTP status code 429 indicates that too many requests have been issued in a given amount of time. 응답 본문에 문제에 대한 설명이 포함되며 요청 사이의 최소 필요 간격도 지정할 수 있습니다.The body of the response should include an explanation of the problem and may also specify the minimum required interval between requests. 이 오류의 가능한 원인 중 하나는 ngrok 도구입니다.One possible source for this error is the ngrok tool. 무료 요금제를 사용 중이며 ngrok를 한도까지 실행한 경우 해당 웹 사이트의 가격 책정 및 한도 페이지로 이동하여 자세한 옵션을 참조하세요.If you are on a free plan and running into ngrok's limits, go to the pricing and limits page on their website for more options.

사용자가 내 봇 메시지를 수신하지 못하는 이유는 무엇인가요?Why aren't my bot messages getting received by the user?

응답으로 생성 된 메시지 활동의 주소가 올바르게 지정 되어야 합니다. 그렇지 않으면 의도 한 대상에 도달 하지 않습니다.The message activity generated in response must be correctly addressed, otherwise it won't arrive at its intended destination. 대부분의 경우 이를 명시적으로 처리할 필요가 없습니다. SDK는 메시지 활동의 주소 지정 작업을 자동으로 처리합니다.In the vast majority of cases you will not need to handle this explicitly; the SDK takes care of addressing the message activity for you.

활동의 주소를 올바르게 지정하려면 보낸 사람에 대한 세부 정보와 함께 적절한 대화 ID 세부 정보를 포함해야 합니다.Correctly addressing an activity means including the appropriate conversation IDs details along with details about the sender. 대부분의 경우 메시지 활동은 도착한 활동에 대한 응답으로 전송됩니다.In most cases, the message activity is sent in response to one that had arrived. 따라서 인바운드 활동에서 주소 지정 정보를 가져올 수 있습니다.Therefore, the addressing details can be taken from the inbound activity.

추적 또는 감사 로그를 살펴보면 메시지의 주소가 올바르게 지정되었는지 확인할 수 있습니다.If you examine traces or audit logs, you can check to make sure your messages are correctly addressed. 올바르게 지정되지 않은 경우 봇에 중단점을 설정하고, 메시지에 ID가 설정되는지 확인하세요.If they aren't, set a breakpoint in your bot and see where the IDs are being set for your message.

ASP.NET에서 백그라운드 작업은 어떻게 실행하나요?How can I run background tasks in ASP.NET?

일부 경우 몇 초 동안 대기한 다음, 특정 코드를 실행하여 사용자 프로필을 지우거나 대화/대화 상태를 재설정하는 비동기 작업을 시작하고자 할 수 있습니다.In some cases, you may want to initiate an asynchronous task that waits for a few seconds and then executes some code to clear the user profile or reset conversation/dialog state. 이 작업을 수행하는 자세한 방법은 ASP.NET에서 백그라운드 작업을 실행하는 방법을 참조하세요.For details about how to achieve this, see How to run Background Tasks in ASP.NET. 특히 HostingEnvironment.QueueBackgroundWorkItem을 사용하는 것이 좋습니다.In particular, consider using HostingEnvironment.QueueBackgroundWorkItem.

내 봇이 처음 받는 메시지에 느리게 응답합니다.My bot is slow to respond to the first message it receives. 어떻게 더 빠르게 할 수 있나요?How can I make it faster?

봇은 웹 서비스이며, Azure 등의 일부 호스팅 플랫폼에서는 일정 시간 동안 트래픽이 수신되지 않으면 서비스를 절전 상태로 지정합니다.Bots are web services and some hosting platforms, including Azure, automatically put the service to sleep if it does not receive traffic for a certain period of time. 봇에 이런 상황이 발생할 경우 다음번에 메시지를 수신했을 때 처음부터 다시 시작해야 하며 이로 인해 이미 실행 중일 때보다 응답이 훨씬 느려집니다.If this happens to your bot, it must restart from scratch the next time it receives a message, which makes its response much slower than if it was already running.

일부 호스팅 플랫폼을 사용하면 절전 상태가 되지 않게 서비스를 구성할 수 있습니다.Some hosting platforms enable you to configure your service so that it will not be put to sleep. 봇이 Azure Bot Service Web Apps에서 호스트되는 경우 Azure Portal에서 봇의 서비스로 이동하고, 애플리케이션 설정 을 선택한 다음, 항상 켜기 를 선택합니다.If your bot is hosted on Azure Bot Service Web Apps, navigate to your bot's service in the Azure Portal, select Application settings, and then select Always on. 이 옵션은 대부분의 서비스 계획에서 사용할 수 있으나 전부는 아닙니다.This option is available in most, but not all, service plans.

메시지 배달 순서는 어떻게 보장하나요?How can I guarantee message delivery order?

Bot Framework는 가능한 메시지를 순서대로 유지합니다.The Bot Framework will preserve message ordering as much as possible. 예를 들어 메시지 A를 보내고 해당 HTTP 작업이 완료될 때까지 기다린 후에 메시지 B를 보내는 다른 HTTP 작업을 시작하는 경우가 있습니다. SMS 및 이메일과 같은 일부 채널은 사용자의 디바이스에 대한 순서 지정을 보장하지 않습니다.For example, if you send message A and wait for the completion of that HTTP operation before you initiate another HTTP operation to send message B. Some channels, such as SMS and email, do not guarentee ordering to the user's device.

메시지 텍스트의 일부가 삭제되는 이유는 무엇인가요?Why are parts of my message text being dropped?

Bot Framework 및 많은 채널은 텍스트가 Markdown으로 서식화된 것처럼 해석합니다.The Bot Framework and many channels interpret text as if it were formatted with Markdown. 텍스트에 Markdown 구문으로 해석할 수 있는 문자가 포함되었는지 호가인합니다.Check to see if your text contains characters that may be interpreted as Markdown syntax.

여러 봇을 같은 봇 서비스 엔드포인트에서 지원하는 방법은 무엇인가요?How can I support multiple bots at the same bot service endpoint?

샘플에서는 올바른 MicrosoftAppCredentials를 통해 Conversation.Container를 구성하고 간단한 MultiCredentialProvider를 사용하여 여러 앱 ID와 암호를 인증하는 방법을 보여 줍니다.This sample shows how to configure the Conversation.Container with the right MicrosoftAppCredentials and use a simple MultiCredentialProvider to authenticate multiple App IDs and passwords.

식별자Identifiers


식별자는 Bot Framework에서 어떻게 작동하나요?How do identifiers work in the Bot Framework?

Bot Framework의 식별자에 대한 자세한 내용은 Bot Framework 식별자 가이드를 참조하세요.For details about identifiers in the Bot Framework, see the Bot Framework guide to identifiers.

사용자 ID에 대한 액세스는 어떻게 얻나요?How can I get access to the user ID?

Bot Framework 채널은 사용자가 보낸 활동의 from.Id 필드에 사용자의 ID를 표시합니다.Bot Framework channels present the user's ID in the from.Id field of any Activity sent by the user. SMS 및 이메일 메시지는 이 속성의 원시 사용자 ID를 제공합니다.SMS and email messages will provide the raw user ID in this property. 일부 채널은 from.Id 속성을 모호하게 하므로 사용자의 Skype ID와 다른 사용자의 고유 ID를 포함합니다.Some channels obscure the from.Id property so it contains unique ID for the user which differs from the user's ID in the channel. 기존 계정에 연결해야 할 경우 로그인 카드를 사용하고 자체 OAuth 흐름을 구현하여 사용자 ID를 자체 서비스의 사용자 ID에 연결할 수 있습니다.If you need to connect to an existing account, you can use a sign-in card and implement your own OAuth flow to connect the user ID to your own service's user ID.

왜 내 Facebook 사용자 이름이 더 이상 표시되지 않나요?Why are my Facebook user names not showing anymore?

Facebook 암호를 변경했을 수 있습니다.Did you change your Facebook password? 이렇게 하면 액세스 토큰이 무효화되며 Azure Portal에서 Facebook Messenger 채널에 대한 봇의 구성 설정을 업데이트해야 합니다.Doing so will invalidate the access token, and you will need to update your bot's configuration settings for the Facebook Messenger channel in the Azure Portal.

내 Kik 봇이 "I'm sorry, I can't talk right now"(미안하지만 지금은 대화할 수 없다)라고 답하는 이유는 무엇인가요?Why is my Kik bot replying "I'm sorry, I can't talk right now"?

Kik 개발에서는 봇에 50명의 구독자가 허용됩니다.Bots in development on Kik are allowed 50 subscribers. 고유 사용자 50명이 봇과 상호 작용한 후에는 해당 봇과의 채팅을 시도하는 모든 새 사용자가 "I'm sorry, I can't talk right now"(미안하지만 지금은 대화할 수 없다)라는 메시지를 받게 됩니다.After 50 unique users have interacted with your bot, any new user that attempts to chat with your bot will receive the message "I'm sorry, I can't talk right now." 자세한 내용은 Kik 설명서를 참조하세요.For more information, see Kik documentation.

봇에서 인증된 서비스는 어떻게 사용하나요?How can I use authenticated services from my bot?

Azure Active Directory 인증의 경우 봇에 인증 추가 자습서를 참조 하세요.For Azure Active Directory authentication, see the Add authentication to your bot tutorial.

참고

봇에 인증 및 보안 기능을 추가할 경우 코드에서 구현한 패턴이 애플리케이션에 적합한 보안 표준을 준수해야 합니다.If you add authentication and security functionality to your bot, you should ensure that the patterns you implement in your code comply with the security standards that are appropriate for your application.

미리 결정된 사용자 목록에 대한 봇의 액세스는 어떻게 제한하나요?How can I limit access to my bot to a pre-determined list of users?

SMS 및 이메일 같은 일부 채널은 범위가 지정되지 않는 주소를 제공합니다.Some channels, such as SMS and email, provide unscoped addresses. 이러한 경우 사용자의 메시지는 from.Id 속성에 원시 사용자 ID를 포함하게 됩니다.In these cases, messages from the user will contain the raw user ID in the from.Id property.

Facebook, 여유 시간 등의 다른 채널은 봇이 사용자 ID를 미리 예측할 수 없도록 하는 방식으로 범위가 지정 되거나 테 넌 트 된 주소를 제공 합니다.Other channels, such as Facebook and Slack, provide either scoped or tenanted addresses in a way that prevents a bot from being able to predict a user's ID ahead of time. 이러한 경우에는 사용자가 봇을 사용할 권한이 있는지 판단하기 위해 로그인 링크나 공유 비밀을 통해 사용자를 인증해야 합니다.In these cases, you will need to authenticate the user via a login link or shared secret in order to determine whether or not they are authorized to use the bot.

모든 메시지 이후 Direct Line 1.1 대화가 시작되는 이유는 무엇인가요?Why does my Direct Line 1.1 conversation start over after every message?

참고

이 섹션은 최신 버전의 Direct Line 프로토콜 3.0에 적용되지 않습니다.This sections does not apply to the latest version of the Direct Line protocol, 3.0

모든 메시지 이후 Direct Line 대화가 시작되는 것처럼 보인다면 from 속성이 누락되었거나 Direct Line 클라이언트가 봇에 보낸 메시지가 null일 수 있습니다.If your Direct Line conversation appears to start over after every message, the from property is likely missing or null in messages that your Direct Line client sent to the bot. Direct Line 클라이언트가 누락되었거나 nullfrom 속성의 메시지를 보낼 경우, Direct Line 서비스는 자동으로 ID를 할당하므로 클라이언트가 보내는 모든 메시지가 다른 새 사용자에게서 온 것처럼 보입니다.When a Direct Line client sends a message with the from property either missing or null, the Direct Line service automatically allocates an ID, so every message that the client sends will appear to originate from a new, different user.

이 문제를 해결하려면 Direct Line 클라이언트가 보내는 각 메시지의 from 속성을, 메시지를 보내는 사용자를 고유하게 나타내는 안정적인 값으로 설정합니다.To fix this, set the from property in each message that the Direct Line client sends to a stable value that uniquely represents the user who is sending the message. 예를 들어 사용자가 이미 웹 페이지나 앱에 로그인한 경우 사용자가 보내는 메시지에서 기존 사용자 ID를 from 속성 값으로 사용할 수 있습니다.For example, if a user is already signed-in to a webpage or app, you might use that existing user ID as the value of the from property in messages that the user sends. 또는 페이지 로드 또는 애플리케이션 로드 시 임의의 사용자 ID를 생성하여 쿠키나 디바이스 상태에 저장하고, 이 ID를 사용자가 보내는 메시지에서 from 속성 값으로 사용할 수 있습니다.Alternatively, you might choose to generate a random user ID on page-load or on application-load, store that ID in a cookie or device state, and use that ID as the value of the from property in messages that the user sends.

Direct Line 3.0 서비스가 HTTP 상태 코드 502 "잘못된 게이트웨이"라 답하는 이유는 무엇인가요?What causes the Direct Line 3.0 service to respond with HTTP status code 502 "Bad Gateway"?

Direct Line 3.0은 봇 연결을 시도했으나 요청이 성공적으로 완료되지 않으면 HTTP 상태 코드 502를 반환합니다.Direct Line 3.0 returns HTTP status code 502 when it tries to contact your bot but the request does not complete successfully. 이 오류는 봇이 오류를 반환했거나 요청된 시간이 초과되었음을 표시합니다. 봇이 생성하는 오류에 대한 자세한 내용은 Azure Portal 내에서 봇의 대시보드로 이동하고 영향을 받는 채널에 대한 "이슈" 링크를 클릭합니다.This error indicates that either the bot returned an error or the request timed out. For more information about errors that your bot generates, go to the bot's dashboard within the Azure Portal and click the "Issues" link for the affected channel. 봇에 대해 Application Insights를 구성한 경우 거기서도 상세 오류 정보를 제공합니다.If you have Application Insights configured for your bot, you can also find detailed error information there.

봇을 만들 때 Authorization_RequestDenied 예외가 발생하는 이유는 무엇인가요?Why do I get an Authorization_RequestDenied exception when creating a bot?

Azure Bot Service 봇을 만들 수 있는 권한은 AAD(Azure Active Directory)를 통해 관리됩니다.Permission to create Azure Bot Service bots are managed through the Azure Active Directory (AAD) portal. AAD 포털에서 권한이 올바르게 구성되지 않은 경우 봇 서비스를 만들 때 Authorization_RequestDenied 예외가 발생합니다.If permissions are not properly configured in the AAD portal, users will get the Authorization_RequestDenied exception when trying to create a bot service.

먼저 디렉터리의 "게스트"인지 확인합니다.First check whether you are a "Guest" of the directory:

  1. Azure Portal에 로그인합니다.Sign-in to Azure portal.
  2. 모든 서비스 를 선택하고 active 를 검색합니다.Click All services and search for active.
  3. Azure Active Directory 를 선택합니다.Select Azure Active Directory.
  4. 사용자 를 클릭합니다.Click Users.
  5. 목록에서 사용자를 찾고 사용자 유형게스트 가 아닌지 확인합니다.Find the user from the list and ensure that the User Type is not a Guest.

Azure Active Directory 사용자 유형

게스트 가 아닌지 확인한 다음, Active Directory 내 사용자가 봇 서비스를 만들 수 있는지 확인하고 디렉터리 관리자가 다음 설정을 구성해야 합니다.Once you verified that you are not a Guest, then to ensure that users within an active directory can create bot service, the directory administrator needs to configure the following settings:

  1. AAD 포털에 로그인합니다.Sign-in to AAD portal. 사용자 및 그룹 으로 이동하고 사용자 설정 을 선택합니다.Go to Users and groups and select User settings.
  2. 앱 등록 섹션에서 사용자가 애플리케이션을 등록할 수 있음 로 설정합니다.Under App registration section, set Users can register applications to Yes. 이렇게 하면 디렉터리의 사용자가 봇 서비스를 만들 수 있습니다.This allows users in your directory to create bot service.
  3. 외부 사용자 섹션에서 게스트 사용자 권한이 제한됨아니요 로 설정합니다.Under the External users section, set Guest users permissions are limited to No. 이렇게 하면 디렉터리의 게스트 사용자가 봇 서비스를 만들 수 있습니다.This allows guest users in your directory to create bot service.

Azure Active Directory 관리 센터

내 봇을 마이그레이션할 수 없는 이유는 무엇인가요?Why can't I migrate my bot?

봇이 dev.botframework.com에 등록되어 있고 Azure로 마이그레이션하려고 하지만 이 봇을 마이그레이션하는 데 문제가 있는 경우 해당 봇이 기본 디렉터리가 아닌 디렉터리에 속하기 때문일 수 있습니다.If your bot is registered in dev.botframework.com, and you want to migrate it to Azure, but are having issues migrating your bot, it might be because the bot belongs to a directory other than your default directory. 다음 단계를 시도합니다.Try these steps:

  1. 대상 디렉터리에서 기본 디렉터리의 멤버가 아닌 새 사용자(이메일 주소를 통해)를 추가하고, 마이그레이션 대상인 구독에서 사용자 기여자 역할을 부여합니다.From the target directory, add a new user (via email address) that is not a member of the default directory, grant the user contributor role on the subscriptions that are the target of the migration.

  2. 개발자 포털에서 사용자의 전자 메일 주소를 마이그레이션해야 하는 bot의 공동 소유자로 추가 합니다.From Dev Portal, add the user's email address as co-owners of the bot that should be migrated. 그런 다음, 로그아웃합니다.Then sign out.

  3. 새 사용자로 Dev Portal에 로그인하고 봇 마이그레이션을 진행합니다.Sign in to Dev Portal as the new user and proceed to migrate the bot.

자세한 도움말은 어디서 얻을 수 있나요?Where can I get more help?

  • 이전에 스택 오버플로에 관해 답변한 질문에서 정보를 활용하거나 botframework 태그를 사용하여 질문을 게시합니다.Leverage the information in previously answered questions on Stack Overflow, or post your own questions using the botframework tag. 스택 오버플로에는 설명을 포함하는 제목, 완전하고 간결한 문제 설명 및 문제를 재현하기 위한 충분한 세부 정보 등의 지침이 포함되어 있습니다.Please note that Stack Overflow has guidelines such as requiring a descriptive title, a complete and concise problem statement, and sufficient details to reproduce your issue. 기능 요청 또는 너무 광범위한 질문은 주제를 벗어납니다. 자세한 내용을 원하는 새 사용자는 스택 오버플로 도움말 센터를 방문해야 합니다.Feature requests or overly broad questions are off-topic; new users should visit the Stack Overflow Help Center for more details.
  • GitHub의 BotBuilder 문제에서 Bot Framework SDK의 알려진 문제를 참조하거나 새 문제를 보고합니다.Consult BotBuilder issues in GitHub for information about known issues with the Bot Framework SDK, or to report a new issue.
  • Gitter의 BotBuilder 커뮤니티 토론에 있는 정보를 활용합니다.Leverage the information in the BotBuilder community discussion on Gitter.