antonshuvaev / intellij-dynamodb Goto Github PK
View Code? Open in Web Editor NEWDynamoDB plugin for Intellij IDEA and other JetBrains IDEs
Home Page: https://plugins.jetbrains.com/plugin/18896-dynamodb
DynamoDB plugin for Intellij IDEA and other JetBrains IDEs
Home Page: https://plugins.jetbrains.com/plugin/18896-dynamodb
I have a project with a lot of tables, but the browser view only shows the first chunk of them (i think its 50), i can manually type queries and use the other tables, but only if i know the names
I can copy items only through export to files
Batch Write Item
need's Copy table to...
options
I have production DDB and it have some items,
For developing even I have local DDB and often need to copy some items to local table.
If it would be possible to have saved queries in the same window as dynamodb tables that might improve user experience for people who are not used to jetbrain's bookmark functionality.
Hello.
Виджет крутой, купил, пользуюсь, благодарствую!
Периодически бывают ошибки, буду кидать сюда по мере появления.
Первое, что хотелось бы отметить это как я понял отсутствие автоматической отправки багов.
java.lang.NullPointerException: must not be null
at org.dynamodb4idea.bY.a(SourceFile:82)
at org.dynamodb4idea.bY.e(SourceFile:57)
at org.dynamodb4idea.bY.a(SourceFile:14)
at org.dynamodb4idea.bY.a(SourceFile:10)
at org.dynamodb4idea.bR.b(SourceFile:291)
at org.dynamodb4idea.bR.<init>(SourceFile:143)
at org.dynamodb4idea.bs.actionPerformed(SourceFile:18)
at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:228)
at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$2(ActionButton.java:207)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:356)
at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:207)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:518)
at java.desktop/java.awt.Component.processEvent(Component.java:6421)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:667)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:615)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
java.lang.NullPointerException: must not be null
at org.dynamodb4idea.bY.a(SourceFile:82)
at org.dynamodb4idea.bY.e(SourceFile:57)
at org.dynamodb4idea.bY.a(SourceFile:14)
at org.dynamodb4idea.bY.a(SourceFile:10)
at org.dynamodb4idea.bR.b(SourceFile:291)
at org.dynamodb4idea.bR.b(SourceFile:119)
at java.desktop/javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1257)
at java.desktop/javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1318)
at java.desktop/javax.swing.JComboBox.contentsChanged(JComboBox.java:1365)
at java.desktop/javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:127)
at java.desktop/javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:94)
at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:609)
at java.desktop/javax.swing.JComboBox.setSelectedIndex(JComboBox.java:654)
at java.desktop/javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:946)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6656)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3385)
at java.desktop/javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:551)
at java.desktop/java.awt.Component.processEvent(Component.java:6421)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:667)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:615)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
at java.desktop/java.awt.Dialog.show(Dialog.java:1080)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:741)
at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:466)
at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1675)
at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1633)
at org.dynamodb4idea.bs.actionPerformed(SourceFile:23)
at com.intellij.openapi.actionSystem.impl.ActionButton.actionPerformed(ActionButton.java:228)
at com.intellij.openapi.actionSystem.impl.ActionButton.lambda$performAction$2(ActionButton.java:207)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:356)
at com.intellij.openapi.actionSystem.impl.ActionButton.performAction(ActionButton.java:207)
at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:518)
at java.desktop/java.awt.Component.processEvent(Component.java:6421)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:760)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:667)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:615)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:570)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
java.lang.IllegalStateException: Do not change documents during undo as it will break undo sequence.
at com.intellij.openapi.command.impl.DocumentUndoProvider.handleBeforeDocumentChange(DocumentUndoProvider.java:62)
at com.intellij.openapi.command.impl.DocumentUndoProvider.beforeDocumentChange(DocumentUndoProvider.java:50)
at com.intellij.openapi.editor.impl.event.EditorEventMulticasterImpl$1.lambda$beforeDocumentChange$0(EditorEventMulticasterImpl.java:41)
at com.intellij.openapi.extensions.impl.ExtensionProcessingHelper.forEachExtensionSafe(ExtensionProcessingHelper.kt:32)
at com.intellij.openapi.extensions.ExtensionPointName.forEachExtensionSafe(ExtensionPointName.kt:49)
at com.intellij.openapi.editor.impl.event.EditorEventMulticasterImpl$1.beforeDocumentChange(EditorEventMulticasterImpl.java:41)
at com.intellij.openapi.editor.impl.DocumentImpl.lambda$beforeChangedUpdate$1(DocumentImpl.java:881)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeNonCancelableSection$3(CoreProgressManager.java:222)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$computeInNonCancelableSection$4(CoreProgressManager.java:230)
at com.intellij.openapi.progress.Cancellation.computeInNonCancelableSection(Cancellation.java:99)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeInNonCancelableSection(CoreProgressManager.java:230)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeNonCancelableSection(CoreProgressManager.java:221)
at com.intellij.openapi.editor.impl.DocumentImpl.beforeChangedUpdate(DocumentImpl.java:878)
at com.intellij.openapi.editor.impl.DocumentImpl.updateText(DocumentImpl.java:818)
at com.intellij.openapi.editor.impl.DocumentImpl.replaceString(DocumentImpl.java:664)
at com.intellij.openapi.editor.impl.DocumentImpl.lambda$setText$4(DocumentImpl.java:1091)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:210)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:150)
at com.intellij.openapi.editor.impl.DocumentImpl.setText(DocumentImpl.java:1096)
at org.dynamodb4idea.ah$a.a(SourceFile:84)
at org.dynamodb4idea.ah$a.invoke(SourceFile:80)
at com.intellij.openapi.application.ActionsKt.runWriteAction$lambda$0(actions.kt:9)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$runWriteAction$8(ApplicationImpl.java:965)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:944)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:965)
at com.intellij.openapi.application.ActionsKt.runWriteAction(actions.kt:9)
at org.dynamodb4idea.ah.a(SourceFile:80)
at org.dynamodb4idea.ad.a(SourceFile:237)
at org.dynamodb4idea.ad.d(SourceFile:215)
at org.dynamodb4idea.ad.a(SourceFile:83)
at org.dynamodb4idea.ad$1.caretPositionChanged(SourceFile:118)
at jdk.internal.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:120)
at com.intellij.util.EventDispatcher.lambda$createMulticaster$1(EventDispatcher.java:85)
at jdk.proxy1/jdk.proxy1.$Proxy108.caretPositionChanged(Unknown Source)
at com.intellij.openapi.editor.impl.CaretModelImpl.fireCaretPositionChanged(CaretModelImpl.java:543)
at com.intellij.openapi.editor.impl.CaretImpl.doMoveToLogicalPosition(CaretImpl.java:461)
at com.intellij.openapi.editor.impl.CaretImpl.moveToLogicalPosition(CaretImpl.java:606)
at com.intellij.openapi.editor.impl.CaretImpl.lambda$moveToLogicalPosition$2(CaretImpl.java:318)
at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:414)
at com.intellij.openapi.editor.impl.CaretImpl.moveToLogicalPosition(CaretImpl.java:318)
at com.intellij.openapi.editor.impl.CaretModelImpl.lambda$setCaretsAndSelections$4(CaretModelImpl.java:460)
at com.intellij.openapi.editor.impl.CaretModelImpl.doWithCaretMerging(CaretModelImpl.java:419)
at com.intellij.openapi.editor.impl.CaretModelImpl.setCaretsAndSelections(CaretModelImpl.java:447)
at com.intellij.openapi.fileEditor.impl.text.TextEditorProvider.setStateImpl(TextEditorProvider.java:259)
at com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorProvider.setStateImpl(PsiAwareTextEditorProvider.java:97)
at com.intellij.openapi.fileEditor.impl.text.AsyncEditorLoader.setEditorState(AsyncEditorLoader.kt:204)
at com.intellij.openapi.fileEditor.impl.text.TextEditorImpl.setState(TextEditorImpl.java:155)
at com.intellij.openapi.fileEditor.impl.text.TextEditorImpl.setState(TextEditorImpl.java:149)
at com.intellij.openapi.command.impl.UndoRedo.restore(UndoRedo.java:282)
at com.intellij.openapi.command.impl.UndoRedo.execute(UndoRedo.java:111)
at com.intellij.openapi.command.impl.CommandMerger.undoOrRedo(CommandMerger.java:300)
at com.intellij.openapi.command.impl.UndoManagerImpl.lambda$undoOrRedo$1(UndoManagerImpl.java:430)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164)
at com.intellij.openapi.command.impl.UndoManagerImpl.undoOrRedo(UndoManagerImpl.java:438)
at com.intellij.openapi.command.impl.UndoManagerImpl.undo(UndoManagerImpl.java:409)
at com.intellij.ide.actions.UndoAction.perform(UndoAction.java:31)
at com.intellij.ide.actions.UndoRedoAction.actionPerformed(UndoRedoAction.java:52)
at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.java:333)
at com.intellij.openapi.keymap.impl.ActionProcessor.performAction(ActionProcessor.java:47)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher$1.performAction(IdeKeyEventDispatcher.java:585)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$9(IdeKeyEventDispatcher.java:707)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:94)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.lambda$doPerformActionInner$10(IdeKeyEventDispatcher.java:707)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performDumbAwareWithCallbacks(ActionUtil.java:356)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.doPerformActionInner(IdeKeyEventDispatcher.java:704)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:648)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processAction(IdeKeyEventDispatcher.java:596)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.processActionOrWaitSecondStroke(IdeKeyEventDispatcher.java:480)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.inInitState(IdeKeyEventDispatcher.java:469)
at com.intellij.openapi.keymap.impl.IdeKeyEventDispatcher.dispatchKeyEvent(IdeKeyEventDispatcher.java:225)
at com.intellij.ide.IdeEventQueue.dispatchKeyEvent(IdeEventQueue.kt:599)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:569)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
com.intellij.util.IncorrectOperationException: Sorry but parent: org.dynamodb4idea.ad[,0,0,570x928,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=] (class org.dynamodb4idea.ad) has already been disposed (see the cause for stacktrace) so the child: org.dynamodb4idea.cQ[,0,0,0x0,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=com.intellij.ui.border.CustomLineBorder@3d1584b8,flags=9,maximumSize=,minimumSize=,preferredSize=] (class org.dynamodb4idea.cQ) will never be disposed
at com.intellij.openapi.util.ObjectTree.register(ObjectTree.java:43)
at com.intellij.openapi.util.Disposer.register(Disposer.java:164)
at org.dynamodb4idea.cQ.<init>(SourceFile:89)
at org.dynamodb4idea.cS.b(SourceFile:64)
at org.dynamodb4idea.cS.b(SourceFile:88)
at org.dynamodb4idea.cS.a(SourceFile:84)
at org.dynamodb4idea.ad$h.a(SourceFile:399)
at org.dynamodb4idea.ad$h.invoke(SourceFile:398)
at com.intellij.openapi.application.ActionsKt.invokeLater$lambda$5(actions.kt:58)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:454)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:79)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:122)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:41)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:788)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:758)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:667)
at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$7(IdeEventQueue.kt:571)
at com.intellij.openapi.application.impl.ApplicationImpl.withoutImplicitRead(ApplicationImpl.java:1444)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:571)
at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:68)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:349)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:348)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:348)
at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:343)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:995)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:995)
at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$4(IdeEventQueue.kt:343)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:829)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:385)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
Hello I just saw
Do not automatically execute queries from opened files after IDE restart
from https://github.com/AntonShuvaev/intellij-dynamodb/blob/main/CHANGELOG.md. Is there any details what would trigger that?
I have several consoles with operational ad-hoc queries, I want to understand if they've been triggering without my knowledge.
Describe the bug
When you have the edit window on a record open, expanding the window via the drag handle doesn't also open up the text editing area. See screenshot.
Steps to reproduce
Expected behavior
should also open textarea
Environment information:
Using the "profile from credentials file" option and setting the credentials and config files results in an error:
"Connection test failed: java.lang.IllegalStateException: Failed to refresh process-based credentials"
The same configuration works when using the Big Data Tools plugin in JetBrains.
What steps can I take to troubleshoot the connection issue?
DataGrip 2023.1
Build #DB-231.8109.163, built on March 27, 2023
Runtime version: 17.0.6+10-b829.5 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
DynamoDB plugin:
2023.1.0-23
Describe the bug
When choosing export with CSV exporter, choosing the option to include headers will generate a blank line at the top as if it's inserting headers, but no actual headers. Both the preview and csv results are like this, see screenshot
Steps to reproduce
Choose any file and Export
CSV export
Check checkbox for header rows
Expected behavior
Environment information:
Describe the bug
I've got a simple Scan query (copied from the request body view of the plugin):
{
"FilterExpression": "fooId = :val_1",
"ExpressionAttributeValues": {
":val_1": {
"S": "some value"
}
},
"TableName": "my-table",
"ReturnConsumedCapacity": "TOTAL"
}
where fooId
is not a key (hence it's a scan call). This request returns no items, but when I run it on AWS web console (not the actual JSON, but using the provided form) it correctly returns three items.
Steps to reproduce
Not entirely sure what is the root cause here. Sometimes scan calls return some result sometimes not.
Expected behavior
It should return the correct items.
Environment information:
IntelliJ IDEA 2023.2 (Ultimate Edition)
Build #IU-232.8660.185, built on July 26, 2023
Runtime version: 17.0.7+7-b1000.6 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.5
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Metal Rendering is ON
Non-Bundled Plugins:
org.dynamodb4idea (2023.2.1-232)
Kotlin: 232-1.9.0-IJ8660.185
When selecting only certain attributes to be shown upon issuing another query filter is not kept. See video below showcasing the issue:
I find tabs less usable than windows when it comes to dynamodb query editor/runner. This is mainly because I'm used to having code in tabs and other functionality in windows. This is especially felt when I'm trying to open a code file and expecting query editor to stay, or when I would prefer to dock query editor to the bottom and hide/unhide it.
I'm not sure this would be a good change in all scenarios, feel free to close the issue if you don't find it a good suggestion.
Describe the bug
When deleting a table, the table list does not refresh. The deleted table will not even disappear on a manual refresh click.
Steps to reproduce
For Delete:
Environment information:
Describe the bug
I try to create a new local dynamodb connection
Connection test failed: java.lang.IllegalArgumentException: Expected a profile or property
definition on line 2
Steps to reproduce
I try to connect to a local dynamodb connection on a local docker. I can use dynamodb-admin just fine.
Expected behavior
I should be able to connect to a local dynamodb instance
Environment information:
Connection test failed: java.lang.IllegalStateException: Invalid profile file: Circular relationship
detected with profiles [my-test-profile].
I only have access to certain tables that start with abc-
,but when I test the connection I get an error
not authorized to perform: dynamodb:ListTables on resource: arn:aws:dynamodb:us-east-1:xxxxxxxxxxx:table/*
I think it may work if that said :table/abc-*
which I had put in the tables names pattern in advanced.
In my YC Functions I work with YDB Document tables with @aws-sdk/client-dynamodb
and @aws-sdk/lib-dynamodb
libs for all Cmd.
In latest PhpStorm plugin connect successfully but not open tree of content
Describe the bug
On the new feature Sort results within ddb window #45 the sorting works fine for non-key columns but columns that make up up your PK or SK are not working properly.
Clicking on a non-key column will resort all the columns together which is what you would expect, to keep the record together. But clicking on the PK column will sort only that column, meaning the rows are no longer aligned.
Steps to reproduce
Bring up a query of 100 rows that have several columns
click on a non-key column, all sorts correctly
click on the PK column and only that column will sort
Expected behavior
Environment information:
Does the plugin support AWS SSO?
after adding a connection and clicking the Test connection ... it comes back with successfull
but the tree vuew never populates with anything else... not tables or anything apart from the Dynamdb icon
what am i missing
Hey AntonShuvaev,
I really like your dynamodb plugin for intelliJ.
Can you explain me where the favorites are saved to?
Is there a possibility within the plugin to edit and remove favorites?
Best wishes,
Mario
no
You can click on a record and then the toolbar (or Command B) to open the edit window. For click connivence, you could also make the row # itself to the left of the record (highlighted in screenshot) react to a double-click to open this box.
If you wanted to take it a step further, make a user config option somewhere to have double clicking on the row anywhere open the box instead of just the single field as it does now/
No response
Currently, searching by table name is not convenient, because it searches by part of the name
If I search a table User
it highlights lots of tables containing User
but starting with A, B, C, etc. and I have to scroll down in any way
Tables filter
Instead of highlighting tables, I would like to have a filtered list of matching tables similar to how it is done in the AWS console in the Explore Items view
No response
I have a local dynamoDB docker instance running.
when running command
aws dynamodb list-tables --endpoint-url http://localhost:8000
lists the tables available.
These tables do not show under the plugin.
any ideas?
Installing the plugin from the plugins marketplace inside IntelliJ IDEA 2022.1.4 (Ultimate Edition) fails. An error popup with the following message is displayed:
Plugin Installation
Plugin "DynamoDB" was not installed:
Request failed with status code 404
The following exception gets logged in the log file:
2022-07-25 22:50:19,698 [44199438] INFO - #c.i.o.u.i.PluginDownloader - Request failed with status code 404
com.intellij.util.io.HttpRequests$HttpStatusException: Request failed with status code 404. Status=404, Url=https://plugins.jetbrains.com/pluginManager/?id=org.dynamodb4idea&build=IU-999.SNAPSHOT&uuid=0104222aafebc17-b9fd-49d2-b93c-36778b43835e
at com.intellij.util.io.HttpRequests.throwHttpStatusError(HttpRequests.java:652)
at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:630)
at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:359)
at com.intellij.util.io.HttpRequests$RequestImpl.getInputStream(HttpRequests.java:367)
at com.intellij.util.io.HttpRequests$RequestImpl.saveToFile(HttpRequests.java:458)
at com.intellij.util.io.HttpRequests$Request.saveToFile(HttpRequests.java:91)
at com.intellij.ide.plugins.marketplace.MarketplacePluginDownloadService$downloadPlugin$1.process(MarketplacePluginDownloadService.kt:75)
at com.intellij.ide.plugins.marketplace.MarketplacePluginDownloadService$downloadPlugin$1.process(MarketplacePluginDownloadService.kt:37)
at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:516)
at com.intellij.util.io.HttpRequests.process(HttpRequests.java:498)
at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:333)
at com.intellij.ide.plugins.marketplace.MarketplacePluginDownloadService.downloadPlugin(MarketplacePluginDownloadService.kt:73)
at com.intellij.openapi.updateSettings.impl.PluginDownloader.tryDownloadPlugin(PluginDownloader.java:358)
at com.intellij.openapi.updateSettings.impl.PluginDownloader.prepareToInstall(PluginDownloader.java:218)
at com.intellij.ide.plugins.PluginInstallOperation.prepareToInstall(PluginInstallOperation.java:257)
at com.intellij.ide.plugins.PluginInstallOperation.prepareToInstallWithCallback(PluginInstallOperation.java:225)
at com.intellij.ide.plugins.PluginInstallOperation.prepareToInstall(PluginInstallOperation.java:198)
at com.intellij.ide.plugins.PluginInstallOperation.run(PluginInstallOperation.java:138)
at com.intellij.ide.plugins.newui.MyPluginModel.runInstallOperation(MyPluginModel.java:441)
at com.intellij.ide.plugins.newui.MyPluginModel$1.run(MyPluginModel.java:409)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:442)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:493)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:244)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:189)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:176)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:244)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
at java.base/java.lang.Thread.run(Thread.java:829)
Thanks for help.
Hello
SELECT *
FROM foo
WHERE "a" != "b"
As seen here:
Gets highlighted as an error.
It works just like <>
despite not being documented in https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ql-operators.html
Hi Anton
I have been trying to get the plugin to work with Scylla alternator DynamoDB . I am not sure this is supported but being a drop in replacement I thought I would try. Unfortunately the IDE errors on connecting. I think it might have to do with Scylla adding log tables xxx_scylla_cdc_log which error out when called with describe-table. Maybe filtering out these could help. Again, not sure this officially supported. IDE error below.
Thanks
Lee
java.lang.NullPointerException: Cannot invoke "software.amazon.awssdk.services.dynamodb.model.Projection.projectionType()" because "<parameter2>" is null at org.dynamodb4idea.dq.a(TableNodeDescriptor.kt:75) at org.dynamodb4idea.dq.<init>(TableNodeDescriptor.kt:45) at org.dynamodb4idea.di.getChildren(DatabaseNodeDescriptor.kt:37) at com.intellij.ui.treeStructure.SimpleTreeStructure.getChildElements(SimpleTreeStructure.java:12) at com.intellij.ui.tree.StructureTreeModel.getValidChildren(StructureTreeModel.java:412) at com.intellij.ui.tree.StructureTreeModel.validateChildren(StructureTreeModel.java:330) at com.intellij.ui.tree.StructureTreeModel$Node.isModelLeaf(StructureTreeModel.java:585) at com.intellij.ui.tree.StructureTreeModel.isLeaf(StructureTreeModel.java:366) at com.intellij.ui.tree.LeafState.get(LeafState.java:64) at com.intellij.ui.tree.AsyncTreeModel$CmdGetChildren.getNode(AsyncTreeModel.java:543) at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:443) at com.intellij.ui.tree.AsyncTreeModel$Command.get(AsyncTreeModel.java:409) at com.intellij.util.concurrency.Invoker$Task.run(Invoker.java:305) at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1086) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:71) at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:128) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:109) at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:68) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:190) at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:591) at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:666) at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:622) at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:590) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:177) at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:68) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:106) at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:71) at com.intellij.util.concurrency.Invoker.invokeSafely(Invoker.java:187) at com.intellij.util.concurrency.Invoker.lambda$offerSafely$0(Invoker.java:165) at com.intellij.util.concurrency.Invoker$Background.lambda$offer$0(Invoker.java:475) at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:243) at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:29) at com.intellij.util.concurrency.BoundedTaskExecutor$1.executeFirstTaskAndHelpQueue(BoundedTaskExecutor.java:216) at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212) at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:205) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:833)
When query contains attribute with -
in name then it fails with following error:
ValidationException
Invalid KeyConditionExpression: Syntax error; token: "-", near: "GI-1"
This is caused by not masking ExpressionAttributeNames with valid values. This is btw. the same error that competing product Dynobase has. This is killer, because it makes plugin unusable for most of tables that follow this naming convention. It's extremely inconvenient as AWS encourages developers to name their entities and attributes in DNS compliant way, which contains -
character.
GI-1-PK
GI-1-PK = "A"
Use ExpressionAttributeNames
to rename all attributes to safe names
I was trying to test connection with my aws creds, apparently the connection fails.
I tried all the 3 modes of connection, nothing seem to succeed. However, I can connect and query successfully via aws cli. Not sure what is missing.
Following is the version of the plugin I have installed.
Content inside my aws config/credential file looks like this. I have masked the creds for sharing:
[default]
region=us-west-2
aws_access_key_id = ****
aws_secret_access_key = ****
The https traffic does not flow over the proxy that is defined in IntelliJ. Can this be added?
Export from localstack table (DynamoDB JSON) and then try to import the exported file back into a new table created with the same schema also exported as Create Table.
The export is only 38 meg.
After failure the target import table has only 25 of 42756 items.
no
If you do a query and then drag the columns around, then do a Command+r to refresh by requerying (but not otherwise leave the screen), the column order should really be preserved. I understand if you go to other menu options and go back that it would reset to the original order, but for troubleshooting where you might want to move a column up front to focus on, and then refresh as you're doing things with the db, having that column order stick is very useful.
No response
I am attempting to connect to dynamo from behind a gateway that intercepts SSL connections and uses a self-signed certificate instead. I am getting the following error when using this plugin. Usually this error indicates that the JVM is not configured to trust the certificate. However, my system is configured to trust the self-signed certificate and IntelliJ is configured to trust it as well. Outside of this plugin I am not having issues connecting to dynamo or other AWS resources. The AWS toolkit plugin is able to connect to dynamo.
Plugin version 2023.1.1-231
2023-04-06 10:26:56,371 [ 19784] WARN - #org.dynamodb4idea.lJ - Error while testing connection
software.amazon.awssdk.core.exception.SdkClientException: Unable to execute HTTP request: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:111)
at software.amazon.awssdk.core.exception.SdkClientException.create(SdkClientException.java:47)
at software.amazon.awssdk.core.internal.http.pipeline.stages.utils.RetryableStageHelper.setLastException(RetryableStageHelper.java:223)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:83)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:36)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:56)
at software.amazon.awssdk.core.internal.http.StreamManagingStage.execute(StreamManagingStage.java:36)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.executeWithTimer(ApiCallTimeoutTrackingStage.java:80)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:60)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallTimeoutTrackingStage.execute(ApiCallTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:48)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallMetricCollectionStage.execute(ApiCallMetricCollectionStage.java:31)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:37)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ExecutionFailureExceptionReportingStage.execute(ExecutionFailureExceptionReportingStage.java:26)
at software.amazon.awssdk.core.internal.http.AmazonSyncHttpClient$RequestExecutionBuilderImpl.execute(AmazonSyncHttpClient.java:193)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.invoke(BaseSyncClientHandler.java:103)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.doExecute(BaseSyncClientHandler.java:171)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:82)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:179)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:76)
at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:56)
at software.amazon.awssdk.services.sso.DefaultSsoClient.getRoleCredentials(DefaultSsoClient.java:140)
at software.amazon.awssdk.services.sso.auth.SsoCredentialsProvider.getUpdatedCredentials(SsoCredentialsProvider.java:106)
at software.amazon.awssdk.services.sso.auth.SsoCredentialsProvider.updateSsoCredentials(SsoCredentialsProvider.java:94)
at software.amazon.awssdk.utils.cache.CachedSupplier.lambda$jitteredPrefetchValueSupplier$3(CachedSupplier.java:283)
at software.amazon.awssdk.utils.cache.CachedSupplier$PrefetchStrategy.fetch(CachedSupplier.java:419)
at software.amazon.awssdk.utils.cache.CachedSupplier.refreshCache(CachedSupplier.java:198)
at software.amazon.awssdk.utils.cache.CachedSupplier.get(CachedSupplier.java:127)
at software.amazon.awssdk.services.sso.auth.SsoCredentialsProvider.resolveCredentials(SsoCredentialsProvider.java:138)
at software.amazon.awssdk.services.sso.auth.SsoProfileCredentialsProviderFactory$SsoProfileCredentialsProvider.resolveCredentials(SsoProfileCredentialsProviderFactory.java:122)
at org.dynamodb4idea.c.resolveCredentials(SourceFile:117)
at software.amazon.awssdk.core.internal.util.MetricUtils.measureDuration(MetricUtils.java:50)
at software.amazon.awssdk.awscore.internal.authcontext.AwsCredentialsAuthorizationStrategy.resolveCredentials(AwsCredentialsAuthorizationStrategy.java:100)
at software.amazon.awssdk.awscore.internal.authcontext.AwsCredentialsAuthorizationStrategy.addCredentialsToExecutionAttributes(AwsCredentialsAuthorizationStrategy.java:77)
at software.amazon.awssdk.awscore.internal.AwsExecutionContextBuilder.invokeInterceptorsAndCreateExecutionContext(AwsExecutionContextBuilder.java:120)
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.invokeInterceptorsAndCreateExecutionContext(AwsSyncClientHandler.java:69)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$1(BaseSyncClientHandler.java:78)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:179)
at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:76)
at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:45)
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:56)
at software.amazon.awssdk.services.dynamodb.a.listTables(SourceFile:5145)
at software.amazon.awssdk.services.dynamodb.DynamoDbClient.listTables(DynamoDbClient.java:5787)
at org.dynamodb4idea.lJ$g.a(SourceFile:143)
at org.dynamodb4idea.lJ$g.invoke(SourceFile:146)
at org.dynamodb4idea.r.a(SourceFile:24)
at org.dynamodb4idea.r.b(SourceFile:49)
at org.dynamodb4idea.s$a.run(SourceFile:27)
at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:429)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:114)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$6(CoreProgressManager.java:480)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:252)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:252)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
Suppressed: software.amazon.awssdk.core.exception.SdkClientException: Request attempt 1 failure: Unable to execute HTTP request: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Suppressed: software.amazon.awssdk.core.exception.SdkClientException: Request attempt 2 failure: Unable to execute HTTP request: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Suppressed: software.amazon.awssdk.core.exception.SdkClientException: Request attempt 3 failure: Unable to execute HTTP request: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:371)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:314)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:309)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1357)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(CertificateMessage.java:1232)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(CertificateMessage.java:1175)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:201)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:436)
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:384)
at software.amazon.awssdk.http.apache.internal.conn.SdkTlsSocketFactory.connectSocket(SdkTlsSocketFactory.java:65)
at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142)
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
at software.amazon.awssdk.http.apache.internal.conn.ClientConnectionManagerFactory$DelegatingHttpClientConnectionManager.connect(ClientConnectionManagerFactory.java:86)
at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
at software.amazon.awssdk.http.apache.internal.impl.ApacheSdkHttpClient.execute(ApacheSdkHttpClient.java:72)
at software.amazon.awssdk.http.apache.ApacheHttpClient.execute(ApacheHttpClient.java:254)
at software.amazon.awssdk.http.apache.ApacheHttpClient.access$500(ApacheHttpClient.java:104)
at software.amazon.awssdk.http.apache.ApacheHttpClient$1.call(ApacheHttpClient.java:231)
at software.amazon.awssdk.http.apache.ApacheHttpClient$1.call(ApacheHttpClient.java:228)
at software.amazon.awssdk.core.internal.util.MetricUtils.measureDurationUnsafe(MetricUtils.java:63)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage.executeHttpRequest(MakeHttpRequestStage.java:77)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage.execute(MakeHttpRequestStage.java:56)
at software.amazon.awssdk.core.internal.http.pipeline.stages.MakeHttpRequestStage.execute(MakeHttpRequestStage.java:39)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.RequestPipelineBuilder$ComposingRequestPipelineStage.execute(RequestPipelineBuilder.java:206)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:73)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptTimeoutTrackingStage.execute(ApiCallAttemptTimeoutTrackingStage.java:42)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:78)
at software.amazon.awssdk.core.internal.http.pipeline.stages.TimeoutExceptionHandlingStage.execute(TimeoutExceptionHandlingStage.java:40)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:50)
at software.amazon.awssdk.core.internal.http.pipeline.stages.ApiCallAttemptMetricCollectionStage.execute(ApiCallAttemptMetricCollectionStage.java:36)
at software.amazon.awssdk.core.internal.http.pipeline.stages.RetryableStage.execute(RetryableStage.java:81)
... 68 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
at java.base/sun.security.validator.Validator.validate(Validator.java:264)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)
at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(CertificateMessage.java:1341)
... 111 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
... 116 more
Setting up the profile to use an assumed role looks like this
[auth]
region=eu-west-1
aws_access_key_id=KEY_FROM_AUTH_ACCOUNT
aws_secret_access_key=SECRET_FROM_AUTH_ACCOUNT
[prod]
role_arn=arn:aws:iam::999999999999:role/role_name
source_profile=auth
This works on the command line as follows
aws --profile=prod dynamodb list-tables
And the list of tables comes back, using the auth credentials and assuming the role listed to get the visible tables for that role.
Using the plugin comes back with
Connection test failed: software.amazon.awssdk.core.exception.SdkClientException: Profile file
contained no credentials for profile 'prod': ProfileFile(profiles=[Profile(name=default,
properties=[output, region])])
I assume its looking for the key and secret to be listed and not using the profile.
Could using assumed roles be supported ?
When querying on ddb data, it would be nice to be able to sort within the window, as sort of a "local sort". For example if you have a query result of 100 items, clicking on any column heading would sort your results on that column just locally. Makes it easier to find things
No response
Hello,
I have the plugin configured to connect with a profile set up to use an assumed role and am able to enumerate and query tables but they are the tables in the bastion account and not the sub-account that the profile is pointed to.
The enumerated list in the DynamoDB
panel are the tables in the bastion account and not the assumed role account.
When I list the tables with the CLI (aws --profile=staging dynamodb list-tables
), the correct set of tables are listed.
Pertinent contents of ~/.aws/config
:
[default]
region=us-east-1
[profile main]
region=us-east-1
[profile staging]
role_arn=arn:aws:iam::############:role/OrganizationAccountAccessRole
source_profile=main
region = us-east-1
Pertinent contents of ~/.aws/credentials
:
[main]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
[staging]
aws_access_key_id = XXXXXXXXXXXXXXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
When opening an IDE and fetching the initial list of tables it takes two-three minutes to see the tables
In my AWS account, I have around 600 tables
I suppose the plugin fetches tables and then the metadata for each table before showing a list
Maybe it is worth splitting metadata collection into the background, with the possibility of opening a separate table in the data browser before all the metadata is gathered
Describe the bug
when you tried to export data the button is not enabled, after making several selections it is enabled but never starts the data export process
Steps to reproduce
make a query.
in Icon bar select csv.
click the download icon.
Select the path where the data is to be extracted.
click export button
Expected behavior
export the data of all pages of my query
Environment information:
Describe the bug
On the company system, we use Okta to login into AWS, which gives us three keys to put in ~/.aws/credentials every day: aws_access_key_id, aws_secret_access_key and aws_session_token (these are STS temporary credentials good for 12 hours).
These go into the credentials file under a header that looks like this: [1234567890_devel] i.e. an account number an label which comes out of Okta's integration.
The AWS config file ~/.aws/config is set up to have profiles that use these and look like this:
[profile 999]
region=us-east-1
output=json
source_profile=1234567890_devel
role_arn=arn:aws:iam::1234567890:role/My-Dept-Dev-Role
this profile is set up to use the credentials in the other file.
For cli commands, you simply do the --profile 999 just like any hardcoded profile key/secret set, it works the same. But the Dynamo plugin gives this error when picking "profile from credential file" and the 999, and clicking test:
Connection test failed: java.lang.IllegalStateException: Invalid profile file: Circular relationship
detected with profiles [1234567890_devel, 999].
Steps to reproduce
You can test this scenario without Okta by just using the aws cli to generate a set of temp credentials yourself. You will need to define a Role that has permissions to do whatever first and get the arn for it, and then from the command line:
aws sts assume-role --role-arn $ROLE_ARN --role-session-name 'MyTestSession'
then put these into aws/credentials like above and set up a config profile that points to them and the same ROLE_ARN
testing from the command line like
aws s3api list-buckets --profile 999
would confirm the credentials work and then attempt to use that same profile in the plugin.
Expected behavior
Environment information:
courtesy of ChatGPT:
#!/bin/bash
# Specify your AWS profile name
AWS_PROFILE="your_profile_name"
# Specify the ARN of the IAM role you want to assume
ROLE_ARN="arn:aws:iam::123456789012:role/YourRoleName"
# Specify the session name for the assumed role session
SESSION_NAME="TemporarySession"
# Execute AWS CLI command to assume the role and get temporary credentials
TEMP_CREDENTIALS=$(aws sts assume-role --role-arn $ROLE_ARN --role-session-name $SESSION_NAME)
# Extract temporary credentials from the output
ACCESS_KEY=$(echo $TEMP_CREDENTIALS | jq -r '.Credentials.AccessKeyId')
SECRET_KEY=$(echo $TEMP_CREDENTIALS | jq -r '.Credentials.SecretAccessKey')
SESSION_TOKEN=$(echo $TEMP_CREDENTIALS | jq -r '.Credentials.SessionToken')
# Update the AWS credentials file with the temporary credentials
aws configure set aws_access_key_id $ACCESS_KEY --profile $AWS_PROFILE
aws configure set aws_secret_access_key $SECRET_KEY --profile $AWS_PROFILE
aws configure set aws_session_token $SESSION_TOKEN --profile $AWS_PROFILE
echo "Temporary credentials have been generated and updated in the AWS credentials file."
Inserting or updating data with unicode like German 'ä' results in an error.
Cannot connect with an AWS account with a profile using credential_process (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html).
I tried the authentication type "Profile from credentials file".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.