awslabs / amazon-kinesis-video-streams-webrtc-sdk-ios

iOS SDK for interfacing with the Amazon Kinesis Video Streams Signaling Service.
Apache License 2.0
66 stars 29 forks source link

ResourceNotFoundException #80

Closed JinTae89 closed 1 year ago

JinTae89 commented 1 year ago

I developed a video call app using this SDK.

The service has been running without any problems for two years, and we recently discovered a user who was having a problem.

This problem is occurring to a very small number of users.

image

How can I solve this problem?

sirknightj commented 1 year ago

A resource not found exception occurs when Amazon Kinesis Video Streams can't find the signaling channel that was specified in the request (for example, DescribeSignalingChannel). Please make sure that the signaling channel exists within the AWS account in the correct region. (Create one if it doesn't exist via CreateSignalingChannel.)

Bhoon-coding commented 1 year ago

@sirknightj
I got same issue. only call createSignalingChannel method. I tried to create signaling channel by channelName and checked channelName doesn't nil. Here is my code

private func createChannel(channelName: String, completion: ((String?) -> Void)? = nil) {
        let kvsClient = AWSKinesisVideo(forKey: awsKinesisVideoKey)
        guard let createSignalingChannelInput = AWSKinesisVideoCreateSignalingChannelInput() else {
            print("createSigalingChannelInput 생성실패")
            return
        }
        createSignalingChannelInput.channelName = channelName
        print("createSignalingChannelInput: \(createSignalingChannelInput)")
        // MARK: - Here's problem thing
        kvsClient.createSignalingChannel(createSignalingChannelInput) { [weak self] result, error in
            guard let strongSelf = self else { return }
                if let error = error {
                    print("\(#function) error: \(error.localizedDescription)")

                } else {
                    strongSelf.channelARN = result?.channelARN
                    completion?(strongSelf.channelARN)
                    print("Channel ARN : ", result?.channelARN ?? "No Channel")
                }
                return
        }
        // MARK: - channelARN이 없을 수 있나. (channelARN 생성에 실패했다면 error로 빠졌을것)
        if channelARN == nil {
            ErrorReportManager.shared.log(
                message: "\(self)_\(#function): channelARN == nil"
            )
            print("Unable to create channel Please validate all the input fields ")
            return
        }
}