Solução de problemas - AWSMobile SDK for Unity

OAWSMobile SDK for Unity agora está incluído noAWS SDK for .NET. Este guia faz referência à versão arquivada do Mobile SDK for Unity. Para obter mais informações, consulteO que é ?AWSMobile SDK for Unity?

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas

Devido às limitações da classe Unity.WWW usadas pelo AWS SDK para Unity, não são retornadas mensagens de erro detalhadas quando ocorre um problema durante a chamada de um serviço da AWS. Este tópico descreve algumas ideias para solucionar esses problemas.

Verificação da existência de permissões necessárias na função do IAM

Ao chamar os serviços da AWS, seu aplicativo usa uma identidade de um grupo de identidades do Cognito. Cada identidade do grupo é associada a uma função do IAM (Identity and Access Management). A função tem um ou mais arquivos de política associados a ela, que especificam a quais recursos da AWS os usuários atribuídos à função terão acesso. Por padrão, duas funções são criadas: uma para os usuários autenticados e outra para os usuários não autenticados. Você precisará modificar o arquivo de política existente ou associar um novo arquivo de política com as permissões necessárias ao aplicativo. Se o aplicativo permitir usuários autenticados e não autenticados, as duas funções deverão receber permissões para acessar os recursos da AWS necessários ao aplicativo.

O arquivo de política a seguir mostra como conceder acesso a um bucket do S3:

{ "Statement": [ { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::MYBUCKETNAME/*", "Principal": "*" } ] }

O arquivo de política a seguir mostra como conceder acesso a um banco de dados do DynamoDB:

{ "Statement": [{ "Effect": "Allow", "Action": [ "dynamodb:DeleteItem", "dynamodb:GetItem", "dynamodb:PutItem", "dynamodb:Scan", "dynamodb:UpdateItem" ], "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/MyTable" }] }

Para obter mais informações sobre como especificar políticas, consulte Políticas do IAM.

Uso de um depurador de proxy HTTP

Se o serviço da AWS que o aplicativo está chamando tiver um endpoint HTTP ou HTTPS, você poderá usar um depurador de proxy HTTP/HTTPS para visualizar as solicitações e respostas e, assim, compreender melhor o que está acontecendo. Há uma série depuradores de proxy HTTP disponíveis, como:

  • Charles – um proxy de depuração da web para OSX

  • Fiddler – um proxyfidd de depuração da web para Windows

Importante

Há um problema conhecido do Cognito Credential Provider durante a execução do proxy de depuração da web Charles que impede o funcionamento correto do provedor de credenciais.

Charles e Fiddler exigem que algumas configurações possam exibir o tráfego criptografado por SSL. Leia a documentação dessas ferramentas para obter mais informações. Se você estiver usando um proxy de depuração da web que não possa ser configurado para exibir o tráfego criptografado, abra o arquivo aws_endpoints_json (localizado emAWSUnitySDK/AWSCore/Resources) e defina a tag HTTP para o serviço da AWS que você precisa depurar como true